passwordhash password_bcrypt password encriptar contraseñas contraseña c php-internals

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