條件編譯設置
1. MDK或KEIL怎麼設置條件編譯時的背景顏色
Edit -> Configuration -> Colors & Fints 這里可以設置字體 背景色 關鍵字等的顏色。
Keil介紹、下載、安裝與注冊:
http://blog.csdn.net/ybhuangfugui/article/details/51501781
Keil的使用方法(匯總):
http://www.cnblogs.com/strongerHuang/p/5839141.html
2. c語言程序設計 條件編譯
條件編譯
#if 條件表達式
語句一;
#else
語句二;
#endif
當 條件表達式 為真時,執行語句一,否則執行語句二。
很明顯你的語句中 LETTER 為 1,也就會執行
if(ch>='a' && ch<='z')
ch-=32;
而不會執行else 那部分了。
3. C++中怎樣用條件編譯防止多文件重復編譯!
假設頭文件為test.h方法一: test.h最上面加上 #pragma once方法二: test.h中上面加上 #ifndef __H_TEST_ #define __H_TEST_中間加上你之前的代碼,主要是方法的聲明,比如 int Add(int a, int b);.....最後面加上 #endif
4. 條件編譯
所謂條件編譯 是在程序執行之前就完成的
你的條件 在程序運行之前 能知道UP(ch)的值嗎
不能
你的if條件是 ch>='A'&&ch<='Z'
編譯時只能認為是一個字元串,此時走else分支,這個我剛才驗證了好多次
你修改成#define UP(ch) 1 再試試 就走if分支了
解決方案 呵呵 不要使用條件編譯
不要把簡單的問題搞復雜
當然也不排除你在驗證條件編譯
5. C語言中條件編譯的作用
條件編譯屬於三種宏定義中的一種,條件指示符的最主要目的是防止頭文件的重復包含和編譯,例如:一個c文件包含同一個h文件多次,如果不加#ifndef宏定義,會出現變數重復定義的錯誤
條件編譯常用的有四個預處理命令:#if、#else、#elif、#endif。
#if指令的形式為:
#if常量表達式
代碼塊
#endif
#if後面的常量表達式為值,則編譯它與#endif之間的代碼,否則跳過這些代碼。指令#endif標識一個#if塊的結束。
#else被使用來標志#if的末尾和#else塊的開始。這是必須的,因為任何#if僅有一個#endif與之關聯。
#elif意指"else if",它形成一個if else if嵌套語句用於多種編譯選擇。#elif後面跟一個常量表達式,如果表達式是真,則編譯其後的代碼塊,不對其他#elif表達式進行檢測,否則順序測試下一塊。常見的形式如下:
形式1:
#ifdef標識符
/*程序段1*/
#else
/*程序段2*/
#endif
它的作用是當標識符已經由#define定義過了,則編譯程序段1,否則編譯程序段2,也可以使用簡單形式
#ifdef標識符
/*程序段1*/
#endif
形式2:
#ifndef標識符
#define標識符
/*程序段1*/
#else
/*程序段2*/
#endif
它的作用是當標識符沒有由#define定義過,則編譯程序段1,否則編譯程序段2 ,也可以使用簡單形式
#ifndef標識符
#define標識符
/*程序段1*/
#endif
形式3:
#if表達式
/*程序段1*/
#else
*程序段2*/
#endif
它的作用是 當「表達式」值為真時編譯程序段1。否則則編譯程序段2,也可以使用簡單形式
#if表達式
/*程序段1*/
#endif
形式4:
#if表達式1
/*程序段1*/
#elif表達式2
/*程序段2*/
............
#elif表達式n
/*程序段n*/
#endif
它的作用是當「表達式1」值為1時編譯程序段1,表達式2的值為真是編譯程序段2,否則依次順序判斷到表達式n。
最後,條件編譯的條件是一個常量表達式,支持邏輯與&&和或||運算。以上四種形式的條件編譯預處理結構都可以嵌套使用,
標識符: 在理論上來說可以是自由命名的,但每個頭文件的這個標識符都應該是唯一的。標識的命名規則一般是頭文件名全大寫,前後加下劃線,並把文件名中的「.」也變成下劃線,如:stdio.h。
#ifndef_STDIO_H_
#define_STDIO_H_
/*程序段*/
#endif
6. C#條件編譯
條件編譯指令用於按條件包含或排除源文件中的某些部分。
按照語法的規定,條件編譯指令必須寫成集的形式,集的組成依次為:一個 #if 指令、一個或多個 #elif 指令(或沒有)、一個或多個#else 指令(或沒有)和一個 #endif 指令。指令之間是源代碼的條件節。每節代碼直接位於它前面的那個指令控制。條件節本身可以包含嵌套的條件編譯指令,前提是這些指令構成完整的指令集。
#define或#undef必須定義在所有using 命名空間前面.#define類型為布爾值的真,#undef為布爾值的假.
C#為此提出了一種更好的選擇:Conditional特性。使用Conditional特性,我們可以將一些函數隔離出來,使得它們只有在定義了某些環境變數或者設置了某個值之後才能發揮作用。Conditional特性最常用的地方就是將代碼改編為調試語句。.NET框架已經為此提供了相關的功能支持。下