码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-09-23 22:32:44      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:comm   令行   补全   error   内容   理解   ror   mat   test   

 

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


教材内容总结

 GCC编译

1.单文件

  • 预处理: gcc -E hello.c -o hello.i 
  • 编译: gcc -S hello.i -o hello.s 
  • 汇编: gcc -c hello.s -o hello.o 
  • 链接: gcc hello.o -o hello 
  • 或者直接用ESC.iso

2.多模块

一起编译: gcc testa.c testb.c -o test 或者 gcc *.c -o test  分别编译各个源文件,之后对编译后输出的目标文件链接

3.-I参数

.h文件放在include中,.c文件放入src中 用于指明头文件路径*

GDB命令行界面使用技巧

  • 条件断点
  • 设置断点:b 5(如果要在第五行断点)
  • 条件断点:b 5 if i=5
  • 命令补全:TAB
  • gdb常用命令:

静态库与动态库

静态库 生成:

  • 生成四个.o文件 gcc -c -I/头文件所在路径 add.c sub.c mul.c div.c 
  • 生成静态库 ar rcvs libmath.a add.o sub.o mul.o div.o 
  • 调用:先后使用 gcc main.c -o main -I/头文件所在路径 -L. -lmath 和 ./main 来生成main文件并调用静态库执行文件

动态库 生成:

  • 生成四个文件: gcc -fPIC -c -I/头文件所在路径 add.c sub.c mul.c div.c 
  • 生成动态库(共享): gcc -shared -o mymath.so add.o sub.o mul.o div.o 
  • 调用: gcc -I/头文件所在路径 -o main main.c -L. -lmath 

MakeFile

  • 创建:

    •  vi makefile 
  • 书写:

    • targets :  prerequisites 
    • 或者targets :  prerequisites  ;  command 

学习过程中遇到的问题


  • 问题1:fatal error:找不到head.h

    • 解决方案:在上级目录中输入 gcc src/main.c -o src/main lib/libmath.a -I include 生成main文件
  • 问题2:对于计算机运行代码的原理仍存在不理解,不熟悉

    • 解决方案:记主ESC、ISO,

      • 预处理:gcc -E hello.c -o hello.i
      • 编译:gcc -S hello.i -o hello.s
      • 汇编:gcc -c hello.s -o hello.o

      并多动手测试,不局限于课程中的案例。


 

学习进度条

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

 


    

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

标签:comm   令行   补全   error   内容   理解   ror   mat   test   

原文地址:https://www.cnblogs.com/FenixRen/p/9693576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!