encriptar - password_bcrypt in php
Leyendo el código API de Zend Engine: ¿Qué significa##(doble hash)? (3)
El ## concatena lo que está antes del ## con lo que está detrás de él. Entonces en tu ejemplo, hacer ZEND_FN(foo)
resultaría en zif_foo
Por curiosidad, estoy leyendo el código API de Zend Engine y encontré una gran cantidad de ## en su # define. Por ejemplo, en /usr/lib/php5/Zend/zend_API.h:
#define ZEND_FN(name) zif_##name
#define ZEND_MN(name) zim_##name
¿Qué significan los símbolos ## (hash doble) en estas dos líneas?
La respuesta de Echo RvV.
Tenga en cuenta que al concatenar cadenas literales puede encontrar algunas inconsistencias entre los procesadores / compiladores. Algunos requerirán el ##
#define STR_CAT(s1, s2) s1 ## s2
como en
const char s[] = STR_CAT("concat", "enation")
mientras que otros se opondrán a ello, y en su lugar solo requieren que los dos literales se unan al compilador (a diferencia del preprocesador), por lo que requerirá
#define STR_CAT(s1, s2) s1 s2
HTH