包含标签 C/C++ 的文章

g++中的rpath和runpath

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 缘由 最近在弄Linux上的程序,然后由于涉及到要调用mkl的包(armadillo中用mkl+openblas要快很多),而mkl安装的时候库是不会进入/usr/lib这样的系统路径下的,然后引发了一些问题。 链接 稍微对程序的加载等方面熟悉一点的童鞋会知道,C++分为编译链接和运行两个部分,对于g++这样的编译器来说,需要链接器知道要加载的动态链接库(共享对象)的位置,对于一个二进制文件来说,在运行的时候也需要知道动态链接库的位置,这就涉及到两个链接,一个是编译时链接,一个是运行时链接。 在g++中,这两个链接是由两个参数来控制的,一个是-L,一个是-Wl,-rpath,由于之前弄明白链接的过程之后使用了这两个参数,程序没有出问题。但是这次我发现即使配置了这两个参数仍然有问题,上网查了一下,又深入了一点点。 rpath和runpath 这涉及到另外一个小知识,大家应该知道Linux中的可执行文件是elf格式的文件,这种文件以段来进行区域划分,在可执行文件的elf中,就存在一个section,名字叫做rpath,这里面存储了执行这个文件的时候搜索库的位置,因此在加载可执行文件的时候就会在这个位置搜索库。……

阅读全文

用C++实现一个命令行进度条

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 缘起 最近做GWPCA,在带宽比较大的时候速度太慢了,需要有个进度条指示一下,然后我去找进度条的库,发现github上面的C/C++的相应的库似乎没有能在VS下跑的,自己花了点时间写了一个。 效果 实现 大概需要考虑这样几个要素……

阅读全文