C语言编译器cc典型用法
安装C语言编译器
sudo apt-get install build-essential
使用:
cc -std=c99 -Wall hello.h -o hello
具体含义如下:
cc
:C语言编译器的命令,用于将C代码转换为可执行文件。-std=c99
:指定使用C99标准进行编译。-Wall
:启用所有警告信息,这样编译器可以在代码中发现潜在的问题或错误。hello.h
:需要编译的C源代码文件,这里假设是一个名为“hello.h”的文件。-o hello
:指定编译后的可执行文件的名称为“hello”,这里的“hello”是一个任意的名称,您可以使用您喜欢的任何名称。
C99(或C语言标准第三版)是C语言的一个更新版本,相对于早期版本(如C89或ANSI C)具有以下一些不同之处:
-
可变长度数组(Variable-length arrays):允许数组的长度在运行时动态分配,而不是在编译时确定。这为编写更加灵活的代码提供了更多的可能性。
-
复合文字(Compound literals):允许创建一个临时的、匿名的复合类型对象,该对象可以在程序中使用。这样可以避免创建一个显式命名的对象,从而使代码更加简洁。
-
布尔类型(Boolean type):引入了一个名为
_Bool
的内置布尔类型,允许直接使用true
和false
关键字来表示布尔值,从而使代码更加易读。 -
单行注释(Single-line comments):允许使用
//
符号来表示单行注释,从而使代码注释更加方便。 -
其他语言特性:C99标准引入了其他一些新的语言特性,如对复合语句的增强支持、函数声明可以放在任何地方、对 long long 类型的官方支持等等。
除了C99之外,还有许多C语言标准,包括:
-
C90(也称为ANSI C):C语言的第一个标准版本,由美国国家标准协会(ANSI)于1989年发布。C90标准定义了C语言的基本语法和语义,成为后续版本的基础。
-
C11:也称为C语言标准第四版,由国际标准化组织(ISO)于2011年发布。C11标准对C99进行了一些修订和扩展,增加了一些新的语言特性,如对多线程编程的支持、对泛型编程的支持等等。
-
C18:也称为C语言标准第五版,由国际标准化组织(ISO)于2018年发布。C18标准对C11进行了一些小的修订和改进,增加了一些新的特性和改进,但整体上与C11基本相同。
cc命令典型用法
-
编译单个C语言源文件:
cc source.c -o output
这个命令将会编译源文件source.c,并将输出文件命名为output。
-
编译多个C语言源文件:
cc source1.c source2.c -o output
这个命令将会编译源文件source1.c和source2.c,并将输出文件命名为output。
-
指定编译器标准:
cc -std=c99 source.c -o output
这个命令将会编译符合C99标准的源文件source.c,并将输出文件命名为output。
-
显示编译器的详细输出:
cc -v source.c -o output
这个命令将会显示编译器的详细输出,包括编译器使用的选项、库文件等信息。
-
指定头文件的搜索路径:
cc -I/path/to/include source.c -o output
这个命令将会在指定的路径(/path/to/include)中搜索头文件,以便正确地编译源文件source.c,并将输出文件命名为output。
-
指定库文件的搜索路径:
cc -L/path/to/lib source.c -o output -lmylib
这个命令将会在指定的路径(/path/to/lib)中搜索库文件,以便正确地链接源文件source.c,并将输出文件命名为output。同时,还会使用名为mylib的库文件。