※GCC的应用
1. GCC选项
【格式】gcc [-选项] [文件名]
预处理 –E
【格式】gcc –E test.c –o test.i
编译 –S
将C语言代码转换为汇编语言
【格式】gcc –S test.i –o test.s
汇编 –c
将汇编语言转换为二进制
【格式】gcc -c test.s –o test.o
链接 -o
将二进制转化为可执行文件
【格式】gcc test.o –o test
Tips:可以跳过中间步骤直接生成想要的文件
-g:获得调试详细信息
-w:禁止所有告警信息
-O/-O2/-O3:优化状态打开
time ./:看运行时间
-Idirectory:在包含文件搜索路径的起点处添加制定目录
-llibrary:提示链接程序在创建最终可执行文件时包含制定的库
-share:使用动态库
-Wall/-pedantic:告警提示
-pipe:加速
2. 静态库
通过-L选项向GCC的库文件搜索路径中添加新的目录,-l制定具体的库文件,或者查找环境变量LD_LIBRARY_PATH。
例:文件夹中4个文件:main.c,plus.c,subtract.c,mymath.h
# gcc -c plus.c subtract.c main.c
> 生成目标文件
# ar cr libmath.a plus.o subtract.o
> 生成静态库文件
# gcc -o math main.o libmath.a
> 生成可执行文件
3. 动态库
把库拷贝到/usr/lib的内定目录下。或者在LD_LIBRARY_PATH环境变量中加上库的路径。
# gcc –c plus.c subtract.c main.c
> 生成目标文件
# gcc –shared –fPCI –o libmath.so plus.osubtract.o
> 生成共享库文件
# gcc –o math main.c –L. –lmath
> 生成可执行文件
Tips:如果同时存在,则默认首先使用动态库。
# ldd math
整理出所有依赖的库文件。
※Vim的应用
1.Vi的三种模式:
编辑模式 ←—— 一般模式 ——→ 命令行模式
a、i、o :、/、?
2.编译方法:
gedit [filename]
gcc [filename]
./a.out
3.常用命令:
:q :退出
:q! :强制退出
:w :保存文件(后加目录:另存为)
:wq :保存并退出
:set number :显示行号
/word:查找单词(从上到下)
?word:查找单词(从下到上)
n:定位下一个匹配的字符
N:定位上一个匹配的字符
:%s/old/new/g:替换所有old为new(末尾+c,每一次替换都有提示信息)
行号+G:移动到行首
dd:删除光标所在行
ndd:删除光标下n行(包括光标所在行)
x:删除光标后字符
X:删除光标前字符
shift+ZZ:保存并退出
反思:实训的第二天内容。学会了用Vim编程,gcc编译,生成静态库或动态库。在Vim上实现了冒泡排序、选择排序和快速排序的编程。要学习拆分.c文件和将函数写入.h文件的思想。