Sto cercando di trovare tutti i posti in cui #include
è inserito all'interno del blocco extern
C. È possibile controllarlo usando il preprocessore? Vorrei fare aggiungere qualcosa di simile ai miei file di intestazione:Come rilevare che l'extern "C" è in vigore
#ifdef EXTERN_C_IS_IN_EFFECT
#error File included from extern "C" block!
#endif
Sto anche cercando altri modi per fallire la compilazione in tal caso, ad esempio, usa qualche attributo speciale. Sto usando gcc 4.4.7.
ho definito macro riportata di seguito e quindi utilizzarlo in ogni colpo di testa che ha bisogno di protezione contro l'inclusione nella extern
C blocco:
#define ASSERT_NO_EXTERN_C void assert_no_extern_c(int); void assert_no_extern_c(double);
'extern' non viene notato dal preprocessore. –
Se è necessario trovare tutti i file in cui è presente un "C" extern, è possibile eseguire il progetto del codice con tutti i file da cercare nel proprio IDE preferito e eseguire una ricerca in tutto il progetto/soluzione/... – Incubbus
@ πάνταῥεῖ Hm. '#define extern static'? –