linux的C语言编译器

2020-06-30 作者:提刀少年

在POSIX兼容的系统中,C语言编译器被称为c89。历史上,C语言编译器被简称为cc。许多年来,不同厂商销售的类UNIX系统中所带的C语言编译器均包含不同的功能和选项,但它们一般都称为cc。

在准备起草POSIX标准时,事实上已经不可能制订出兼容所有厂商的标准cc命令了。于是,POSIX委员会决定为C语言编译器创建新的标准命令,这就是c89。只要使用这个命令,在任何机器上,它的编译选项都相同。

Linux系统尽量实现这些标准。在Linux系统中,你会发现c89、cc和gcc这些命令全部或部分地指向系统的C语言编译器,通常是GNU C编译器,或gcc。在UNIX系统中,C语言编译器几乎总被称为cc。

实验 第一个Linux C语言程序
通过编写、编译和运行第一个Linux程序来检测一下GUN C编译器。

(1)写一个hello.c源码文件:

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(){
  4. printf("Hello World\n");
  5. exit(0);
  6. }

(2)用vim创建文件、编译、链接和运行程序【图-1】。


【图-1】

调用GNU C语言编译器将C语言源代码转换为可执行文件hello。然后运行这个程序,它将打印出欢迎信息。虽然这只是最简单的一个例子,但如果在你的系统上能做到这一点,证明系统已经安装了GUN C编译环境。

【注意】
如果你忘记用-o name选项告诉编译器可执行程序的名字,编译器会生成一个名为a.out的文件(a.out的含义是assembler output,即汇编输出)【图-2】。


【图-2】

执行a.out,如【图-3】

如果你确信编译了一个程序但又找不到它,别忘了看看有没有a.out文件!在UNIX的早期历史中,想在系统上玩游戏的人通常把游戏作为a.out来运行,以避免被系统管理员捉到,因此一些UNIX系统每晚会定期地删除所有名为a.out的文件。