CMake代码优化编译选项

Mac有一次系统升级后,发现clang不支持了openmp了,最后brew安装了clang-omp。但是好不容易配置起来后发现程序运行速度巨慢,今天发现没有打开编译优化,在CMakeLists.txt文件中加入以下编译选项即可(o2优化,甚至o3):

SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
程序速度提升4~5倍

CMake使用Eigen

  • Eigen是一个开源的C++矩阵运算库,日常使用效果还是不错,更好的有Intel的MKL,但是收费的。
  • Eigen好在不用怎么配置,都是现成的.h/.cpp文件,直接把文件包含进工程目录里面即可。

配合CMake可以实现各个平台的使用: 有一个Demo

根目录是main.cpp、CMakeLists.txt文件和3rd目录,Eigen头文件包含在3rd目录下。 其中CMakeLists.txt文件内容如下

if(COMMAND cmake_minimum_required)
   cmake_minimum_required(VERSION 3.4)
endif(COMMAND cmake_minimum_required)
AUX_SOURCE_DIRECTORY(./ SOURCES)
INCLUDE_DIRECTORIES(./3rd)
add_executable(EigenTest ${SOURCES})
然后用cmake生成平台相应编译器的工程即可。

20170113

嗨呀,上个车自己给自己搞了一个大新闻,上了车发现书包还在候车室,急急忙忙分析了一通“车票500,书包电脑几千啊”,然后拿着行李飞奔了出来,然后才想起看看时间,21分发车,现在才15啊……以迅雷不及掩耳小叮当盗铃之势跑了出去拿,还好……赶上了

回家了……这边还是冷,湿冷湿冷的,不过我喜欢这种感觉啦。

谢谢朋友让寄宿一宿,省去不少住店费用。