扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 来源:中国IT实验室 2007年10月2日
关键字:
在本页阅读全文(共2页)
调用GNU或微软编译器
在不同的编译器和操作系统上,用来调用C++编译器的命令是不同的。大多数普通的编译器都是GNU编译器和微软Visual Studio编译器。在默认情况下,调用GNU编译器的命令是g++:
$ g++ prog1.cc -o prog1
其中$是系统提示符。这个命令产生一个叫做prog1或者prog1.exe的可执行文件(依赖于操作系统)。在UNIX上,可执行文件没有后缀;在Windows上,后缀名是.exe。-o prog1是一个编译器参数,它指定了放置可执行文件的文件名称。如果忽略了这个参数,在Unix系统上,编译器生成一个叫做a.out的可执行文件,在Windows上生成a.exe。
我们使用cl命令调用微软编译器:
C:\directory> cl -GX prog1.cpp
其中是C:directory>系统提示符,directory是当前目录的名称。调用编译器的命令是cl,-GX是一个选项,使用命令行接口编译程序的时候需要这个选项。微软编译器自动地生成一个与源文件名对应的可执行文件。这个可执行文件的扩展名是.exe,名称与源文件的名称相同。在这种情况下可执行文件是prog1.exe。你可以查看编译器的用户手册找到更多信息。
在命令行运行编译器
如果我们使用命令行接口,那么典型情况下我们会在控制台窗口(例如UNIX系统中的shell窗口或Windows中的命令提示符窗口)中编译程序。假设我们的主程序的程序名称是prog1.cc,我们可以使用下面的命令来编译它:
$ CC prog1.cc
其中CC调用编译器,$是系统提示符。它的输出是一个可执行文件,我们通过名字调用它。在我们的系统中,编译器生成的可执行文件的名称是a.exe。UNIX可能把它们的可执行文件叫做a.out。如果要运行一个可执行文件,只需要在命令行输入它的名称:
$ a.exe
执行我们编译过的程序。在UNIX系统中,有时候即使某个文件在当前目录中,你也必须提供该文件所在的目录。在这种情况下,我们应该这样输入:
$ ./a.exe
后面跟着斜线(/)的"."表明文件位于当前目录中。
我们需要使用依赖系统的方式来访问Main的返回值。在UNIX和Windows系统中,在执行某个程序之后,你都必须提交适当的echo命令。在UNIX系统中,我们通过下面的命令来获取状态:
$ echo $?
查看Windows系统中的状态,需要使用:
C:\directory> echo %ERRORLEVEL%
练习1:
查看你的编译器的文档,看看它所使用的命名习惯。编译和运行main程序。
练习2:
修改程序,使它返回-1。返回-1值通常表明程序执行失败了。但是,不同的系统报告main失败的情况有所不同。重新编译和运行该程序,看看系统如何处理main的失败标志。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者