當前位置:首頁 » 編程軟體 » 如何編譯mfc文件

如何編譯mfc文件

發布時間: 2023-11-20 05:58:10

① 什麼是預編譯 何時需要預編譯 mfc面試

預編譯又稱為預處理,是做些代碼文本的替換工作

預編譯又稱為預處理,是做些代碼文本的替換工作

處理#開頭的指令,比如拷貝#include包含的文件代碼,#define宏定義的替換,條件編譯等

就是為編譯做的預備工作的階段

主要處理#開始的預編譯指令

預編譯指令指示了在程序正式編譯前就由編譯器進行的操作,可以放在程序中的任何位置。常見的預編譯指令有:

(1)#include 指令

該指令指示編譯器將xxx.xxx文件的全部內容插入此處。若用<>括起文件則在系統的INCLUDE目錄中尋找文件,若用" "括起文件則在當前目錄中尋找文件。一般來說,該文件是後綴名為"h"或"cpp"的頭文件。

注意:<>不會在當前目錄下搜索頭文件,如果我們不用<>而用""把頭文件名擴起,其意義為在先在當前目錄下搜索頭文件,再在系統默認目錄下搜索。

(2)#define指令

該指令有三種用法:

第一種是定義標識,標識有效范圍為整個程序,形如#define XXX,常與#if配合使用;

第二種是定義常數,如#define max 100,則max代表100(這種情況下使用const定義常數更好,原因見注1);

第三種是定義"函數",如#define get_max(a, b) ((a)>(b)?(a):(b)) 則以後使用get_max(x,y)就可以得到x和y中較大的數(這種方法存在一些弊病,見注2)。

第四種是定義"宏函數",如#define GEN_FUN(type) type max_##type(type a,type b){return a>b?a:b;} ,使用時,用GEN_FUN(int),則此處預編譯後就變成了 max_int(int a,int b){return a>b?a:b;},以後就可以使用max_int(x,y)就可以得到x和y中較大的數.比第三種,增加了類型的說明。

(3)#if、#else和#endif指令

這些指令一般這樣配合使用:

#if defined(標識) //如果定義了標識

要執行的指令

#else

要執行的指令

#endif

在頭文件中為了避免重復調用(比如說兩個頭文件互相包含對方),常採用這樣的結構:

#if !(defined XXX) //XXX為一個在你的程序中唯一的標識符,

//每個頭文件的標識符都不應相同。

//起標識符的常見方法是若頭文件名為"abc.h"

//則標識為"abc_h"

#define XXX

真正的內容,如函數聲明之類

#endif

② 支持MFC的編譯器只有VC++6.0和vs嗎

支持MFC的編譯器有VC++(不一定要是6.0版的),還有新版的Borland C++

舊版的 Borland C++ 不支持 MFC ,但是新版的 Borland C++ 支持 MFC 。

所有版本的 VC(從 Visual C++ 1.0 到 Visual C++ 6.0)和 VC.NET(從 Visual C++ 2003 到 Visual C++ 2010 ),全部都支持 MFC 。

③ VS2013新建了個MFC應用程序,新建好編譯就出現問題,我沒修改任何數據,求助

參考warning D9025: 正在重寫「/D_DEBUG」(用「/U_DEBUG」)的錯誤。的解決思路
在 Visual Studio 開發環境中設置此編譯器選項
打開該項目的「屬性頁」對話框。有關詳細信息,請參見如何:打開項目屬性頁。
單擊「C/C++」文件夾

單擊「預處理器」屬性頁。

修改「取消預處理器定義」屬性。
_DEBUG修改成 U_DEBUG即可
_DEBUG;%()變成U_DEBUG;%()
https://msdn.microsoft.com/zh-cn/library/hhzbb5c8(v=vs.80).aspx

④ MFC程序是怎麼編譯的

mfc已經做成了dll,可以動態鏈接。也有靜態鏈接版本的。

熱點內容
安卓平板的管理工具在哪裡 發布:2024-11-17 20:21:48 瀏覽:522
淘寶整機怎麼配置 發布:2024-11-17 20:21:05 瀏覽:291
linux如何安裝源碼包 發布:2024-11-17 20:15:40 瀏覽:198
航宇編程 發布:2024-11-17 20:14:06 瀏覽:591
175平台伺服器搭建 發布:2024-11-17 19:24:36 瀏覽:559
win7旗艦版sql2005 發布:2024-11-17 19:18:22 瀏覽:658
伺服器如何改成實例 發布:2024-11-17 19:16:08 瀏覽:96
cc中怎麼編譯運行程序 發布:2024-11-17 19:16:03 瀏覽:242
易語言數據存儲 發布:2024-11-17 19:00:22 瀏覽:856
網站怎麼看伺服器ip 發布:2024-11-17 18:58:48 瀏覽:630