Q
#號作爲目標C
1
A
回答
1
它們是preprocessor directives
。預處理器指令是包含在我們程序代碼中的行,它們不是程序語句,而是預處理程序的指令。這些行總是以散列符號(#)
開頭。預處理器在實際編譯代碼開始之前執行,因此預處理器在任何代碼由語句生成之前將所有這些指令摘要。
這些預處理指令只在單行代碼中擴展。只要找到換行符,預處理器指令就會結束。在預處理器指令結束時,預計不會有分號(;)。預處理器指令可以通過多行來擴展的唯一方法是在行尾使用反斜槓()作爲換行符。
對於更詳細地參閱Preprocessor directives和Using Objective-C Preprocessor Directives
2
他們是C預處理指令。 http://en.wikipedia.org/wiki/C_preprocessor
0
正如其他人提及的,與#前綴的標籤是指令作用於導致在那張要編譯的代碼的變形例的預處理器。更具體地說,您呈現的示例與條件編譯有關。一個常見的用途的情況下所涉及的是DEBUG編譯與RELEASE模式,其中選擇的代碼將被包括或由預處理器排除如下:
#define DEBUG
#ifdef DEBUG
// block of codes goes here - only survives preprocessing if in DEBUG mode
#endif
在這種情況下,代碼可以記錄一個輸出消息或執行一些其他動作你只想在DEBUG模式下進行。如果你想在DEBUG模式下編譯,你可以定義DEBUG;否則,你簡單地評論一下。或者,DEBUG的定義可以用編譯器開關來執行。對此的進一步討論以及對調試模式條件編譯的預處理器的使用一般請參見問題987637/define-debug-1。
相關問題
- 1. 目標C中的插入符號C
- 2. 在目標C中使用'^'符號C
- 3. 使用titleForState和initWithFormat作爲目標c
- 4. 目標C,無法爲POST操作
- 5. std :: unique_ptr作爲@property在目標c中
- 6. xml post作爲目標參數C
- 7. AI爲目標C
- 8. 號碼作爲標識符
- 9. 目標C與目標C++
- 10. 目標c宏不工作
- 11. createDirectoryAtPath不工作 - 目標C
- 12. 目標C,數組操作
- 13. NSUrlRequest不工作目標C
- 14. 什麼是目標C方法(^)符號
- 15. 如何將兩個括號目標C
- 16. 目標-C中的星號用法
- 17. 目標C轉換號碼的NSNumber
- 18. 目標中不常用的符號C
- 19. 如何將南北方向轉換爲+或 - 符號目標c
- 20. 將號碼轉換爲目標C中的數字
- 21. 轉換java函數(驗證銀行帳號)爲目標c
- 22. 目標C塊變爲無
- 23. 爲什麼@目標C
- 24. 目標c GPS座標不起作用
- 25. 在目標C中使用屬性作爲計數C
- 26. cp命令覆蓋作爲符號鏈接的目標文件
- 27. Verilog:errors.Invalid使用輸入信號<ck>作爲目標
- 28. 目標C等效爲CopyTo從在C#
- 29. 從目標C代碼轉換爲C#
- 30. 目標C++調用目標C