作者:mobiledu2502878025 | 来源:互联网 | 2023-07-01 21:50
一、实验目的1、熟悉Linux常用命令。2、掌握gcc编译器、gdb调试器的使用方法。3、会编写多文件的C程序,并使用gcc编译。4、熟悉makefile的结构和编
一、实验目的
1、熟悉Linux常用命令。
2、掌握gcc编译器、gdb调试器的使用方法。
3、会编写多文件的C程序,并使用gcc编译。
4、熟悉makefile的结构和编制,利用make命令编译程序。
二、实验内容
1、编写包含多文件的.c源码,通过调用自定义函数,实现功能:用户输入一个数字,程序计算并输出介于1至此数之间所有个位数为1的素数;如果不存在,则打印-1
2、直接使用gcc编译多个源文件并运行结果。
3、通过创建动态链接库lib***.so,使得 main 函数调用自定义函数时,可使用动态链接库,编译生成运行结果。
4、编写Makefile文件,使用make编译并运行。
三、实验源程序及结果截图
shiyan1.c文件:
![在这里插入图片描述](https://img0.php1.cn/3cdc5/6de3/5a0/97c62fb352551bfb.png)
zhishu.c文件:
![在这里插入图片描述](https://img0.php1.cn/3cdc5/6de3/5a0/973d525f86ba1abe.png)
zhishu.h文件:
![在这里插入图片描述](https://img0.php1.cn/3cdc5/6de3/5a0/82f26e62a73b2fcb.png)
第一部分:(直接编译)
![在这里插入图片描述](https://img0.php1.cn/3cdc5/6de3/5a0/a44e72caf60e1de4.png)
第二部分:(动态链接库)
![在这里插入图片描述](https://img0.php1.cn/3cdc5/6de3/5a0/2d06e10f1d205cca.png)
第三部分:(使用 vim makefile)
![在这里插入图片描述](https://img0.php1.cn/3cdc5/6de3/5a0/ace4aed21c211115.png)
![在这里插入图片描述](https://img0.php1.cn/3cdc5/6de3/5a0/115ae31e6d45f502.png)
四、实验问题总结
本实验做得就是一些基本的操作,难点就主要在最后一部分也就是用vim makefile来执行程序,vim编辑时按i可以进入编辑模式,按esc可以退出编辑,在这里也可以声明变量,方便对文件的控制,使用这一方式可以方便的执行比较多的文件。在makefile文件中的格式一般为目标体:再加上相应的gcc编译命令。在执行gcc编译命令时,可以直接用gcc xx.c -o xx的形式形成可执行的目标文件而不必依次输入预编译、编译不汇编、编译不连接、最后连接生成的gcc命令。