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



What is #pragma directive?how it is used in the program? what is its advantages and disadvantages?..

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

What is #pragma directive?how it is used in the program? what is its advantages and disadvantages?..

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

Post New Answer

More C Interview Questions

Explain is it better to bitshift a value than to multiply by 2?

0 Answers  


Explain the difference between malloc() and calloc() function?

0 Answers  


How many main () function we can have in a project?

0 Answers  


Is c easy to learn?

0 Answers  


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 "); }

0 Answers  






How can you return multiple values from a function?

0 Answers  


In header files whether functions are declared or defined?

1 Answers   TCS,


What is the value of a[3] if integer a[] = {5,4,3,2,1}?

0 Answers  


how to set Nth bit of a variable?

1 Answers  


How to write in a function declaration and in function call in which the function has 'n' number of varible or arguments?

2 Answers  


who did come first hen or agg

15 Answers   Infosys,


 Illustrate it   summing the series 2+4+6+......to n terms using  (i) while loop (ii) do-while loop

2 Answers  


Categories