信息安全系统设计第二周实验报告

linux下的C语言编程环境

 VIM是文本编辑器

       大写“K”可以用来查找函数的帮助信息:

     查看 man page,命令模式下,将光标放在函数名上,按"K"可以直接察看 man page。

预处理阶段:头文件和宏定义,—E可以让gcc在预处理结束之后停止编译过程,因此可以看到预处理的过程

一般格式为:gcc [选项] 要编译的文件 [选项] 目标文件

        gcc -E hello.c -o hello.i
·编译阶段:gcc将代码翻译成汇编语言,使用选项-S只进行编译而不进行汇编,结果生成汇编代码。

  gcc -S hello.i -o hello.s

汇编阶段:将.s文件转成目标文件,使用选项-c可以看到汇编代码转换为二进制目标代码。

         gcc -c hello.s -o hello.o
链接阶段:默认搜索链接到libc.so.6函数库当中,调用库文件中已经实现的函数。

    GCC:

  (1)预处理:gcc –E hello.c –o hello.i;gcc –E调用cpp

  (2)编 译:gcc –S hello.i –o hello.s;gcc –S调用ccl

  (3)汇 编:gcc –c hello.s –o hello.o;gcc -c 调用as

  (4)链 接:gcc hello.o –o hello ;gcc -o 调用ld

建议使用CGDB,比GDB好用,熟悉VC的调试方式,可以使用DDD。 注意使用GCC编译时要加“-g”参数。 参考gdb参考卡GDB最基本的命令有:

  • gdb programm(启动GDB)
  • b 设断点(要会设4种断点:行断点、函数断点、条件断点、临时断点)
  • run 开始运行程序
  • bt 打印函数调用堆栈
  • p 查看变量值
  • c 从当前断点继续运行到下一个断点
  • n 单步运行
  • s 单步运行
  • quit 退出GDB

 

posted @ 2015-09-27 15:18  武西垚  阅读(252)  评论(1编辑  收藏  举报