• 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小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    NFS与通配符
    yum管理RPM包与linux网络设置
    git常用命令总结——覆盖日常开发全操作
    inner join on会过滤掉两边空值的条件
    入园第一天
    P3750 [六省联考2017]分手是祝愿 题解
    CSP2021 爆零记
    CSP 前模板记录(黄题篇)
    对拍
    2021.10.20CSP模拟模拟赛 赛后总结
  • 原文地址:https://www.cnblogs.com/zxja/p/11569455.html
Copyright © 2020-2023  润新知