我有以下Ç代碼:GCC函數調用錯誤
#ifdef _MODE_DEBUG
void program_exit(void){
#else
void program_exit(const unsigned char* fileName, unsigned int lineNumber){
printf("The program was called to terminate early from file \"%s\" line %u", fileName, lineNumber);
#endif
//We have to call cleanup() wherever possible.
arguments_cleanup(void);
exit(1);
}
哪些應該動態地提供代碼的預編譯的版本只有一個功能,這取決於_MODE_DEBUG是否定義或沒有。但是,GCC在調用arguments_cleanup之前會抱怨它期待各種標記。爲什麼GCC不認爲這是一個有效的功能,或爲什麼這是無效的?
而你如何調用這個函數呢? – StoryTeller
每當發生錯誤時我都會調用它,函數原型是以類似的方式定義的。我會使用EXIT()來調用它,其中一個宏改變爲任何必需的(取決於_MODE_DEBUG) –