標籤:data- png ntc ott 字元 rpo pointer span wchar_t
VS2010中屬性頁面中,C/C++ -->前置處理器定義時間:2017-01-01 20:40:42 閱讀:117 評論:0 收藏:0 [點我收藏+]
標籤:img c/c++ 實現 win32 sdn else 就會 ifdef mage
如中,在這裡,WIN32、_DEBUGE、_UNICODE等其實是一些宏定義,在這裡寫上這些,相當於在本工程所有的檔案中都寫上了:
#define WIN32#define _DEBUG
#define _UNICODE
這樣,就可以達到一個多一個同一個代碼在不同的配置環境在編譯的結果檔案不一樣,從而實現跨平台。比如,在VC中,因為要有的環境是UNICODE,有些則不是,同一份代碼為了在兩種環境下都可以用,那麼就會有以下宏定義(其實這就是twhar.h中的代碼):
#ifdef _UNICODEtypedef wchar_t TCHAR;#define __T(x) L##x#define _T(x) __T(x)#else#define __T(x) xtypedef char TCHAR;#endif
那麼,當你的環境中寫了UNICODE時,這一段就會編譯:
#define __T(x) L##x#define _T(x) __T(x)
如果沒有寫UNICODE,那麼上面這段就不編譯,而是下面這段被編譯:
#define __T(x) x
這樣,只要你的字串用了_T("somechar"),那麼,在有UNICODE的時候,就是L"somechar";在沒有UNICODE在時候,就是它本身"somechar"了。
可以參考下這個:http://blog.csdn.net/xiliang_pan/article/details/7081395
VS2010中屬性頁面中,C/C++ -->前置處理器定義
標籤:img c/c++ 實現 win32 sdn else 就會 ifdef mage
原文:http://www.cnblogs.com/JMLiu/p/6241427.html
[轉]VS2010中屬性頁面中,C/C++ -->前置處理器定義