2011-02-15 66 views
1

發生了一些奇怪的事情。奇怪的預處理

我在我的代碼在本地函數

#ifdef abc 
. 
. 
. 
#endif 

當我寫在文件上

#define abc 

,如果它沒有被定義它的行爲的頂部。只有當我定義了

#define abc 

在本地函數本身它讀取ifdef中的代碼。

這很奇怪,因爲我認爲編譯器只是越過整個文件沒有的功能改變#預處理命令的詳細信息。無法理解發生了什麼。我使用視覺工作室2005年

回答

10

也許你之前的#include「stdafx.h中」有#定義。這被忽略。

+0

你是對的。非常感謝,它現在有效 – 2011-02-15 10:23:59

0

我想你在運行版本的樣品mode.so一些代碼塊無法在發佈執行mode.what你抄造線和粘貼的地方,這樣它的作品。

以前的答案是不正確的。