10.30部分课堂笔记

来源:互联网 发布:域名劫持案例 编辑:程序博客网 时间:2024/05/10 21:57

1.linux编译三级优化

-O 和 -O1 :对程序做部分编译优化,对于大函数,优化编译占用稍微多的时间和相当大的内存。优化时编译器会试着减小生成代码的尺寸,缩短执行时间并不执行,余姚占用大量的编译时间。

-O2:Gcc将执行几乎所有的不包含时间和空间折中的优化。当设置O2选项时,编译器并不进行循环打开()loop unrolling以及函数内联。与O1比较而言,O2优化增加了编译时间的基础上,提高了生成代码的执行效率。

-O3:比O2更进一步的进行优化。在包含了O2所有的优化的基础上,又打开了以下优化选项:

             -finline-functions:内联简单的函数到被调用函数中。

             -fweb:构建用于保存变量的伪寄存器网络。

             -frename-registers:在寄存器分配后,通过使用registersleft over来避免预定代码中的虚假依赖。

             -funswitch-loops:将无变化的条件分支移出循环,取而代之的将结果副本放入循环中。

2.编译调试部分指令

    gcc -g  文件.c     调试编译

    gdb +可执行文件       进入调试模式;      

    run/r   执行程序;  

    list/l  查看源代码;   

    break/b  21    设置打断点为21行;run之后即可考到程序停在21行;

    next/n  一步一步的进行下一步(不会进入函数);step  进行下一步 (会进入函数)

    print  打印想要查看的信息;

    continue/c  继续执行并结束程序;finish  结束当前函数;  

    info break  查看断点信息,; delete  +断点编号(断点信息内)   删除断点;

    quit  退出调试

3.C语言相关

    C语言与汇编语言:硬件初始化时使用汇编语言,其余可使用c语言

    C语言语言特色:出色的可移植性,具有很高的运行效率;能直接发访问硬件

    C语言相对其他语言的不足:代码的复用性差(结构套结构);代码的维护性差;代码扩展性差;代码可读性差。

    

    

    

    

0 0
原创粉丝点击