使用ultraedit和cl编译器打造简易c/c++开发环境
在visual c++下,每編寫一個簡單的小程序,就得生成一大串中間文件,另人十分的不爽。下面提供一個新的編寫c/c++程序的方法:
(1),下載utraledit-32編輯器,推薦v11.
(2),在utraledit-32中,分別點擊菜單:高級-工具配置,出現一個dialog,用來設置用戶自定義的菜單項。我們的想法是,設置一個編譯菜單和運行菜單項,分別用來編譯在utraledit-32編寫的c/c++源文件。這樣,在utraledit-32中編寫好程序后,點擊這兩個菜單,就可以編譯程序,和運行程序。運行的結果在utraledit-32的輸出框中顯示。具體的設置如下。
編譯:
1,在命令行中填入:cl %n%e 我們知道,dos下的cl命令用來編譯源文件。后面的兩個參數%n%e表示要編譯的源文件的文件名。(注意每個字母必須是小寫的,以下同)
2,在工作目錄中填入:%p
3,在菜單項目名中填寫 編譯,這個名字就是我們要設置的編譯菜單項的名字。
4,對于下面的幾個復選框,選中輸出到列表框和捕獲輸出。
5,點擊 插入 按鈕,建立編譯菜單項
運行:
1,在命令行中填入:%n
2,在工作目錄中填入:%p
3,在菜單項目名中填寫 運行,這個名字就是我們要設置的運行菜單項的名字。
4,對于下面的幾個復選框,選中輸出到列表框和捕獲輸出。
5,點擊 插入 按鈕,建立運行菜單項
點擊確定退出
這樣,在 高級(A) 菜單下面可以看到出現了兩個新的菜單:編譯和運行
這樣,當寫好源程序后,點擊工具編譯和運行菜單,就可以編譯和運行程序。最終生成。obj文件和。exe文件。這樣的做法,比起使用vc要生成一大堆文件,而且要為每一個程序建立一個文件夾,是不是更加的方便呢?
(3),為編譯和運行菜單設置快捷健:
utraledit-32是一個強大的編輯器,可以使用戶自己定義各個菜單的快捷健。具體的做法如下:
點擊菜單:高級-配置,再選中鍵映射這一欄,可以看到所有的菜單項對應的快捷健,當然也包括我們剛才生成的兩個菜單,如果覺得這兩個菜單的快捷鍵用得不爽的話,可以自己設定。更詳細的做法就不說啦。
(4)原理:說了這么多,其實上面用到的是cl命令和utraledit-32提供的一些接口。我們知道,在dos下,可以用cl命令來編譯c/c++程序(當然估計沒人有會真的這么做)。而utraledit-32提供了一個接口,可以建立菜單項,通過點擊菜單項來執行dos下的命令。需要考慮的是,dos下的cl命令要求提供源文件的文件名作為參數,這個參數,在utraledit-32用%n%e來代替。當然,也可以為%N%E,但推薦使用小寫,大小寫的區別請看utraledit-32的幫助文檔。
8-7:補充:如果要編譯鏈接生成DLL文件,把編譯命令改為: cl %n%e /LD ,需要說明的是,生成exe文件的命令和生成dll文件的命令不能相互換用,所以,如果在utraledit下經常性地開發dll程序的話,還得再創建個編譯dll文件得菜單為好,這樣就避免了編譯兩種文件的時候改來改去。
附:如何在上述環境下編寫win32 GUI程序:
上面的編程環境與用戶是通過DOS控制臺進行,但有時候覺得console too simple& naive啦,所以,想用些按鈕,編輯框換換,但用VC又有上文所述的種種不爽。幸好,在程序前面加上如下代碼,就可以用自己打造的簡易環境來開發GUI了。
#pragma comment(linker,"/subsystem:windows")
#pragma comment(lib,"user32.lib")
#pragma comment(lib,"gdi32.lib")
說明:第一行指鏈接程序時按照/subsystem:windows格式進行鏈接。我們知道,在VC中,對于應用程序有兩種鏈接方式,一種是/subsystem:console,當用這種方式鏈接時,程序與用戶交互將通過console進行。另一種就是上面的/subsystem:windows,這種情況下,程序與用戶交互通過程序中的GUI進行。
僅僅指定上述鏈接格式還不夠,因為GUI函數,如MessageBox,TextOut等,是放在user32.lib和gdi32.lib中的,但是直接用cl命令編譯,并不會鏈接到這兩個lib。所以,必須在程序前面加上第二行和第三行,才能進行GUI的開發。
另附:
#pragma comment( comment-type [,"commentstring"] )
comment-type是一個預定義的標識符,指定注釋的類型,應該是compiler,exestr,lib,linker之一。
commentstring是一個提供為comment-type提供附加信息的字符串。
注釋類型:
1、compiler:
放置編譯器的版本或者名字到一個對象文件,該選項是被linker忽略的。
2、exestr:
在以后的版本將被取消。
3、lib:
放置一個庫搜索記錄到對象文件中,這個類型應該是和commentstring(指定你要Linker搜索的lib的名稱和路徑)這個庫的名字放在Object文件的默認庫搜索記錄的后面,linker搜索這個這個庫就像你在命令行輸入這個命令一樣。你可以在一個源文件中設置多個庫記錄,它們在object文件中的順序和在源文件中的順序一樣。如果默認庫和附加庫的次序是需要區別的,使用Z編譯開關是防止默認庫放到object模塊。
4、linker:
指定一個連接選項,這樣就不用在命令行輸入或者在開發環境中設置了。
另附:
利用vc 6.0目錄下的cl.exe直接編譯程序的方法[整理]
這是解決上面設置中,如果安裝VC的時候沒有設置環境變量的時候出現“cl不是內部或外部命令~~~”的方法
copy from : http://dev.csdn.net/author/kgdiwss/03f945afa2844c3c84355a3bf2a72a65.html
1.在“我的電腦——屬性——高級——環境變量”中, 添加如下變量:
INCLUDE
D:\Program Files\Microsoft Visual Studio\VC98\Include
LIB
D:\Program Files\Microsoft Visual Studio\VC98\Lib
PATH
X:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;X:\Program Files\Microsoft Visual Studio\VC98\Bin
X表示安裝盤符,注意這里是兩個路徑,因為cl.exe要用到MSDev98\Bin目錄下的MSPDB60.DLL.
如果已經存在這些變量,則把以上值分別加在對應的變量值的后面,注意在添加前用分號隔開。
2.重啟電腦
3.打開命令提示符,輸入:
cl hello.c
回車后就會在目錄下生成hello.exe和hello.obj.
附:
CL.exe 是控制 Microsoft C 和 C++ 編譯器與鏈接器的 32 位工具。編譯器產生通用對象文件格式 (COFF)
對象 (.obj) 文件。鏈接器產生可執行文件 (.exe) 或動態鏈接庫文件 (DLL)。
注意,所有編譯器選項都區分大小寫。
用法如下:
CL [option...] file... [option | file]... [lib...] [@command-file] [/link link-opt...]
option : 一個或多個 CL 選項。請注意,所有選項都應用于所有指定的源文件。選項是由一個
正斜杠 (/) 或一個短劃線 (-) 指定的。如果某個選項帶有參數,則該選項的說明指
定在選項和參數之間是否允許有空格。選項名(/HELP 選項除外)區分大小寫。
轉載于:https://www.cnblogs.com/weiqubo/archive/2010/08/26/1929967.html
總結
以上是生活随笔為你收集整理的使用ultraedit和cl编译器打造简易c/c++开发环境的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 甲状腺手术多少钱啊?
- 下一篇: 求带了的歌词。