All #pragma are dependent on the compiler, and the compiler must ignore any that it does not recognize (ISO-9899: 2011, s6.10.6: "Any such pragma that is not recognized by the implementation is ignored."). This is why your program compiles successfully.
Functions A and B not called because ... you do not call them. I apologize if you understand this very well, but: the C program is executed by calling the main function. If you want functions A and B called, you must do this in the main function.
(In fact, the latest versions of the C standard introduced a small number of STDC STDC , the implementation of which must be recognized, but this does not have a significant impact on the answer)
source share