While I'm on an interview the interviewer asked me are there any other usage of pragmapack() in C apart from structure packing? So I answered that I don't know apart from structure packing. So are there any other usage of it?
Does pragmapack() in C programming have any usage apart from structure packing?
103 Views Asked by Meganathan At
1
There are 1 best solutions below
Related Questions in C
- Passing arguments to main in C using Eclipse
- kernel module does not print packet info
- error C2016 (C requires that a struct or union has at least one member) and structs typedefs
- Drawing with ncurses, sockets and fork
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- Configured TTL for A record(s) backing CNAME records
- Allocating memory for pointers inside structures in functions
- Finding articulation point of undirected graph by DFS
- C first fgets() is being skipped while the second runs
- C std library don't appear to be linked in object file
- gcc static library compilation
- How to do a case-insensitive string comparison?
- C programming: Create and write 2D array of files as function
- How to read a file then store to array and then print?
- Function timeouts in C and thread
Related Questions in GENERIC-PROGRAMMING
- Creating a generic reusable function with implicit and types in Scala
- Why i am getting Segfault in below program for pointer but not for array?
- How to write a pretty-printer for std::list<*> in C++?
- Confused about returns in stack template
- Generic Cuda function - Template & Cuda - c++
- Pass Action<.., .., T > as Parameter without a predefined number of action parameters
- Verilog: Is there a way to make a generalized adder (variable width/number of inputs)?
- Extract Generic Type T from HashMap
- c++ call template constructor to instantiate
- Type safe type combinations with shapeless
- If I find myself defining a Component class and a ComponentInstance class, am I doing something wrong?
- How to get a class's attributes and map them to .csv headers in a generic way?
- Scala: Multiple type parameters for implicit class
- redefinition of default argument for class<template-parameter-1-2>
- what does int cannot be dereferenced mean here
Related Questions in STRUCTURE-PACKING
- Reinterpret struct with members of the same type as an array in a standard compliant way
- how size of a structure varies with different data types
- Extra bytes when declaring a member of a struct as uint32_t
- How to deal with alignment skew when storing a structure in a byte buffer?
- size and alignment of int bitfields
- In the directive, #pragma pack(n), which values are valid values of n?
- C++ struct size: 2+4+2+2+4 = 16
- size of struct in C
- size of a structure containing bit fields
- sizeof(struct) weird output in C++
- GCC end-aligned structure
- Sizeof operator returns incorrect size?
- Size of structure with a char, a double, an int and a t
- C++ question , how can I see the default value of packing
- Does pragmapack() in C programming have any usage apart from structure packing?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
is a preprocessor directive used for altering structure padding schemes. Usually a structure adds padding bytes between it's members to speed up the memory fetch operations. the number of padding bytes it used is depends on machine architecture. for example,
When we see the above structure it requires only 9 bytes ( 4 + 1 + 4) to hold members a, b and c, but for a 32 bit architecture, a variable of this structure takes 16 bytes (4 + 4 + 4) of memory. even though char b only requires 1 byte, it takes 4 bytes 1 for storing value of b and other three as padding bytes.
we can forcefully assign padding size using preprocessor directive
#pragma pack(size),sizeshould be a power of 2 less than the word_size of machine architecture.If we use like
for the above structure then the total amount of memory required for holding a variable of type
struct samplewill be (4 + 1 + 4) 9 bytes.