20155317 2016-2017-2 蓝墨云班课考题第2周

20155317 2016-2017-2 蓝墨云班课考题第2周

三:

1.用gcc -g编译vi输入的代码

2.在main函数中设置一个行断点

3.在main函数增加一个空循环,循环次数为自己学号后4位,设置一个约为学号一半的条件断点

4.提交调试过程截图(一定包含条件断点的),要全屏,包含自己的学号信息

 第一步:输入 gcc -g *.c -o mian

 第二步:首先在mian中写入一个空循环,以学号为最终的结束点

 第三步:再输入gdb main 进入调试阶段;在调试阶段里,首先输入start 表示开始调试,再输入

 

20155317 2016-2017-2 蓝墨云班课考题第2周_第1张图片

课上遇到的问题:在课上做这道题目的时候,遇到输入生产main文件的指令,并没有生成main文件,原因是main文件里面没有add这些文件,所以并不能够成功编译成功,当时没有注意到没有可执行文件的生成,所以在盲目使用gdb,在课后,我重新编写了一个不带有add等函数的main文件,所以理所当然的生成了main文件,后面的步骤也就成顺利进行了

 

四:

1. 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.a静态库?main.c如何使用mymath.a?
2.  提交静态库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息

 20155317 2016-2017-2 蓝墨云班课考题第2周_第2张图片

 五:

.除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.so共享库?main.c如何使用mymath.so?
2.  提交共享库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息

这三条指令的目的就是制作一个共享库
20155317 2016-2017-2 蓝墨云班课考题第2周_第3张图片20155317 2016-2017-2 蓝墨云班课考题第2周_第4张图片

 六。makefile

1 写出编译上面vi编辑代码的makefile,编译出来的目标文件为testmymath, 只用显式规则就可以.

2 提交Make过程截图,要全屏,包含自己的学号信息

 其实makefile比较简单,通俗一点来讲,它就是采用了编程代替人工的思想,在假设文件特别多的情况下,我们可以写一个程序,然后让机器去做

makefile的步骤:

1.准备好要进行makefile的文件

2.makefile里的文件gcc一定要用tab键填入

3.在makefile文件里,头文件名一定要变色才可成功

4.运行makeffile 的命令:输入make就可以

20155317 2016-2017-2 蓝墨云班课考题第2周_第5张图片

七 myod

1 复习c文件处理内容

2 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能

3. main与其他分开,制作静态库和动态库

4. 编写Makefile

5 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息

6 在博客园发表一篇博客,重点写遇到的问题和解决过程

20155317 2016-2017-2 蓝墨云班课考题第2周_第6张图片

遇到的困难:1.在编写这个库的时候,需要两次用到makefile,同时制作了两个makefile文件,但是会出现找不到文件的问题

 20155317 2016-2017-2 蓝墨云班课考题第2周_第7张图片

解决的办法:经过一系列的学习发现,make命令只对文件名为makefile的文件起作用,如果换了名字,就算内容没有更改,那也无济于事。

 

转载于:https://www.cnblogs.com/wxwddp/p/7604273.html

你可能感兴趣的:(20155317 2016-2017-2 蓝墨云班课考题第2周)