|
bush
银牌会员
积分 2165
发帖 730
注册 2004-4-21
状态 离线
|
『楼 主』:
[原创]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
好!現在可以編程了!
|
|
2004-10-30 00:00 |
|
|
bush
银牌会员
积分 2165
发帖 730
注册 2004-4-21
状态 离线
|
『第
2 楼』:
軟件介紹 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。
|
|
2004-10-30 00:00 |
|
|
bush
银牌会员
积分 2165
发帖 730
注册 2004-4-21
状态 离线
|
『第
3 楼』:
以下是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.
[此贴子已经被作者于2004-10-30 21:24:59编辑过]
|
|
2004-10-30 00:00 |
|
|
bush
银牌会员
积分 2165
发帖 730
注册 2004-4-21
状态 离线
|
『第
4 楼』:
Open Watcom C/C++提供快速、易于使用的命令行編譯連接工具,基本的格式如下:
wcl [files] [options] ;16位
wcl386 [files] [options] ;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提供)。
|
|
2004-11-5 00:00 |
|
|