我在寫代碼,取決於是否包含頭文件。如果包含該文件,我想要某些添加的功能。有沒有辦法做到這一點,也許有#if?使用C btw是否可以添加代碼的某些部分,具體取決於頭文件是否定義在C中?
1
A
回答
4
只是#define
該標題中的一個符號並在以後使用#ifdef
。
header.h
#define HAVE_IPV6
some_file.c
#ifdef HAVE_IPV6
/* code */
#endif
+0
還有使用#include的問題。我的程序並不知道頭文件是否存在,所以我需要在#include中進行某種檢查,否則當它沒有被定義時會出錯。 – user1429039
0
通常與C頭使用的一種技術被稱爲包括警衛。主要目的是防止頭文件的多重包含,但它們也可以用來滿足您的需要。
包含防護措施涉及在項目的每個頭文件中測試並有條件地設置預處理常量,這對於特定頭文件是唯一的。爲了達到這個目的,每個標題被包裝在一個#ifndef/#endif
塊中。
例子:
MyHeader1.h
#ifndef MY_HEADER_1_H
#define MY_HEADER_1_H
// header file contents...
#endif // MY_HEADER_1_H
MyHeader2.h
#ifndef MY_HEADER_2_H
#define MY_HEADER_2_H
// header file contents...
#endif // MY_HEADER_2_H
在你的情況,你現在可以在你的代碼的其他地方測試列入任何特定的頭文件,例如#ifdef MY_HEADER_1_H
相關問題
- 1. 是否可以加密faces-config文件的某些部分?
- 2. 是否可以將.NET代碼(部分)添加到WordPress網站?
- 3. 是否可以按某些值分組?
- 4. 是否可以在離子中添加目標c代碼?
- 5. 是否可以在web.config中添加響應http頭文件?
- 6. 是否可以添加自定義的元數據文件
- 7. 是否可以在IPA中定義外部配置文件?
- 8. 在PonyORM中是否可以拆分實體的定義?
- 9. 是否可以在tinymce工具欄中添加自定義文本?
- 10. 是否可以在PHP中包含/需要部分代碼的文件?
- 11. 是否可以將css添加到頁面的特定部分?
- 12. 是否可以使用某些項目設置或makefile選項將一些宏定義到頭文件中?
- 13. 是否可以在html中添加一個或多個部分
- 14. 是否可以在表中添加自定義的計算行?
- 15. 是否可以判斷某個javascript代碼是否調用特定的函數?
- 16. 是否可以使用libgit2將文件的某些部分添加到Git索引?
- 17. 單個ascx頁面是否可以使用多個代碼文件,這些代碼文件是局部類別
- 18. 是否可以在CSS代碼中添加HTML?
- 19. 是否可以在javascript中添加瀏覽器代碼
- 20. 是否可以在此代碼中添加3張照片?
- 21. 是否可以重寫某些參數定義屬性?
- 22. 更好的代碼,以查看是否python.email.message.Message部分是附件
- 23. 是否可以讀取鎖定文件?
- 24. 是否可以將我的自定義控件添加到xcode
- 25. 是否可以從簽入(TFS)中排除某些文件?
- 26. 是否可以使圖像的某些部分在HTML5/CSS中透明
- 27. 是否可以在Resharper的代碼清理配置文件中添加自定義設置?
- 28. 是否可以在觀星者中添加自定義列?
- 29. 是否可以在String類中添加自定義方法?
- 30. 是否有可能以某種方式在Wordpress中添加特定於單個頁面小部件的數據?
使用define和ifdef檢出。 –