Borland C++ 5.5编译器命令行模式设定和用法

荣耀  2002冬 

在进行企业级软件开发时,没有强大的IDE协助是难以想像的。但在进行语言特性测试和学习时,一个命令行模式编译工具就足够。和IDE相比,命令行模式编译速度更快,你也很容易下载到免费的编译器和相关命令行工具。

本文将介绍Borland C++ 5.5编译器命令行模式设定和用法。从Borland站点下载来的文件名为freecommandLinetools.exe,大小为8.52M,包含有命令行工具、RTL和STL动态链接库、Windows SDK、例子文件和帮助文档等。

无需额外安装步骤,将此压缩文件解压至任意目录均可。我把它解压到e:\bcc中,生成如下目录和文件:

  • Bin

  • Examples

  • Help

  • Include

  • Lib

  • license.txt

  • readme.txt

说明:下文描述的设定和用法,都是基于以上目录路径,假如你和我不一样,自己注意依样调整。

关于设置环境变量详细步骤,请参考微软C/C++/C#编译器命令行模式设定和用法中有关描述。假如你使用的是Windows95/98,可以在autoexec.bat里,加入PATH=E:\BCC\BIN;%PATH%,假如是Windows 2000/XP,请在环境变量PATH中加入E:\BCC\BIN。我机器上完整PATH设置为:

PATH=E:\WATCOM\BINW;F:\ORAHOME1\BIN;C:\PROGRAM FILES\ORACLE\JRE\1.1.7\BIN;E:\DELPHI\DELPHI5\PROJECTS\BPL;E:\DELPHI\VBROKER\JRE\BIN;E:\DELPHI\VBROKER\BIN;E:\DELPHI\DELPHI5\BIN;%SYSTEMROOT%\SYSTEM32;%SYSTEMROOT%;%SYSTEMROOT%\SYSTEM32\WBEM;C:\PROGRAM FILES\MICROSOFT SQL SERVER\80\TOOLS\BINN;F:\ORAHOME1\ORB\BIN;E:\DUBA;C:\PROGRAM FILES\ATI TECHNOLOGIES\ATI CONTROL PANEL;E:\BCC\BIN;E:\VS.NET\VC7\BIN;E:\VS.NET\COMMON7\IDE;E:\DMC\BIN\;E:\WATCOM\BINNT\;E:\DC\BIN\;E:\DC\LIB\GCC-LIB\MINGW32\3.2

现在就可以打开一个“命令提示符”窗口,执行bcc32命令,你将会看到编译选项完整列表(参见附录一)。让我们来编译C盘根目录下的示例文件:

    //1.cpp

    #include <iostream>
    using namespace std;

    void main()
    {
        cout << "Hello Royal" << endl;
    }

执行如下命令即可:

    bcc32 -Ie:\bcc\include -Le:\bcc\lib 1.cpp

运行程序,输出如下:

    Hello Royal

这个编译命令太麻烦,好在还有简便办法。在C盘根目录下,新建一个名为bcc32.cfg纯文本文件,写入如下内容:

    -I"e:\bcc\include" 

    -L"e:\bcc\lib"

现在就可以这样编译了:

    bcc32 1.cpp

注意:这个配置文件可以放在被编译的源文件目录中(如上所述),更为一劳永逸的做法是放于D:\BCC55\BIN目录里(和编译器放在一起)。

下面是编译多个文件的例子:

    //2.cpp 

    #include <iostream> 
    #include "3.cpp" 
    using namespace std; 

    void main() 
    { 
        CTest ct("Hello www.royaloo.com"); 
        cout << ct.str << endl; 
    } 

    //3.cpp 

    #include <string> 
    using namespace std; 

    class CTest 
    { 
    public: 
        CTest(string strValue): str(strValue){} 
        string str; 
    };

执行如下编译命令:

    bcc32 2.cpp 3.cpp

将生成名为2.exe的可执行文件。假如对这个名字不满意,可以使用-e编译选项,指定你想要的可执行文件名:

    bcc32 -eHello 2.cpp 3.cpp

现在就生成了Hello.exe,运行该程序,如你所料,输出如下:

    Hello www.royaloo.com

顺便提一句,不要将.h文件列在编译文件列表之中,列出包含了它的.cpp文件即可。

附录

-3

* 80386 Instructions

-4

80486 Instructions

-5

Pentium Instructions

-6

Pentium Pro Instructions

-Ax

Disable extensions

-B

Compile via assembly

-C

Allow nested comments

-Dxxx

Define macro

-Exxx

Alternate Assembler name

-Hxxx

Use pre compiled headers

-Ixxx

Include files directory

-K

Default char is unsigned

-Lxxx

Libraries directory

-M

Generate link map

-N

Check stack overflow

-Ox

Optimizations

-P

Force C++ compile

-R

Produce browser info

-RT

* Generate RTTI

-S

Produce assembly output

-Txxx

Set assembler option

-Uxxx

Undefine macro

-Vx

Virtual table control

-X

Suppress autodep. output

-aN

Align on N bytes

-b

* Treat enums as integers

-C

Compile only

-D

Merge duplicate strings

-exxx

Executable file name

-fxx

Floating point options

-gN

Stop after N warnings

-iN

Max. identifier length

-jN

Stop after N errors

-k

* Standard stack frame

-lx

Set linker option

-nxxx

Output file directory

-oxxx

Object file name

-p

Pascal calls

-tWxxx

Create Windows app

-u

* Underscores on externs

-v

Source level debugging

-wxxx

Warning control

-xxxx

Exception handling

-y

Produce line number info

-zxxx

Set segment names

-完-