典型的C实现通过 编译和链接 两个步骤来完成.编译器把 源代码编译成中间代码(机器语言代码),链接器将 中间代码和其他代码(系统的标准启动代码 及 预编译的库代码)合并 ,生成可执行文件.
UNIX(FreeBSD)
- 在UNIX上 编辑
C没有自己的编辑器,但是可以使用UNIX通用的编辑器(jove,emacs,vi),或X window System文本编辑器
UNIX区分大小写 - 在UNIX上 编译
UNIX系统提供的C编译器通常来自其他的源,然后以cc命令作为编译器别名,因此虽然在不同的系统中会调用不同的编译器,但用户依然可以继续使用相同的命令.
GNU
(GNU’s NOT UNIX)是开发大量UNIX免费软件的合集, GNU编译器合集也被成为GCC 其中包含GCC C, GCC有各种不同的版本来适应硬件平台及操作系统,用gcc命令即可调用GCC C编译器,许多实用gcc的系统都用cc作为gcc的别名
LLVM项目
LLVM成为cc的代替品,是与编译器相关的开源软件合集.它的Clang编译器处理C的代码,可以通过clang调用,2012年Clang成为FreeBSD默认的C编译器.
GNU 和 LLVM 都使用 cc作为别名,因此各个系统都可以使用cc来代替gcc或clang
如查看编译器版本命令行 cc -v
Linux
是一个开源、流行、类似与UNIX的操作系统。在Linux中准备C程序与在UNIX上几乎一致,不同的是要使用GNU提供的GCC公共域的C编译器,编译命令类似于:
gcc inform.c
安装Linux可以选择是否安装GCC,如果之前没有安装,则必须安装
PC的命令行编译器
C编译器不是标准Windows软件包的一部分,需要从别处安装(Cygwin和MinGW),
Cygwin在自己的视窗运行,MinGW在Windows的命令提示模式中运行。支持C99和C11。Borland的C++编译器5.5也可以免费下载,支持C90
源代码文件应该是文本文件,不是字处理文件(包含额外信息,如字体、格式等)。因此要使用文本编辑器来编辑源代码,源代码的扩展名应该是.c
通常,C编译器生成的中间目标代码的扩展名是.obj
与UNIX编译器不同,这些编译器在编译完成后通常不会删除中间文件,有些编译器生成带.asm扩展名的汇编语言文件。有些也使用自己特有的格式。
有些编译器在编译后会自动运行链接器,有些则需要手动运行链接器。
Microsoft Visual Studio 和 C标准
Microsoft Visual Studio 又简称VS或MSVS,是微软的开发工具包系列产品。是一个开发工具集,包括了整个软件声明周期中所需要的大部分工具。如UML工具、代码管控工具、集成开发环境(IDE)等。目标代码适用于微软支持的所有平台。
虽然Visual Studio 支持C89/C99,但它只是选择性的支持那些在C++新特性中能找到的C标准(如long long类型),且自2012年版本起,Visual Studio就不再把C作为项目类型的选项,但几乎所有的C程序都能在C++程序中运行,可以通过更改文件扩展名,使编译器用C的语言规则来代替C++。
Windows / Linux
许多Linux发行版都可以安装在Windows中,以创建双系统,一些存储器会为Linux系统预留空间,以便启动的时候可以启动Windows或者Linux,可以在Windows中运行Linux程序,也可以在Linux中运行Window程序,但是不能通过Windows访问Linux文件,可以通过Linux访问Windows文档。
Macintosh 中的 C
Xcode使用GCC C或者Clang 编译器来编译C代码,以前默认用GCC C现在用Clang。可以自行选择编译器和C标准。
UNIX系统内置Mac OS X, 终端工具打开窗口是为了让用户在UNIX命令行环境中运行程序。还可以通过xcode下载其他的命令行工具,可以使用gcc和clang命令在命令行模式中编译。
检索词条:
C的实现:编译、链接
UNIX上的编辑和编译
GNU、GCC、GCC C
LLVM、Clang
Linux GCC
PC Cygwin和MinGW .obj/.asm
Microsoft Visual Studio
Windows / Linux 可以相互运行程序,Windows不可以访问Linux文件,Linux可以访问Windows文档
Macintosh 中的 C UNIX系统内置Mac OS X
网友评论