API-Code der Zend-Engine lesen:Was bedeutet ## (doppelter Hash)?

API-Code der Zend-Engine lesen:Was bedeutet ## (doppelter Hash)?


Aus Neugierde lese ich den API-Code der Zend Engine und bin auf eine ganze Reihe von ## in ihren #define's gestoßen. Zum Beispiel unter /usr/lib/php5/Zend/zend_API.h:


#define ZEND_FN(name) zif_##name
#define ZEND_MN(name) zim_##name

Was bedeuten die ##-Symbole (Doppelkreuz) in diesen beiden Zeilen?


Antworten:


Das ## verkettet das, was vor dem ## steht, mit dem, was danach steht. In Ihrem Beispiel also ZEND_FN(foo) würde zu zif_foo führen