编译
wuzhidefeng
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何提高C++代码质量
一般来说,人员的技术水平和代码质量的高低息息相关,但是人员技术水平的提高不是一朝一夕能够完成的。那么除此之外,我们有什么方法能够短时间提高团队的代码质量呢。从我过往的经验来说,有两个东西时间投入成本不大,但是对代码质量提高非常有作用,他们就是严格的编译条件以及第三方的检测工具。严格的编译条件目前编译器非常智能,很多危险或者异常的语法都能够被编译器捕获到,所以我们一定要善用编译器的分析功能,让编译器对我们的代码进下严格的检查。由于我一般使用Linux系统,编译器就选择了GCC,编译工具使用CMake,原创 2021-07-22 11:45:24 · 504 阅读 · 0 评论 -
编译程序时链接动态库so的一些问题
linux下开发程序,我们经常会调用第三方的动态库,大家可能经常会碰到cannot find lxxx类似的报错。这类报错一般有三个可能。第一种,电脑上没有相应的库,程序在链接的时候自然找不到该动态库。确认是不是这个问题非常简单,使用find命令搜索一下即可。若没有,安装对应的so程序即可。第二种,电脑上有相应的库,但是库所在的目录不在编译搜索的目录内。一般/lib和/usr/lib是...原创 2019-11-13 17:14:03 · 866 阅读 · 0 评论 -
linux编译之头文件搜索路径
c/c++开发,一般开头都要include一堆头文件,那么在系统编译的时候,编译器是去哪儿寻找这些头文件?首先include有两种写法,一种是#include <xxxx>,另一种是#include "xxx"。这两种写法的区别是#include "xxx"会首先在当前目录下搜索头文件(不递归),如果找不到的话再去系统目录下寻找。而#include <xxxx>是直接去系统目录下寻找。下面具体来讲在系统目录下的搜索原则。搜索顺序是编译时指定的目录>环境变量指定的路径原创 2020-05-28 14:11:51 · 1031 阅读 · 0 评论 -
linux编译运行之动态库搜索路径
之前的文章讲了遇到cannot find lxxx报错的解决方案,今天系统的说下动态库搜索路径机制。动态库搜索分为两个时期:编译期和运行期。一、编译期1、通过-L命令指定。比如-L ./指定在当前目录下搜索动态库文件2、在LIBRARY_PATH变量中指定3、系统固定搜索目录:/lib、/usr/lib二、运行期1、编译时通过-Wl,-rpath指定2、在LD_LIBRARY_PATH变量中指定3、在/etc/ld.so.conf或者/etc/ld.so.conf.d/x原创 2020-05-28 16:16:56 · 526 阅读 · 0 评论 -
虚拟机通过挂载windows目录编译程序的问题
记一个问题的解决过程,从中正好回顾一下linux的相关知识。问题是这样的,有一份代码在公司的服务器上编译没有问题,后来感觉经常要往服务器传代码编译有点麻烦,就想在自己的虚拟机上搭建一个编译环境。环境搭好之后,通过挂载的方式直接在虚拟机上访问本地windows下的代码进下编译,编译不过。问题可以精简成这样,有一个cpp名叫Termios.cpp,其代码包含了Termios.h这个头文件,而T...原创 2020-04-03 18:47:39 · 599 阅读 · 0 评论 -
编译时搜索头文件会不会搜索子文件夹
用gcc或者g++编译的时候,比如头文件会搜索1、当前目录 2、-I指定的目录 3、搜索gcc的环境变量CPLUS_INCLUDE_PATH(C程序使用的是C_INCLUDE_PATH)4、GCC安装的目录(可以通过gcc -print-search-dirs查询)5、/usr/include和/usr/local/include。 但是搜索这些目录的时候会不会搜索这些目录下面的子文原创 2017-08-07 17:50:23 · 2666 阅读 · 0 评论
分享