![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-03 18:14 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » [原创]Open Watcom 初識 |
| 可打印版本 2,504 / 3 |
| 第1楼 bush | 发表于 2004-10-30 00:00 |
| 银牌会员 发帖 730 积分 2,165 | |
|
[原创]Open Watcom 初識 Open Watcom 是一個跨平臺的開發工具,其中包含的編譯器有C、C++、FORTRAN/77三個編程語言版本;下載地址是:http://downloads.openwatcom.org/ftp/
有兩种安裝方式:一是採用windows下的完整安裝程序包(c/c++和FORTRAN兩個版本);二是下載單獨的壓縮分卷——可以只要DOS平臺的部分,或其他自定義安裝方式。 下面介紹安裝包命名的一般規則: 例如:clib_a16.zip c C語言使用 lib 運行庫lib文件 a 適用于所有平臺目標程序 16 16位平臺 其他文件名也是由類似的簡稱組成的: 以cpp、f開頭的文件是c++和FORTRAN語言的; dos,windows,os/2,NT四個平臺對應的縮寫分別是:d,w,o,n; 所有平臺都要用到的文件包含有縮寫a或all,他們是必須下載的; 帶hdr的是頭文件包,也是必需的; core是核心的二進制文件; dbg是調試器的相關文件; ext是一些dos擴展程序(dos4gw等); hlp幫助文件; samples示例文件; 每個壓縮包都不大,從幾百K到2M不等。按需自選,差什麽再下載就是了。 下載之後解壓到同一個目錄下就行了。但是有些工具不能識別帶空格的目錄,如:"C:\Program Files\WATCOM"。所以最好使用最簡單的目錄名,如: C:\WATCOM, D:\WATCOM 等。 在使用之前還要設置好環境變量,以DOS為例: SET WATCOM=C:\WATCOM SET PATH=%WATCOM%\BINW;%PATH% SET EDPATH=%WATCOM%\EDDAT SET INCLUDE=%WATCOM%\H 好!現在可以編程了! |
|
| 第2楼 bush | 发表于 2004-10-30 00:00 |
| 银牌会员 发帖 730 积分 2,165 | |
|
軟件介紹 Open Watcom C/C++以前是一個商業編譯器軟件,由Sybase,Powersoft,WATCOM公司共同推出。現在,它已經發展為一個開元的開發系統。
Open Watcom C/C++是一個專業的、性能優越的、多平臺的C及C++編譯器,並帶有一整套包容力強的開發調試工具,能夠開發純DOS、擴展DOS、Novell NLMs、16位OS/2、32位OS/2、WINDOWS 3.x、WINDOWS 95/98/ME、WINDOWS NT/2000/XP平臺的16位及32位的應用程序。 Open Watcom C/C++ Version 1.3提供了如下新特性給專業的程序開發者: 1、開放的多目標整合開放環境 使用這個IDE可以很容易地編輯、編譯、連接、調試、生成16位的應用程序(基於DOS,OS/2 1.x,WIN 3.x),以及32位的應用程序(基於32位DOS,Novell NLMs,OS/2,WINDOWS 9X,WINDOWS NT/2000/XP)。工程可以是多目標的,允許包含EXE和DLL。此IDE的工程文件可以用其他文本編輯器察看編輯。不過,這個IDE不是能在DOS下使用。 2、範圍最廣的Intel x86平臺 操作宿主平臺 DOS (命令行) 32-bit OS/2 (IDE和命令行) Windows 3.x (僅IDE) Windows 95/98/Me (IDE和命令行) Windows NT/2000/XP (IDE和命令行) 16位客戶目標平臺 DOS Windows 3.x OS/2 1.x 32位客戶目標平臺 32位 DOS Win32s Windows 95/98/Me Windows NT/2000/XP 32-bit OS/2 Novell NLMs 3、跨平臺的開發工具 工具包中的核心工具是跨平臺的,也就是說:開發者可以利用時下32位操作系統的先進功能,可以在某一種環境下開發不同的目標系統程序。 4、多平臺調試器 新的調試器促进了開發者的生產效率。新改進包括:界面的重新設計、能在嵌套的函數調用中設置斷點、改良的C++和DLL調試、反向執行以及可配置的的界面。圖形界面的版本可用于除DOS以外的其他系統,而字符界面的版本可用于所有系統。對於視頻愛好者,還可用最樸實的命令行版本。 5、‘類’瀏覽器 使用這個瀏覽器,你能可視化的瀏覽對象層次、功能、變量類型以及自定義的C/C++常量。 6、性能分析 Open Watcom Execution Sampler和Open Watcom Execution Profiler是性能分析工具,定位于頻繁使用的代碼片,使你能集中精力于此以提高程序的性能。 7、編輯器 此編輯器是一個上下文敏感的源代碼編輯器,整合在其WINDOWS版本的IDE中。 8、圖形化開發工具 Open Watcom C/C++包括一套圖形化開發工具用於輔助WINDOWS平臺開發。他們是: Resource Editors 用於創建WINDOWS應用程序。對於32位的OS/2 PM開發,Open Watcom C/C++可以與IBM的OS/2開發者工具箱交互操作。這些工具都已經無縫集合在IDE中了。 Resource Compiler 用於從源文件中製造一個編譯的資源文件。 Zoom 放大選擇的屏幕區域。 Heap Walker 在調試時用於顯示内存使用狀況。 Spy 監視你的應用程序與WINDWS之間的消息傳遞。 DDESpy 監視系統中發生的所有活動DDE。 Dr.Watcom 儅一個異常被抛出時,利用它可以檢查系統和程序,以利於調試工作。同時,它還可以監視WINDOWS下的本地應用程序。 9、Assembler 與微軟宏彙編(masm)兼容。 10、C++類庫 其中包括“容器”和“流”。 11、一流的免費32位DOS擴展器 Tenberry德DOS/4GW32位DOS擴展器提供最大32M的運行時虛擬内存支持。 12、支持各種DOS擴展器 Open Watcom C/C++允許你在以下DOS擴展器技術基礎上開發調試應用程序:CauseWay DOS Extender、Tenberry Software's DOS/4G 、Phar Lap's TNT DOS Extender。另外,DOS/32A和FlashTek's DOS Extender 也可用,但目前他們還不支持調試。 13、程序及應用實例 主要用於演示IDE。 |
|
| 第3楼 bush | 发表于 2004-10-30 00:00 |
| 银牌会员 发帖 730 积分 2,165 | |
|
以下是watcom公司推薦的編程書籍,有誰知道有中文版的告知一下。
C The C Programming Language, 2nd Edition Brian W. Kernighan and Dennis M.Ritchie; Prentice Hall, 1988. C DiskTutor L. John Ribar; Osborne McGraw-Hill, 1992. C++ C++ Primer, 2nd Edition Stanley B. Lippman; Addison-Wesley Publishing Company, 1991. Teach Yourself C++ in 21 Days Jesse Liberty; Sams Publishing, 1994. DOS PC Interrupts, Second Edition Ralf Brown and Jim Kyle; Addison-Wesley Publishing Company, 1994. Relocatable Object Module Format Specification, V1.1 The Intel OMF specification can be obtained from the Intel ftp site. Here is the URL. ftp://ftp.intel.com/pub/tis/omf11g.zip This ZIP file contains a Postscript version of the Intel OMF V1.1 specification. DOS32 Extending DOS-A Programmer's Guide to Protected-Mode DOS, 2nd Edition Ray Duncan, et al; Addison-Wesley Publishing Company, 1992. DOS Protected-Mode Interface (DPMI) Specification The DPMI 1.0 specification can be obtained from the Intel ftp site. Here is the URL. ftp://ftp.intel.com/pub/IAL/software_specs/dpmiv1.zip This ZIP file contains a Postscript version of the DPMI 1.0 specification. WIN3.X Microsoft Windows Programmer's Reference Microsoft Corporation; Microsoft Press, 1990. Programming Windows 3.1, Third Edition Charles Petzold; Microsoft Press, 1992. Windows Programming Primer Plus Jim Conger; Waite Group Press, 1992. NT Advanced Windows NT Jeffrey Richter; Microsoft Press. 1994. Inside Windows NT Helen Custer; Microsoft Press. 1993. Microsoft Win32 Programmer's Reference, Volume One Microsoft Corporation; Microsoft Press, 1993. OS/2 The Design of OS/2 H.M. Deitel and M.S. Kogan; Addison-Wesley Publishing Company, 1992. OS/2 Warp Unleashed, Deluxe Edition David Moskowitz and David Kerr, et al; Sams Publishing, 1995. VXD Writing Windows Virtual Device Drivers David Thielen and Bryan Woodruff; Addison-Wesley Publishing Company, 1994. |
|
| 第4楼 bush | 发表于 2004-11-05 00:00 |
| 银牌会员 发帖 730 积分 2,165 | |
|
Open Watcom C/C++提供快速、易于使用的命令行編譯連接工具,基本的格式如下:
wcl ;16位 wcl386 ;32位 編譯器可以根據文件的擴展名決定如何編譯它(源文件、庫文件還是目標文件)。沒有擴展名的,編譯器 嘗試作爲源文件編譯。通常,識別的順序為: 1. file.ASM 匯編源碼 2. file.CXX C++ 源碼 3. file.CPP C++ 源碼 4. file.CC C++ 源碼 5. file.C C 源碼 可以一次處理多個文件,支持通配符。主要參數描述如下: /c 祇編譯,不链接 /cc 強制源文件作爲C代码 /cc++ 強制源文件作爲C++代码 /y 忽略WCL环境变量以下為wcl適用 /0 針對8086/8088指令集(默認) /1 188/186指令集 /2 286指令集 /3 386指令集 /4 486指令集 /5 奔騰指令集 /6 奔騰Pro 指令集以下為wcl386適用 /3r 生成基於386指令速率並使用寄存器參數傳遞的386指令集 /3s 生成基於386指令速率並使用堆棧參數傳遞的386指令集 /4r 生成基於486指令速率並使用寄存器參數傳遞的386指令集 /4s 生成基於486指令速率並使用堆棧參數傳遞的386指令集 /5r 生成基於奔騰指令速率並使用寄存器參數傳遞的386指令集(默認) /5s 生成基於奔騰指令速率並使用堆棧參數傳遞的386指令集 /6r 生成基於奔騰Pro指令速率並使用寄存器參數傳遞的386指令集 /6s 生成基於奔騰Pro指令速率並使用堆棧參數傳遞的386指令集其他參數還有上百個,但對於絕大多數應用來説,祇會用到其中少數,下面以幾個例子加以説明。 例一: wcl /d2 apdemo.c aputils.c apdata.c 或 wcl386 /d2 apdemo.c aputils.c apdata.c 生成的執行文件將會是:apdemo.exe(與編譯文件列表的第一個一致),同時包含調試信息(/d2)。 例二: wcl /d2 *.c 或 wcl386 /d2 *.c 編譯所有的c源文件,包含調試信息,執行文件名將取決於文件列表的第一個。 例三: wcl /d2 /fe=apdemo *.c 或wcl386 /d2 /fe=apdemo *.c 編譯所有的c源文件,包含調試信息,執行文件名指定為:apdemo.exe 例四: wcl /d2 /fe=apdemo aputils.c ap*.obj 或wcl386 /d2 /fe=apdemo aputils.c ap*.obj 修改了一個文件就要重編譯全部是很不划算的。因此,在例一之後,如果修改了aputils.c,則本例是更高效的方法,aputils.c編譯后將與apdemo.obj,apdata.obj鏈接。 例五: wcl /fe=demo *.c utility.obj 或wcl386 /fe=demo *.c utility.obj 編譯所有的c源文件並與utility.obj鏈接,執行文件名指定為:demo.exe 有些參數可能每次都要使用,把他們設爲環境變量可以減少輸入量,如:set wcl386=/d1 /ot,以後使用wcl386時,默認將是:在目標文件中包含行號調試信息,按執行時間優化。和其他dos變量一樣,可以放在autoexec.bat中加載。 例六: set wcl=/mm /d1 /ox /k4096 wcl /fe=grdemo gr*.c graph.lib /fd=grdemo 編譯所有以gr開頭的c源文件,鏈接graph.lib,使用4k的堆棧,執行文件名為grdemo.exe,中間生成的臨時lnk文件時grdemo.lnk。 例八: set libos2=c:\watcom\lib286\os2;c:\os2 set lib=c:\watcom\lib286\dos;c:\watcom\lib286 set wcl=/mm /lp wcl grdemo1 \watcom\lib286\os2\graphp.obj phapi.lib grdemo1編譯使用的内存模式爲中(medium),與graphp.obj,phapi.lib連接,生成os/2格式執行文件(參數/lp,變量libos2)。使用dos内存擴展器Phar Lap's 286 DOS Extender(phapi.lib提供)。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |