![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux项目编译
文章平均质量分 58
大飞飞鱼
做自己喜欢的事情,任凭别人去说吧
展开
-
segfault信息分析:segfault at a ip 00007f4220309664 sp 00007fff580042b0 error 4 in librt-2.17.so[7f422030
linux有一个工具 addr2line命令,可以帮助定位排查segfault,本文示例了如何使用这种技术来定位访问违规的问题。原创 2023-11-30 22:59:23 · 1076 阅读 · 1 评论 -
incompatible types when initializing type ‘float32x4_t’ using type ‘float32x2_t’
在编译 libopus时,出现 celt/arm/celt_neon_intr.c:137:14: error: incompatible types when initializing type ‘float32x4_t’ using type ‘float32x2_t’ SUMM = vmlaq_lane_f32(SUMM, YY[0], vget_low_f32(XX[0]), 0);通过修改arm_neon.h文件中的vmlaq_lane_f32宏定义来解决问题。原创 2022-03-23 19:05:17 · 2272 阅读 · 0 评论 -
shell脚本如何判断上一个命令执行是否成功
shell脚本通过$?来获取上一条语句的返回值,如果成功则 $? 等于0,否则为失败。因此可以通过$? 来判断上一个命令执行是否成功原创 2022-03-22 19:36:45 · 7643 阅读 · 0 评论 -
shell 脚本如何判断文件是否存在
Linux系统脚本编程判断文件是否存在的所有选项,包含判断是否常规文件、是否目录、是否链接文件、是否可执行文件等。原创 2022-03-22 18:48:12 · 44892 阅读 · 0 评论 -
shell变量 $*与 $@的区别
$*和$@的区别:在没有双引号包裹时,$*与 $@相同:都是数组;被双引号包裹时,$*与 $@不同:"$@"为数组,"$*"为一个字符串#!/bin/shsome_func() { for var in $@ do echo ${var} done}#---other_func() { for var in $* do ech.原创 2022-03-15 15:34:23 · 4437 阅读 · 0 评论 -
Linux 动态库加载位置与设置
在linux系统中,如果某些代码做成动态库后,exe文件在加载时需要知道怎么找到这个动态库,即使这个动态库文件与exe文件放在同一目录下也不一定加载成功。位置搜索顺序如下:1)在ELF可执行文件中动态段DT_RPATH指定,需要在gcc 编译是加入链接参数“-Wl,-rpath”指定动态库搜索路径;2)环境变量LD_LIBRARY_PATH指定路径;3)/etc/ld.so.cache中缓存的动态库路径。可以通过修改配置文件/etc/ld.so.conf 增删路径(修改后需要运行ldconfig原创 2022-03-14 16:03:30 · 3025 阅读 · 0 评论 -
GCC详解的-Wl选项说明
在GCC编译程序时,由于GCC命令不经能够编译,也能够链接程序,GCC链接程序是通过ld命令实现的,如何将GCC的命令行参数传递给ld命令呢,这就是通过-Wl,来实现的。格式如下:gcc -Wl,param1,param2,param3,...在调用ld命令时,会等效于如下:ld param1param2param3注意:-Wl, 后的逗号(,)必不可少,如果要传递多个参数,参数间用,分隔-Wl,-Bstatic指定后续ld在处理 -l 参数来链接库文件的链接方式首...原创 2022-03-13 23:36:47 · 7198 阅读 · 0 评论 -
Linux 中的Shell 字符串表达式 计算笔记
在linux系统的SHELL脚本编程中,经常要处理一些字符串变量。比如,计算长度、截取子串、字符替换等,常常要用到awk、expr、sed、tr等命令。但shell脚本对字符串操作经常用简单的字符串处理表达式来操作,这种简单表达式特别容易忘记,笔者在此做下笔记。${#VALUE}:计算VALUE字符串的字符数量。${VALUE%.*}或${VALUE%%.*}:删除VALUE字符串中以分隔符“.”匹配的右边字符,保留左边字符。${VALUE#*.}或${VALUE##*.}原创 2022-03-13 12:39:13 · 382 阅读 · 0 评论 -
apt-get 使用说明
apt-get ,全称Advanced Package Tool,是一款适用于Unix和Debian系统的应用程序管理器。apt-get命令一般需要root权限执行,所以一般跟着sudo命令。apt 常见命令用法说明格式:apt-get <command> [packagename]packagename 指代为软件包的名称。apt-get update在修改/etc/apt/sources.list或/etc/apt/preferences之后运行该命令。此外您需要..原创 2022-02-15 19:25:06 · 1686 阅读 · 0 评论 -
error while loading shared libraries: libssl.so.10: cannot open shared object file: No such file ...
libssl.so.10: cannot open shared object file原创 2021-12-18 13:19:53 · 20160 阅读 · 0 评论 -
Makefile 中的基本字符串替换函数与处理函数的使用参考
概述在进行Linux系统开发时,有时候一个项目源代码文件比较多,需要手写一个Makefile来帮助编译,Makefile的知识比较多,本文,笔者仅将Makefile中的字符串处理函数部分提取出来,方便以后参考。在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。Makefile中函数的调用语法函数调用,很像shell脚本中变量的使用,也是以“$”来标识的,其原创 2021-10-12 14:58:06 · 3796 阅读 · 0 评论