第一章 初识C语言

C编译器是把C代码转换成计算机内部指令的程序。
C++在C语言的基础上嫁接了面向对象编程工具(面向对象编程是一门哲学,它通过对语言建模来适应问题,而不是对问题建模以适应语言)。

1.8.1 目标代码文件、可执行文件和库

编译器把源代码转换成中间代码,链接器把中间代码和其他代码合并,生成可执行文件。另外,链接器还将你编写的程序和预编译的库代码合并。
中间代码有多种形式。最普遍的一种形式,即把源代码转换为机器语言代码,并把结果放在你目标代码文件中。虽然目标文件中包含机器语言代码,但是并不能直接运行该代码。因为目标文件中存储的是编译器翻译的源代码,还不是一个完整的程序。
目标代码文件缺失启动代码。启动代码充当着程序和操作系统之间的接口。
目标代码还缺少库函数。
链接器的作用是,把你编写的目标代码、系统的标准启动代码和库代码这3部分合并成一个文件,即可执行文件。对于库代码,链接器只会把程序中要用到的库函数代码提取出来。

1.8.3 GNU编译器集合和LLVM项目

GNU项目始于1987年,是一个开发大量自由UNIX软件的集合(GNU的意思是“GNU's Not UNIX”,即GNU不是UNIX)GNU编译器集合(也被称为GCC,其中包含GCC C编译器)是该项目的产品之一。用gcc命令便可调用GCC C编译器。许多使用gcc的系统都用cc作为gcc的别名。
LLVM项目成为cc的另一个替代品。它的Clang编译器处理C代码,可以通过clang调用。
gcc和clang命令都可以根据不同的版本选择运行时选项来调用不同C标准。
gcc -std=c99 inform.c
gcc -std=c1x inform.c
gcc -std=c11 inform.c
第1行调用C99标准,第2行调用GCC接受C11之前的草案标准,第3行调用GCC接受的C11标准版本。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值