【捡起C++】程序创建的技巧①

​ 源代码 —> 编译器 —> 目标代码 —> 链接程序 —> 可执行代码

​ 编译源代码,将源代码翻译成机器语言,包含了翻译后的程序的文件就是目标代码。

链接是将目标代码同使用的函数的目标代码以及一些标准的启动代码(startup code)组合起来,生成程序的运行阶段版本。

​ 包含最终产品的文件被称为 可执行代码

1、UNIX编译和链接

​ 使用CC命令来编译程序。名称采用大写字母,这样可以将它与标准UNIX C 编译器cc分开来。CC编译器是命令行编译器,这意味着需要在UNIX命令行上输入编译命令。

​ 例如要编译C++源代码文件spiffy.C,则应在UNIX下输入:

​ CC spiffy.C

​ 如果一切正确,编译器生成一个扩展名为 o 的目标代码文件。在这个例子中,编译器将生成文件spiffy.o

​ 接下来,编译器自动将目标代码文件传递给系统链接程序,该程序将代码与库代码结合起来,生成一个可执行文件。在默认情况下,可执行文件为 a.out。 如果只使用一个源文件,链接程序还将删除spiffy.o文件,因为这个文件不需要了。

​ 输入可执行文件的文件名即可运行该文件,a.out

​ 如果编译新程序,新的可执行文件a.out将覆盖已有的a.out,这样有利于降低存储需求。

​ * 同时编译多个源代码文件,输入命令CC my.C precious.C

​ * 如果修改了my.C文件,可用以下命令重新编译CC my.C precious.o,这将重新编译my.C 文件,并将它与前面编译的precious.o文件链接起来。

2、Linux编译和链接

​ Linux系统最常用的编译器是g++,g++编译器的工作方式很像标准UNIX编译器。例如,下面的命令将生成可执行文件a.out

​ g++ spiffy.cxx

​ 有些版本可能要求链接C++库: g++ spiffy.cxx -lg++

​ 要编译多个源文件,只需将它们全部放到命令行中即可: g++ my.cxx precious.cxx

​ 这将生成一个名为a.out的可执行文件和两个目标代码文件my.o 和 precious.o。

​ 如果修改了其中某个源代码文件,如my.cxx, 可用以下命令重新编译g++ my.cxx precious.o

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值