linux常用命令

1、cmake ./     :Configuring done  Generating done  Build files have been written to

2、make          :生成 linux下可执行文件 、 .a(静态库)  .so(动态库)
 

3、./xxx  2 ./inpath ./outpath   :通过命令运行可执行文件, 后面参数( 2 ./inpath ./outpath )  表示输入到可执行文件的命令参数值

4、g++ -o test main.cpp libCal_Algorithm.so   :测试编译可执行程序调用动态库(so)
 

5、ldd -r xxx.so 命令查看so库链接状态和错误信息

6、nm -g  xxx.so 查看动态库下所有导出的接口符号

7、find  / -name  "xxx.so"  查询磁盘上的 xxx.so动态库文件

8、export  LD_LIBRARY_PATH = /home/test/:$LD_LIBRARY_PATH  设置加载的库文件目录

9、gdb ./xxx  //启动gdb调试    gdb --args ./A V1 V2 V3  //gdb调试带参数的的可执行程序
10、b   bin/home/test.cpp:100  代码中某一行打断点

11、r  运行 
continue(简写c):继续执行程序,直到下一个断点或者结束;
next(简写n ):单步执行程序,但是遇到函数时会直接跳过函数.不进入函数;

step(简写s)∶单步执行程序,但是遇到函数会进入函数;
until:当你厌倦了在一个循环体内单步跟踪时,这个命令可以运行程序直到退出循环体;

until+行号:运行至某行,不仅仅用来跳出循环;
finish:运行程序,直到当前函数完成返回,并打印函数返回时的堆栈地址和返回值及参数值等信息;
 

12、pwd 显示当前终端所处目录

13、编写CMakeLists.txt{
        

cmake_minimum_required(VERSION 2.6)

#包含依赖的头文件目录

include_directories(/home/yzn/桌面/shaoxing/kennal/algtithm_interface)
include_directories(/home/yzn/桌面/shaoxing/sourcecode/CustomAlgrithm)
 

#${CMAKE_CXX_FLAGS }
set(CMAKE_CXX_FLAGS "-std=c++11 -lpthread -g")

#project (CIMSVG_IMPORT)
# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_SRCS_TEMPLATE,DIR_SRCS_PLATFORM 变量
aux_source_directory(../../sourcecode/CustomAlgrithm/template_Custom/ DIR_SRCS_TEMPLATE)
aux_source_directory(../../sourcecode/CustomAlgrithm/PlatForm_Interface/ DIR_SRCS_PLATFORM)
 

add_compile_options(-shared -fPIC -L. -lstatic_shared)

#编译so文件
add_library (Cal_Algorithm SHARED ${DIR_SRCS_TEMPLATE} ${DIR_SRCS_PLATFORM} )
 

}

14、gcc --version  查看gcc编译器版本

15、rm -rf  递归强制删除目录及其内容

16、tar -zcvf  xxx.tar.gz xxx   //把 xxx文件夹打包后生成一个 xxx.tar.gz的文件。
17、tar -xvf  xxx.tar.gz //把xxx.tar.gz压缩文件解压到当前文件夹下。

18、查看lib库.a .so的支持cpu架构 arm64 armeabi
 

类Unix操作系统(Linux or Minix or mac os):

使用file或者objdump命令,推荐使用objdump,给出的信息更多,例如

file  /lib/libc.so

objdump  /lib/libc.so

如果是.a文件,需要先使用ar命令将文件转成.o文件,然后使用上面的命令file(or objdump),例如:

ar -x libchipmunk.a(ar命令会生成新文件,所以建议将目标文件copy到其他地方再使用ar -x命令)

mac 下面还可以使用lipo,例如 查看支持构架的命令是lipo -info xxxxx.a,合并真机和模拟器的库的命令是 lipo -create xxxx_iphoneos.a xxxx_simulator.a -output xxxx.a等

windows下面需要其他工具,可以在这个网站找找:

http://gnuwin32.sourceforge.net/packages.html

19、

Linux 运行的时候,是如何管理共享库(*.so)的?在 Linux 下面,共享库的寻找和加载是由 /lib/ld.so 实现的。 ld.so 在标准路经(/lib, /usr/lib) 中寻找应用程序用到的共享库。

但是,如果需要用到的共享库在非标准路经,ld.so 怎么找到它呢?

目前,Linux 通用的做法是将非标准路经加入 /etc/ld.so.conf,然后运行 ldconfig 生成 /etc/ld.so.cache。 ld.so 加载共享库的时候,会从 ld.so.cache 查找。

传统上,Linux 的先辈 Unix 还有一个环境变量:LD_LIBRARY_PATH 来处理非标准路经的共享库。ld.so 加载共享库的时候,也会查找这个变量所设置的路经。

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./lib

export LD_LIBRARY_PATH

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值