• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
20175221曾祥杰
我不喜欢这世界 我只喜欢你
博客园    首页    新随笔    联系   管理    订阅  订阅

20175221 《信息安全系统设计基础》第3周学习总结

教材学习内容总结

一、熟悉Linux系统下的开发环境

二、熟悉vi的基本操作

三、熟悉gcc编译器的基本原理

四、熟练使用gcc编译器的常用选项

gcc使用命令:

实验楼练习:

  1. 每个.c一个文件,每个.h一个文件,文件名中最好有自己的学号
  2. 用Vi输入图中代码,并用gcc编译通过
  3. 在Vi中使用K查找printf的帮助文档
  • 首先用 vim 编辑代码
  • 使用 gcc 编辑命令将文件依次处理为: .c → .i → .s → .o → 可执行文件 ,然后运行:

五、熟练使用gdb调试技术

  • gdb使用命令:

六、熟悉makefile基本原理及语法规范 

七、掌握静态库和动态库的生成与调用方法

静态库

  • 将 add.c sub.c div.c mul.c 放到一个文件夹下,用 gcc-c 预处理后, ar rcvs 制作静态库

动态库

  • 用 gcc -g -shared -fpic 调用函数子文件, gcc -g 选中主函数,制作动态库

 

八、理解C程序中模块的概仿,模块分解的“高内聚,低耦合”的原则

九、了解链接的概念

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

无

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

  • 问题1:无法使用 gcc 命令

  • 问题1解决方案:

  • 在尝试 sudo apt install gcc 无果后, sudo apt-get update , sudo apt install gcc 重新进行了下载
  • 问题2:找不到头文件

  • 问题2解决方案:PPT里边将head.h放在另外创建的include文件夹中,导致直接编译时无法找到,我们在src中复制一份即可。

  • 问题3:预处理→汇编时报错
  • 问题3解决方案:这里由于编辑代码时将div编成了mul,导致出错。回到div.c改正后再处理即可
  • 问题4: gcc -g main.c -o main 时函数未定义的引用
  • 问题4解决方案:既然知道是缺少了函数的具体实现,那么就给它这个函数的实现就好了,在编译时一同编译函数。
  • 问题5:linux gdb 没有符号表被读取。请使用 "file" 命令。

  • 问题5解决方案:

  • 原因是生成的二进制可执行文件没有使用-g选项。

  • gcc中-g选项是为了获得有关调试信息,要用gdb进行调试,必须使用-g生成二进制可执行文件,

    1.删除该程序原有的可执行文件

    2.gcc -g example.c -o example

  • 代码托管

 

上周考试错题总结

无

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

xxx xxx

学习进度条

 代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标 5000行 30篇 400小时  
第一周 53/53 1/1 20/20  

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

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

  • 计划学习时间:XX小时

  • 实际学习时间:XX小时

  • 改进情况:

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

参考资料

  • 《深入理解计算机系统》
  • gcc编译时对’xxxx’未定义的引用问题
  • linux gdb 没有符号表被读取。请使用 "file" 命令。
posted @ 2019-09-22 22:22  20175221曾祥杰  阅读(342)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3