惊艳的Open WATCOM C/C++

成立于1981年的WATCOM公司于1988年推出PC版的C语言编译器,或许是专心研究的缘故, Watcom C/C++是以在DOS下能够产生最佳化程序代码闻名于世的,许多写游戏和DOS Extender的厂商都指名要使用Watcom C/C++,因为不论是Borland C/C++还是Visual C/C++,它们产生的最佳化程序代码都比Watcom C/C++的最佳化程序代码差上一截。再加上当时最有名的DOS Extender厂商PharLap公司也是使用Watcom C/C++,因此Watcom C/C++在专业的C/C++程序员以及系统程序员心中是第一品牌的C/C++开发工具。

    然而,惨烈的C/C++编译器四国圣战,WATCOM C++还有Symantec C/C++,Broland C/C++最终不敌Microsoft C/C++,(这并不是由于编译器的原因,个中原由,大家可以去看一下台湾著名程序员 李维的《C/C++ 圣战》。)卖掉的卖掉,转行的转行,如今,Symantec 早就不搞C/C++了,诺顿就是Symantec的品牌,WATCOM被Sybase收购后,开发了Optima++,据说当时看来是非常不错的开发工具,能够直接拖拽控件,当时Sybase终究不是个有眼光的公司,1.5开发后就放弃了,当然这时期的编译器还是叫WATCOM,直到1999前年,WATCOM陆陆续续的发布了一系列版本,但是到了1999年,Sybase结束了WATCOM的商业开发,于2000年开源了WATCOM ,2009年版本为Open WATCOM 1.9,Open WATCOM的版本更新间隔不定,有1年的,也有两年的,现在从每日构建可以发现,版本已经到了2.0Beta1,相信今年可能会2.0正式版会出来,每日构建FTP地址:ftp://ftp.openwatcom.org/source/ 还有其他版本源码,也可以自己下载1.9的二进制:ftp://ftp.openwatcom.org/ 每日构建2.0Beta1:http://pan.baidu.com/netdisk/singlepublic?fid=62546_17751838 这个是我4.7号编译的。

Open WatCom如今依然惊艳,前几日,我利用不同的编译器编译了一个程序,代码如下:

#include<iostream>
#include<tchar.h>
#include<stdio.h>
#include<windows.h>
using namespace std;

int _tmain()

{
   cout<<"HelloWorld!"<<endl;
   MessageBox(NULL,_T("WTCOM编译器测试-----2012.03.30 00:50"),_T("WTCOM C\\C++ Compiler"),MB_OK);
   system("pause");
   
   return 0;

}

使用的编译器有MinGW/GCC,Microsoft C/C++ (VS版本 2008,2010,11Beta),Broland C++,RAD C++(Broaland C/C++的后代)。编译都是使用的批处理环境,Microsoft C/C++ 还要链接kernel32.lib user32.lib gdi32.lib三个静态链接库(有MessageBox()函数。)

::OPEN WATCOM
@echo off
echo Open Watcom Build Environment
SET PATH=D:\WATCOM\BINNT;%PATH%
SET INCLUDE=D:\WATCOM\H\NT;%INCLUDE%
SET INCLUDE=%INCLUDE%;D:\WATCOM\H\NT\DIRECTX
SET INCLUDE=%INCLUDE%;D:\WATCOM\H\NT\DDK
SET INCLUDE=D:\WATCOM\H;%INCLUDE%
SET WATCOM=D:\WATCOM
SET EDPATH=D:\WATCOM\EDDAT
SET WHTMLHELP=D:\WATCOM\BINNT\HELP
SET WIPFC=D:\WATCOM\WIPFC
::Broland C/C++
::@echo off
@echo Start Borland C\C++ Compiler;
@set BCCDir=D:\Borland\BCC55
@set PATH=%BCCDir%\BIN;%PATH%
@set INCLUDE=%BCCDir%\Include;%BCCDir%\Include\Gl;%BCCDir%\Include\Rw;%BCCDir%\Include\Sys;%INCLUDE%
@set LIB=%BCCDir%\Lib;%BCCDir%\Lib\PSDK;%LIB%
GCC 有专业工具,MSVC和RAD C++也有官方的批处理,

数据,没有运行时间测试:

Broland.exe 基于 Broland C++ v5.5.1   115KB / 2996KB

RAD_Broland.exe 基于RAD——C++ Builder v6.44  172KB /3028KB

WatCom.exe 基于Open WatCom v13.0.0(1.9)   51KB /3024KB

bg++.exe 基于GCC\g++ v4.6.1  51KB /3132KB

VS2008.exe 基于VC++ cl版本15  103KB /2908KB

VS2010.exe 基于VC++ cl版本16  105KB /2984KB

VS11.exe 基于VC++ cl版本17  117KB /2984KB

分别为可执行程序体积和内存占用大小

可见Broland的后代不是很好啊,GCC本来由于众人拾柴火焰高,一向不错,Microsoft的优势这还不阻力体现,毕竟没有添加额外编译选项,但是Open WATCOM 还是表现不错。给人一个耳目一新的感觉。

我曾经下载了GCC 4.7源代码,使用cygwin在Windows编译,结果,编译到Java编译器的时候,无法编译了,4.6.3&4.7源码都是如此,而Open WATCOM编译新版本便很容易就成功了。

GCC是纯粹的编译器,而Open WATCOM是编译器和IDE的集合,不过由于开发力量不够,支持较小,Open WATCOM的开发工具都显得很丑陋,像来自远古的人。

Clang很让人失望,艰难的配置事实上很难让人接受。

Open WATCOM 确实需要更多的支持,尽管它微不足道。但是它很惊艳,还有Sybase的开源许可证要更加宽容才好。

转载于:https://my.oschina.net/GIIoOS/blog/52774

Open Watcom manual 1.5.zip 官方PDF文档,已经添加目录标签,包含内容: cguide.pdf Open Watcom C/C++ User’s Guide cguideq.pdf Open Watcom C/C++ Compiler and Tools User’s Guide for QNX 3rd Edition clib.pdf Watcom C Library Reference Volume 1 clr.pdf Open Watcom C Language Reference cpplib.pdf Open Watcom C++ Class Library Reference cw.pdf Open Watcom CauseWay User’s Guide lguide.pdf Open Watcom Linker User’s Guide First Edition pguide.pdf Open Watcom C/C++ Programmer’s Guide tools.pdf Open Watcom C/C++ Tools User’s Guide First Edition wd.pdf Open Watcom Debugger User’s Guide vi.pdf Open Watcom Vi Editor Reference and User’s Guide Watcom使用简明 在Watcom安装目录下有三个程序目录 binnt/binp/binw,对应了 Windows NT/XP、OS2、MSDOS 和 Windows 3.x/9x等系统。当前系统为 Windows 7,使用 binnt 目录下的命令工具,各工具介绍: batserv.exe Batch Server wcc.exe C16 Optimizing Compiler cl.exe C/C++ CL Clone for 386 wcc386.exe C32 Optimizing Compiler ctags.exe CTAGS Utility wcl.exe C/C++16 Compile and Link Utility cvpack.exe CV4 Symbolic Compactor wcl386.exe C/C++32 Compile and Link Utility cvtres.exe C/C++ CVTRES Clone for 386 wd.exe Debugger dbginst.exe Debuger Driver Install wddespy.exe DDE Spy for Windows NT dmpobj.exe OMF Dump Utility wde.exe Dialog Editor for Windows NT drwatcom.exe Dr. Watcom for Windows NT wdis.exe Multi-processor Disassembler fcenable.exe Far Call Optimization Enabling wdw.exe Watcom Debuger ide.exe IDE wfc.exe FORTRAN 77/16 Optimizing Compiler lib.exe C/C++ LIB Clone for 386 wfc386.exe FORTRAN 77/32 Optimizing Compiler lib386.exe C/C++ LIB Clone for 386 wfl.exe F77/16 Compile and Link Utility link.exe C/C++ LINK Clone for 386 wfl386.exe F77/32 Compile and Link Utility link386.exe C/C++ LINK Clone for
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值