I have ‘inherited’ :cry: code that has some declarations between _C_STD_BEGIN and _C_STD_END statements. It appears that the compiler is ignoring those declarations. What do the C_STD… statements mean? Is there a list somewhere of these directives and what they mean?


It’s a macro that does extern “C” { };

It’s usually ignore by C compiler and is use to tell a C++ compiler not to use name mangling .

Thank you; now it makes sense! :slight_smile:

Are you aware of any listings or documentation of commonly used macros? I’m sure I’ll be running into more…


Sorry no. When I encounter something like this I do a grep on /usr/include ;-)