What is #pragma directive?how it is used in the program?
what is its advantages and disadvantages?
Answers were Sorted based on User's Feedback
Answer / kapil thakar
#pragma is used to give specific instruction to compiler...
like used only reg bank 3..
then
#pragma BANK_3
used be witten in ur code..
another example..
#pragma worning_3
display worning upto level 3
There are many more pragma dependent on compiler ...
Is This Answer Correct ? | 3 Yes | 0 No |
Answer / gg
See may help you some how....Answer with more clarity will
be appreciable.....
#pragma .... are documented in the GCC manual as follows.
#pragma GCC dependency
#pragma GCC dependency allows you to check the relative
dates of the current file and another file. If the other
file is more recent than the current file, a warning is
issued. This is useful if the current file is derived from
the other file, and should be regenerated. The other file is
searched for using the normal include search path. Optional
trailing text can be used to give more information in the
warning message.
#pragma GCC dependency "parse.y"
#pragma GCC dependency "/usr/include/time.h"
rerun fixincludes
#pragma GCC poison
Sometimes, there is an identifier that you want to
remove completely from your program, and make sure that it
never creeps back in. To enforce this, you can poison the
identifier with this pragma. #pragma GCC poison is followed
by a list of identifiers to poison. If any of those
identifiers appears anywhere in the source after the
directive, it is a hard error. For example,
#pragma GCC poison printf sprintf fprintf
sprintf(some_string, "hello");
will produce an error.
If a poisoned identifier appears as part of the
expansion of a macro which was defined before the identifier
was poisoned, it will not cause an error. This lets you
poison an identifier without worrying about system headers
defining macros that use it.
For example,
#define strrchr rindex
#pragma GCC poison rindex
strrchr(some_string, 'h');
will not produce an error.
#pragma GCC system_header
This pragma takes no arguments. It causes the rest of
the code in the current file to be treated as if it came
from a system header
Is This Answer Correct ? | 0 Yes | 1 No |
Explain is it better to bitshift a value than to multiply by 2?
Explain the difference between malloc() and calloc() function?
How many main () function we can have in a project?
Is c easy to learn?
why programs in c are running with out #include<stdio.h>? some warnings are display in terminal but we execute the program we get answer why? eg: main() { printf("hello world "); }
How can you return multiple values from a function?
In header files whether functions are declared or defined?
What is the value of a[3] if integer a[] = {5,4,3,2,1}?
how to set Nth bit of a variable?
How to write in a function declaration and in function call in which the function has 'n' number of varible or arguments?
who did come first hen or agg
Illustrate it summing the series 2+4+6+......to n terms using (i) while loop (ii) do-while loop