计算机语言顾名思义就是和计算机进行人机交互的一种语言,从计算机语言-汇编-高级语言,高级语言分成面向过程的和面向对象的
C语言 面向过程的一门高级语言,C++,C#,Objective-C等都是从C衍生出来的。它具有高效,可移植,灵活性等特点。
由于计算机只能够识别最基本的计算机语言,01。所以高级语言是无法被计算机直接执行的,必须翻译成计算机能够“看得懂”的语言,这个过程就是编译的过程。
C语言的源文件是XX.C,在mac系统中,我们可以使用命令cc来进行编译和链接生成mac系统的可执行文件。
C语言从源文件 到可执行文件总共是两个过程,一个过程是编译器将源文件转换成中间代码,存在编译成XX.o的目标文件中,然后链接器将目标文件以及其他代码组合成可执行文件。
在mac系统中我们初学者用的编译运行的控制台是“终端”,相当于win系统的cmd.exe。
例子:源文件为1.c
那么我们通过命令cc -c 1.c 来进行编译,编译之后会产生一个文件名与源文件名一致,后缀为.o的一个目标文件
然后再cc 1.o 将这个目标文件与其他代码C库组合成我们MAC系统的可执行文件,文件名默认为a.out,如果想要修改编译后的可执行的文件名,可以用cc 1.o -o test,也就是将生成的可执行的文件名改为了test。
运行:./可执行文件名。./表示当前路径,如果./不写,则会提示找不到可执行的文件。
上面的这个过程分成了两个步骤,第一个是编译成.o的中间文件,第二部才生成可执行文件。如何一步到位:
可以直接cc 1.c,可以直接生成可执行文件a.out,当然如果需要改变默认的可执行文件名,也可以参考上面的方法。虽然对于我们来说,感觉上,少了产生.o这个目标文件的步骤,但是实际上,这个命令是直接在编译后,用链接器组合成了一个可执行文件,两个过程连续的发生了。