a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學院 > 編程設計 > 正文

把其他C/C++編譯器集成到VC2005中的方法

2020-07-14 13:39:30
字體:
來源:轉載
供稿:網友
IIC這樣的編譯器安裝之后會自動集成進來,要集成其他編譯器那還得自己動手。另外,在VC2005IDE中是不能編譯單個.cpp文件的,除非把它放在工程中。但是,我們可以通過調用外部工具實現編譯單文件。下面介紹一種簡單的方法。
cl.exe添加到外部工具的方法這里就不介紹了,大家參照下面添加gcc的方法,再查閱cl.exe的參數說明,就能試著添加進來。下面以調用g++為例說明如何編譯.cpp文件。如果要編譯單個.c文件,使用gcc即可,方法同理。

一、獲取Windows版的GNU C++Compiler(g++)
你可以通過安裝Cygwin或者MinGW來獲得g++ for Windows。以MinGW為例,我們可以下載Dev C++。安裝Dev C++的同時就安裝了MinGW,其中包含了g++
假設Dev C++安裝在D:/Dev-Cpp目錄下。

二、編譯器參數的設定
下面我們在VC2005的菜單點擊“工具(Tools)->外部工具(External Tools)->添加(Add)”。分別填入:
標題(Title):GNU C++Compiler
命令(Command):D:/Dev-Cpp/bin/g++.exe
參數(Arguments):-Wall-o$(ItemFileName)$(ItemFileName)$(ItemExt)-time
初始目錄(Initial directory):$(ItemDir)
再鉤選下面的"使用輸出窗口(Use Output window)".
說明:如果你已經把D:/Dev-Cpp/bin/目錄添加到系統環境變量中,那么Command指定為g++.exe即可。Cygwin同理。這些參數只是一個參考。你可以查閱VC編譯器的宏設置你需要的參數。
干脆順帶補充一下Digital Mars C++編譯器的參考參數設置:
標題(Title):Digital Mars
命令(Command):C:/dm/bin/dmc.exe
參數(Arguments):$(ItemFileName)$(ItemFileName)$(ItemExt)
初始目錄(Initial directory):$(ItemDir)

三、編譯
下面切換到main函數所在文件,點擊工具(Tools)菜單下的“GNU C++Compiler”開始編譯。
注意:g++此時編譯的是純C++程序,對于包含int_tmain(int argc,_TCHAR*argv[])這類VC特有的C++程序自然是無法通過編譯的。
如果編譯沒有出錯,對于早期版本的g++而言,Output window是沒有任何輸出的。而對于較新版本的g++,將輸出類似以下的信息:
#cc1plus 0.67 0.22
#as 0.05 0.01
#collect2 0.36 0.19
這是-time報告的編譯過程中每個子過程所占用的CPU時間。當然,你還可以更改編譯參數,使輸出窗口輸出其他編譯信息。

四、運行參數設定
我們還可以通過添加外部工具來實現運行g++生成的程序的功能。步驟如下:
VC2005的菜單點擊“工具(Tools)->外部工具(External Tools)->添加(Add)”。分別填入:
標題(Title):Run as C++Application
命令(Command):%systemroot%/system32/cmd.exe
參數(Arguments):/c$(ItemFileName).exe
初始目錄(Initial directory):$(ItemDir)
不要鉤選下面的“使用輸出窗口”和“退出時關閉”。
注意:cpp文件必須放在工程中,g++生成的程序才能被運行!另外,用MinGWg++編譯的程序不能在沒有安裝MinGWWindows系統上運行。因為它依賴于MinGW庫。即便是通過VC2005編譯出的不帶預編譯頭的Win32控制臺應用程序,也就是用空環境,這樣編譯出來的可執行文件也不是放在哪臺機子都能跑的。

五、設置快捷鍵
點擊菜單中的"工具->自定義"
點擊右下角的"鍵盤"
點擊"按快捷鍵"下面的文本框,
按下Shift+Ctrl+F7,如果這個快捷鍵已經分配給了其他的命令,更換一個即可。
"顯示命令包含"中填入“工具.外部命令6",再點擊“分配”按鈕,
"確定",再點“關閉”
這樣就給GNU C++Compiler分配了快捷鍵Shift+Ctrl+F7
注意:剛才是在GNU C++Compiler位于外部工具菜單的第6項的情況下,在"顯示命令包含"中填入“工具.外部命令6"!同理,我們可以給Run as C++ Application分配一個快捷鍵。

六、分配工具條
點擊菜單中的"工具->自定義",點擊"工具欄"選項卡,
點擊“新建”,
在工具欄名稱中填入“g++”,
切換到"命令"選項卡,
點擊"類別"中的"工具"
在右邊的命令把“外部命令6”拖動到剛才建立的g++工具條上,
先不要關閉"自定義"對話框,
下面單擊g++工具條上的GNU C++ Compiler按鈕
再點擊自定義對話框中的“修改選中的內容”按鈕,設置工具條中按鈕的名稱和文字等屬性。
Run as C++Application
也可以通過這種方式放到g++工具條中。

七、結語
通過這樣的集成,為初學者學習純C++提供了便利。我認為,對于標準C++的初學者而言,不能認為用VC編譯通過就萬事大吉了。用g++編譯檢查一次是必要的。現在我們只需要按一下快捷鍵,就知道了這份代碼是否能通過其它編譯器,例如g++的編譯,不用再切換到命令行來重新編譯程序。
但是若想把g++的輸出結果輸出到錯誤列表,或者是用VCIDE來調試g++生成的程序,應該是絕無可能了。其實也沒什么必要。感覺g++的錯誤提示比VC要智能得多,這有利于我們快速地找到問題的根源。
如果感興趣,你還可以把make.exe等添加到VC2005的外部工具中,以實現編譯整個工程的目標。當然,在工程中少不了makefile
GDB.exe
也是可以集成進來的,不過不要忘了參數(Arguments)應為-g-Wall-o$(ItemFileName)$(ItemFileName)$(ItemExt)-time,其中參數-g生成調試信息。GNU調試器可利用該信息。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品视频在线观看 | 国产成人午夜精品5599 | 在线免费观看的www视频 | 成人免费观看cn | 久草不卡视频 | 国产亚洲综合精品 | 日韩欧美二区 | 男女午夜视频 | 狠狠色综合网站久久久久久久 | 欧美国产日韩在线观看 | a毛片毛片av永久免费 | 青草精品 | 成人v片| 91破解版在线 | 亚洲 | 亚洲国产精品久久久久久女王 | 日韩精品在线播放 | 国产精品一区99 | 欧美中文在线观看 | 国产亚洲一区二区三区 | 国产www网站| 国产精品第一国产精品 | 日韩欧美中文在线观看 | 毛片av网址 | 日韩精品久久久久久 | 精品久久久久一区二区三区 | 欧美性猛交久久久乱大交小说 | 欧美国产亚洲一区 | 欧美成人在线免费观看 | 日韩视频一区在线观看 | 欧美久久视频 | 日韩av激情在线观看 | 亚洲三级在线观看 | 亚色在线| 欧美日韩一区二区视频在线观看 | 日本激情网| 毛片免费视频 | 日本一区二区三区四区视频 | 在线观看欧美一区二区三区 | 欧美日韩一区二区三区在线观看 | 欧美a级成人淫片免费看 | 亚洲欧洲在线观看 |