苏嵌嵌入式Linux实训 第三天

一 编译器三级优化分别优化了那些?
第一级:代码调整是一种局部的思维方式;基本上不触及算法层级;它面向的是代码,而不是问题; 所以:语句调整,用汇编重写、指令调整、换一种语言实现、换一个编译器、循环展开、参数传递优化等都属于这一级。第二级:新的视角强调的重点是选择和构造适合于问题的算法,很多经典算法都对问题作了一些假设,而在面对实际问题时“新的视角”告诉我们应该重新检视这些假设,并尝试不同的思考问题的角度,寻求适合于问题的新算法。发掘问题的本来意义,从不同的角度思考面对的问题,使用适合于问题的的算法; 尝试打破一些规则,发掘和怀疑自己的某些假定,恢复问题的本来面目。第三级:将问题抽象为另一种等价的数学模型或假想机器模型,比如构造出某种表驱动状态机。这一级是第二级的延伸,产生的效果更加明显,但它有其本身的特点。这一级一般可以产生快速程序,思考时很多已有概念不再重要,剩下的只是那个表驱动状态机。一些输入驱动着一个带有状态的机器按设定好的最短路线运转着,除此之外一无所有。
二 总结gcc静态库和动态库的制作
静态库:制作步骤主要以下几步:
1.根据源文件使用gcc -c 自动生成.o文件gcc -c *.c -I …/include
2.使用ar命令将.o文件归档ar rcs libmylib.a *.o
动态库:制作步骤主要以下几步:
1.使用-fpic参数将源文件编译成.o文件gcc *.c -c -fpic
2.使用gcc -shared打包gcc -shared *.o -o libmylib.so
三 总结CMake用法
CMake的所有的语句都写在一个叫:CMakeLists.txt 的文件中。当CMakeLists.txt文件确定后,可以用ccmake命令对相关 的变量值进行配置。这个命令必须指向CMakeLists.txt所在的目录。配置完成之后,应用cmake命令生成相应的makefile或者 project文件。其基本操作流程为:
$> ccmake directory
$> cmake directory
$> make
其中directory为CMakeList.txt所在目录;第一条语句用于配置编译选项,如VTK_DIR目录 ,一般这一步不需要配置,直接执行第二条语句即可,但当出现错误时,这里就需要认为配置了,这一步才真正派上用场;第二条命令用于根据CMakeLists.txt生成Makefile文件;第三条命令用于执行Makefile文件,编译程序,生成可执行文件。
本文为参加苏嵌嵌入式学习学习总结,部分材料源于互联网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值