Linux c 学习第一天
安装Ubuntu Server
在Ubuntu官网下载Ubuntu Server版
安装选择English语言 USA键盘
Linux简单命令
使用sudo su切换到root账户
使用mkdir创建目录
使用touch新建文件
使用rmdir删除目录
使用rm删除文件
安装GCC编译器
sudo apt-get install build-essential
Ubuntu使用此命令自动安装GCC
简单使用vim编辑器
vim hello.c //创建hello.c文件并使用vim打开
i //插入文本
:w //保存文件
:wq //并退出
使用gcc编译器
GCC编译器编译程序要经过预处理、编译、汇编、连接四个阶段
从功能上分,预处理、编译、汇编是三个不同的阶段,但GCC的实际操作上,可以把这三个步骤合为一个步骤来执行。
在预处理阶段,输入的是C语言源文件,通常为*.c。源文件中通常带有.h之类头文件的包含文件。在这个阶段主要处理原文件中的#ifdef、#include和#define命令。该阶段会生成一个中间文件*.i,但实际工作中不用专门生成这种文件,因为基本上用不到;若非要生成这种文件不可,可以利用下面的示例命令。
gcc -E test.c -o test.i
在编译阶段,输入的是中间文件*.i,编译后生成汇编语言文件*.s。这个阶段对应的GCC命令如下
GCC -S test.i -o test.s
在汇编阶段,将输入的汇编文件*.s转换成机器语言*.o。这个阶段对应的GCC命令如下
GCC -c test.s -o test.o
最后,在链接阶段将机器代码文件*.o(与其他机器代码文件和库文件)汇集成一个可置信的二进制代码文件。这一步骤,可以利用下面的命令完成
GCC test.o -o test
上面是GCC编译过程的四个阶段以及相应的命令,下面进一步介绍常用的GCC模式
GCC常用模式
把一个源文件编译成一个可执行程序
GCC test.c -o test
把多个源文件编译成一个可执行程序(生成可执行程序的源文件只能有一个main函数)
GCC test.c test2.c test3.c –o test
GCC警告功能
当GCC在编译过程中检查出错误的话,它就会中止编译;但检测到警告时却能继续编译生成可执行程序,因为警告只是针对程序结构的诊断信息,它不能说明程序一定有错误,而是存在风险,或者可能存在错误。虽然GCC提供了非常丰富的警告,但前提是你已经启用了它们,否则它不会报告这些检测到的警告。
在众多的警告选项之中,最常用的就是-Wall选项。该选项能发现程序中一系列的常见错误警告,该选项用法举例如下:
$ gcc -Wall test.c -o test