¿Es posible decirle al C preprocesador para comprobar si se declara una función (no una macro)? He intentado lo siguiente, pero no parece funcionar:Verifique si la función se declara con el preprocesador C?
#include <stdio.h>
int main(void)
{
#if defined(printf)
printf("You support printf!\n");
#else
puts("Either you don't support printf, or this test doesn't work.");
#endif
return 0;
}
Estoy muy interesado en el motivo de esto. Las librerías con las que está trabajando deben ser coherentes, para retomar su ejemplo: no habrá una stdio.h sin printf y si printf puede ser eliminado en un futuro lejano, no sabrá ahora cómo va la sustitución ser llamado. – flokra
Estoy pensando que no es para printf específicamente, simplemente cualquier nombre de función. Pero, si quieres saber si las funciones están ahí, solo llámalo - el error del compilador te dirá :-) – paxdiablo
Mi principal incentivo fue verificar funciones como bcopy() o arc4random() (al escribir programas multiplataforma) , que no siempre están definidos. – Michael