LINUX系统程序设计中C/C++编程工具使用

一、实验目的
掌握gcc编译器的使用 掌握gdb调试器的使用 掌握make工程管理器的使用 理解Makefile文件的格式,掌握Makefile文件的编写规则
掌握automake autoconfigure等工具的用法.
二、实验软硬件环境
硬件:PC机 一台 软件:Ubuntu系统
三、实验内容


有一个简单的工程,其目录和文件结构如下所述:工程的最高层目录test中有一个hello.c文件和lib、include两个子目录。在lib目录中有一个print.c文件,在include目录中有一个print.h文件。
(1)为该工程编写automake的输入配置脚本Makefile.am,configure.ac
(2)请上机练习使用Gnu Autotools工具为该工程创建Makefile文件,并编译该工程。

四、实验结果与讨论

建立Test文件夹,在文件夹中创建hello.c文件


在hello.c中输入代码

在print.c中输入代码

在print.h中输入代码

编写Test和lib中的Makefile.am 文件


SUBDIRS = lib

AUTOMAKE_OPTION = foreign
bin_PROGRAMS = hello
hello_SOURCES = hello.c
include_HEADERS=./include/print.h
hello_LDADD= ./lib/libprint.a

noinst_LIBRARIES = libprint.a
libprint_a_SOURCES = print.c print.h
运行 autoscan并修改configure.scan且更名为configure.ac


AC_INIT(hello,0.01 )
AM_INIT_AUTOMAKE
AC_PROG_RANLIB
输入并执行”aclocal”命令
输入并执行”autoconf”命令
输入并执行”autoheader”命令
输入并执行”automake –add-missing”命令
输入并执行”./configure”命令,即可生成Makefile文件
输入并执行”make “命令,编译文件,生成 hello 文件
” ./hello “执行hello文件,运行结果如下:


讨论、实验过程的体会、心得、进一步的思考:

刚开始无法安装autoconf这个软件,因为无法获得锁,于是强制解锁安装了autoconf

刚开始卡在不会重命名文件,后来知道了mv a b就是把a重命名为b
不小心把mv打成了rm误删了文件于是又重新写了一遍
刚开始要改成configure.ac而不是.in


在执行automake –add-missing时缺失很多文件,需要用touch NEW READEME **等等(**为缺失的文件名)来补齐文件



后来生成make文件的时候一直报错,找了很久的错误。后来找到问题是因为直接在word上打完复制了代码,字符是中文字符而不是英文字符导致一直出错,改好后终于可以运行了。

最终打出来Hello,the Linux world!

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信