中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [原创]Open Watcom 初識 上一主题 | 下一主题
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
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: