Как выполнить функцию, если она определена в C

#c 11

Вопрос:

Есть ли какой-нибудь способ сделать это

main.cpp

 #DEFINE DEBUG
int main(){}
 

заголовок.h

 #ifdef DEBUG
Welcome()
#endif  
void Welcome(){
     std::cout<<"Welcome To Debug" <<std::endl;
}
 

Комментарии:

1. Не совсем — единицы перевода (они же файлы .cpp) полностью независимы и не будут делиться #define . Однако вы могли бы добавить -DDEBUG при построении.

2. Также обратите внимание, что если вы хотите связать это #define с вашим типом сборки, ваш компилятор, вероятно, уже определяет NDEBUG в сборках выпуска.

3. ^^^^ Да. Вы можете сделать что-то вроде этого: wandbox.org/permlink/2RHEMmIOsWiMqnn9 wandbox.org/permlink/TpFjnBInGfkNx6k6 ), если вы это имели в виду.