Lettura del codice API di Zend Engine:cosa significa ## (doppio hash)?
Per curiosità, sto leggendo il codice API di Zend Engine e ho riscontrato un certo numero di ## nei loro #define. Ad esempio, in /usr/lib/php5/Zend/zend_API.h:
#define ZEND_FN(name) zif_##name
#define ZEND_MN(name) zim_##name
Cosa significano i simboli ## (doppio hash) in queste due righe?
Risposte:
Il ## concatena ciò che è prima del ## con ciò che è dopo. Quindi nel tuo esempio facendo ZEND_FN(foo)
risulterebbe in zif_foo