[英]Switching between macro or function
我有三個文件。
Teacher.c已提供給我,不能以任何方式更改,另外兩個文件由我編碼。
Teacher.c具有main()函數,並包含ass3.h。
ass3.c還包括ass3.h。 teacher.c呼吁在ass3.c功能。
該程序有效,但我需要添加其他功能。
我需要為用戶添加指定用戶是否要使用宏或函數的功能(稱為isAvail() )。 現在,該程序只能使用isAvail()函數運行。
我該如何實施呢? 要求的摘錄是:
“使用條件處理將isAvail()作為函數和宏擴展(宏)實現,用戶可以在編譯后的代碼中選擇宏還是函數。如果定義了IS_AVAIL (宏名)名稱,則應使用宏,如果未定義IS_AVAIL名稱,應使用該功能”
同樣,請記住,我只能更改Ass3.c和Ass3.h。
請指出正確的方向,如果可以的話,請您舉一個例子。 如果我需要添加更多詳細信息,請原諒。
謝謝。
只需檢查IS_AVAIL
是否定義為這樣
#ifdef IS_AVAIL
#define isAvail() MACRO_DEFINITION_HERE
#else
int isAvail(void) {return ?;}
#endif
在?
是該函數應返回的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.