2009-03-17 2 views

risposta

30

Il ## concatena ciò che precede il ## con quello che viene dopo. Quindi nel tuo esempio facendo ZEND_FN(foo) si tradurrebbe in risposta di zif_foo

6

Echo RVV.

Tenere presente che quando si concatenano stringhe letterali si possono trovare alcune incongruenze tra pre-processori/compilatori. Alcune richiederanno il ##

#define STR_CAT(s1, s2) s1 ## s2 

come in

const char s[] = STR_CAT("concat", "enation") 

che altro sarà esitano a esso, e invece solo richiedono che i due letterali saranno affiancati dal compilatore (in contrapposizione alla pre- processore), quindi richiederà

#define STR_CAT(s1, s2) s1 s2 

HTH