执行C文件
第一种:xcode环境下:
一.创建c工程
macOS -> Command Line Tool 语言选择C
二.代码编写
三.编译
1、什么是编译:将C源程序翻译成计算能识别的0和1
2、使用什么编译器:Xcode3是用GCC,XCode4使用LLVM编译器(前端clang)
3、如果使用clang编译程序?
* 在终端中输入:CC -c 文件名.c。(cd进入当前目录下)
* 编译成功,会生成.o目标文件。
4、编译器的错误和警告功能
* 如果代码有语法问题,编译器会直接报错,并指出错误的个数和具体的行号。
* 只要有1个错误,程序就不能编译成功,也不好生成.o文件。
* 警告信息只是编译的一些建议,并不影响编译通过。
四、连接
1、连接的作用:将.o文件和C语言函数库组合在一起,生成可执行文件
2、由连接器完成,clang编译器里面已经包含了连接指令。
* 终端输入:cc 文件.o。
* 连接成功,会生成a.out可执行文件。
五、运行
1、两种方式运行
* 直接双击打开a.out文件。
* 终端中使用./a.out指令。
2、修改文件内容之后,一定要重新编译、连接、再运行。
3、\n的作用:回车换行。
第二种使用.c文件:
1.创建.c文本文件 编写代码 (或者用xcode创建.c文件)
2.在终端输入命令行 gcc -o /Users/wanghuan/Desktop/helloworld.exe /Users/wanghuan/Desktop/helloworld.c 进行编译生成一个exe的文件
或者 gcc /Users/wanghuan/Desktop/helloworld.c -o /Users/wanghuan/Desktop/helloworld.exe
3.执行exe文件
C语言仅有32个关键字,9种控制语句,和34种运算符:
32个关键字(由系统定义,不能重作其他定义)
auto break case char const
continue default do double else
enum extern float for goto
if int long register return
short signed sizeof static struct
switch typedef unsigned union void
volatile while
9种控制语句:
if-else
for
while
do-while
continue
break
switch
goto
return
C语言编译步骤
1.预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法。
2.编译:检查语法,将预处理后文件编译生成汇编文件
3.汇编:将汇编文件生成目标文件(二进制文件 机器语言)
4.链接:C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去
GCC编译过程
1.分布式编译
预处理:gcc -E 文件名.c -o 文件名.i -E:只进行预处理
编译 :gcc -S 文件名.i -o 文件名.s -S:只进行预处理和编译
汇编文件:gcc -c 文件名.s -o 文件名.o -c:只能进行预处理、编译和汇编
链接:gcc 文件名.o -o 文件名.exe 生成可执行文件
2.寄存器名字(了解 用于汇编语言的开发)
8位 16位 32位 64位
A AX EAX RAX
B BX EBX RBX
C CX ECX RCX
D DX EDX RDX