利用C语言实现,利用gcc进行编译。同时需要利用autotools工具生成Makefile文件,并利用make工具和生成的Makefile进行编译。
准备工作
(在服务器上操作时可直接按以下步骤,没服务器时需要下载虚拟机)
1.安装vi编辑器
2.安装gcc编译环境
3.安装autotools系列工具
创建文件夹
进入指定目录,创建并进入test1
在终端窗口利用vi编辑器来编辑源程序,进入vi编辑器后在键盘上按A,进行编辑,编辑完成后点击键盘上的Esc进行保存,然后输入:wq退出编辑器。
gcc编译源程序四阶段
- 预处理
- 编译
- 汇编
- 链接
- gcc test.c
将test.c预处理、汇编、编译并链接形成可执行文件a.out
- ./a.out
执行文件
-
gcc test.c -o test
将test.c预处理、汇编、编译并链接生成可执行文件test。-o选项表示要求编译器输出的可执行文件名为test
-
gcc -E test.c -o test.i
将test.c预处理输出test.i文件
-
gcc -S test.i
将预处理输出文件汇编成test.s文件
-
gcc -c test.s
将汇编输出文件编译输出test.o文件
-
gcc test.o -o test
将编译输出文件链接成最终可执行的test文件。输入./test即可运行成功。
autotools
此处在以上文件基础上进行编译
-
使用Autoscan工具自动创建文件:autoscan.log,configure.scan
-
将configure.scan的文件名修改为congigure.in(也可以修改为configure.ac)
-
利用vi编辑器修改configure.in文件
(1)将AC_INIT里面的参数修改为:AC_INIT(test,1.0,pxc@163.com)
(2) 添加宏AM_INIT_AUTOMAKE(test,1.0)
(3) 在AC_OUTPUT后面加上([Makefile])
- 使用aclocal,生成aclocal.m4和autom4te.cache(用于处理本地的宏定义)
- 使用autoconf,生成configure脚本
- 使用autoheader,生成congig.h文件。
- 创建Makefile.am文件
Automake工具会根据configure.in中的参量把Makefile.am转换成Makefile.in文件。所以在使用automake之前我们需要自己创建Makefile.am文件
AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=hello
hello_SOURCES=hello.c
8.使用Automake使其生成Makefile.in文件。这里需要使用选项–add-missing,可以让automake自动添加必需的脚本文件。
- 使用configure,运行自动配置设置文件configure,把Makefile.in变成Makefile。
- 测试