2017-2018-1 20155202 《信息安全系统设计基础》第2周学习总结

本文总结了GCC编译器的基本使用方法,包括如何通过GCC命令进行编译、连接、生成静态库和动态库等操作,并详细解释了常用选项如-o、-c的作用。此外还介绍了makefile的创建及代码调试技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2017-2018-1 20155202 《信息安全系统设计基础》第2周学习总结

教材学习内容总结

  • gcc -g *.c(编译的程序) -o 新的名字(执行文件) 指令生成的文件的名字
  • cgdb 进入调试
  • gcc -o text prog.o code.o == gcc prog.o code.o -o text (都是将prog.o和code.o连接成可执行的二进制文件text)
  • gcc -c test.c <==> gcc -c test.c -o test.o 编译test.c,成功时输出test.o
创建静态库

1072527-20171001144733840-524096758.png

  • 生成静态库文件是.a文件
创建动态库
  • 输入命令: gcc -shared -fpic -o math.so add.c sub.c mul.c div.c
    math.so是动态库文件
关于输入命令:
  • gcc –c test.c,表示只编译test.c文件,成功时输出目标文件test.o
  • gcc –c test.c –o test.o ,与上一条命令完全相同
  • gcc –o test test.o,将test.o连接成可执行的二进制文件test
  • gcc –o test test.c,将test.c编译并连接成可执行的二进制文件test
  • gcc test.c –o test,与上一条命令相同
  • gcc –c test1.c,只编译test1.c,成功时输出目标文件test1.o
  • gcc –c test2.c,只编译test2.c,成功时输出目标文件test2.o
  • gcc –o test test1.o test2.o,将test1.o和test2.o连接为可执行的二进制文件test
  • gcc –c test test1.c test2.c,将test1.o和test2.o编译并连接为可执行的二进制文件test

    教材学习中的问题和解决过程

    (一个模板:我看了这一段文字 (引用文字),有这个问题 (提出问题)。 我查了资料,有这些说法(引用说法),根据我的实践,我得到这些经验(描述自己的经验)。 但是我还是不太懂,我的困惑是(说明困惑)。【或者】我反对作者的观点(提出作者的观点,自己的观点,以及理由)。 )

  • 问题1:makefile怎么弄
  • 问题1解决方案:
    1072527-20171001144301028-2082020987.png
    1072527-20171001144304825-919481242.png
    1072527-20171001144313450-1030025020.png
    1072527-20171001144119153-1887114701.png

代码调试中的问题和解决过程

  • 问题1:myod里面 -o 是什么意思
  • 问题1解决方案:简单的GCC语法:
    如果你只有一个文件(或者只有几个文件),那么就可以不写Makefile文件(当然有Makefile更加方便),用gcc直接编译就行了。在这里我们只介绍几个我经常用的几个参数,第一是 “-o”,它后面的参数表示要输出的目标文件,再一个是 “-c”,表示仅编译(Compile),不连接(Make),如果没有”-c”参数,那么就表示连接
    参考(http://blog.youkuaiyun.com/tomatofly/article/details/6035363)

  • ...

代码托管

(statistics.sh脚本的运行结果截图)
1072527-20171001144442731-1541894298.png

上周考试错题总结

结对及互评

结对对象20155339,这周回家

点评模板:

  • 博客中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 其他

本周结对学习情况

- [结对同学学号1](博客链接)
- 结对照片
- 结对学习内容
    - XXXX
    - XXXX
    - ...

其他(感悟、思考等,可选)

本周东西比较少,看实验楼就可以完成任务

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周200/2001/220/20
第二周300/5002/418/38

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:XX小时

  • 实际学习时间:XX小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

转载于:https://www.cnblogs.com/zx20155202/p/7617180.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值