the 1st edition: 20121115 (4) the 2nd edition: 20161205 (1)
watcom c compiler 在 dos 時代很有名氣, 我沒用過, 對於用了好多年的 gcc, 我想試試不同的 c/c++ compiler。
watcom c compiler 的介紹: 惊艳的Open WATCOM C/C++
在 dos 時代沒用過, 反而是在 linux 環境下用了它, 不過真的讓我想要嘗試 watcom c 是因為他支援 pascal call convention, 我在 gcc 上沒找到支援 pascal call convention 的方式, 我又不想在 windows 下跑 vc 這個大傢伙 (vc 2012 目前好像也不支援 pascal call convention), 意外找到 watcom c。
很意外 debian/ubuntu 都沒有收錄 openwatcom, 它也是 opensource, 真是奇怪, 不知道是不是其授權的關係, 只好手工安裝。
download
執行 ./open-watcom-c-linux-1.9 來安裝 open watcom, 會跑出一個安裝程式, 如果遇到
~/openwatcom$ ./open-watcom-c-linux-1.9 Floating point exception (core dumped)
https://groups.google.com/forum/#!topic/openwatcom.users.c_cpp/9rO3NwjfWfM
cd /usr/share/terminfo/x/ ln -s /lib/terminfo/x/xterm* .
設定環境變數: http://www.openwatcom.org/index.php/Installing_Open_Watcom_on_Linux
export WATCOM=~/ow/ . ~/ow/owsetenv.sh
openwatcom 有自己的 include files,
linux 版本執行檔在 openwatcom/binl/*
編譯指令:
wcl386 -c -d1 a.c wcl386 a.o
如果遇到
Open Watcom C/C++32 Compile and Link Utility Version 1.9 Portions Copyright (c) 1988-2002 Sybase, Inc. All Rights Reserved. Source code is available under the Sybase Open Watcom Public License. See http://www.openwatcom.org/ for details. wlink @__wcl__.lnk Open Watcom Linker Version 1.9 Portions Copyright (c) 1985-2002 Sybase, Inc. All Rights Reserved. Source code is available under the Sybase Open Watcom Public License. See http://www.openwatcom.org/ for details. Warning! W1115: file wlink.lnk: line(20): environment name WATCOM not found Error! E2093: file wlink.lnk: line(20): cannot open /binl/wlsystem.lnk Error: Linker returned a bad status
設定 WATCOM 環境變數
descent@debian64:tmp$ export WATCOM=/opt/watcom/
-d1/-d2 是加入 debug information, 可使用 gdb 來作 source code level debug, 不過 openwatcom 也有提供一個親切畫面的 debugger。-d2 會多產生一些額外的程式碼。
-i../include 則是指定 include directory
-s remove stack overflow checks, 就不會看到 call <__chk> 這樣的程式碼
產生組合語言碼 ./b.s:
owcc -S b.c
已經習慣 command line/makefile 的編譯方式, 這並不會比學習 ide 慢上多少, 知道編譯動作的基本原理, 這些參數的功能都是一樣的, 不一樣的是選項名字。
openwatcom也
ref:
- WATCOM C/386 使用指南 第三分册: http://www.3689w.com/ebook/48129.html
- WATCOM C/386使用指南 第2分册
- 惊艳的Open WATCOM C/C++
沒有留言:
張貼留言
使用 google 的 reCAPTCHA 驗證碼, 總算可以輕鬆留言了。
我實在受不了 spam 了, 又不想讓大家的眼睛花掉, 只好放棄匿名留言。這是沒辦法中的辦法了。留言的朋友需要有 google 帳號。