簡體   English   中英

在宏或功能之間切換

[英]Switching between macro or function

我有三個文件。

  1. 屁股3
  2. 屁股3
  3. 老師

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM