
linux
baidu_32526299
这个作者很懒,什么都没留下…
展开
-
VM 安装VMware-tools
1、菜单 虚拟机 VMware-tools安装2、从/media/user/VMware Tools 拷贝 VMwareTools.tar.gz 安装到普通用户任意目录3、解压安装包, root 模式执行 ./vmware-install.pl4. root模式 reboot解决方案:1)不需要卸载2)命令行执行sudo apt-get install open-vm-tools-desktop3)可能会提示apt-get update或者 --fix-missing4)..原创 2020-12-15 18:38:50 · 283 阅读 · 0 评论 -
ubunto 系统 安装deb包后。版本异常回归
sudo apt-get clean && sudo apt-get autoremovesudo apt-get -f installsudo dpkg --configure -a原创 2020-06-30 10:51:00 · 258 阅读 · 0 评论 -
linux程序运行不兼容问题
linux开发平台编译的程序,部署到运行平台linux系统程序经常不能使用,大部分是由于glibc的版本存在差异导致的,为了解决glibc版本兼容的问题,可以使用静态链接的方式链接glibc相关的库,但同时也会遇到需要链接部分so库的情况。默认情况下,gcc/g++使用的是动态链接,链接时,优先查找待链接的so库是否存在,如果存在,则链接so库;如果不存在,则查找.a是否存在,如...原创 2019-12-12 14:48:18 · 1045 阅读 · 0 评论 -
Linux usb 抓包通信日志
1. dmesg 内核工具的使用查看相关usb相关信息:dmesg |head , dmesg |tail2. linuxUSB抓包工具:usb_mon #mount -t debugfs none /sys/kernel/debug # modprobe usbmon 查看当前的USB device:#cat /sys/kernel/debu...原创 2019-09-18 15:53:06 · 1017 阅读 · 0 评论 -
-L、-rpath和-rpath-link的区别
1、三个.c文件1.1 world.c nclude<stdio.h> void world(void) { printf("world.\n"); } 1.2 hello.c #include <stdio.h> void world(void); void hello(void)...转载 2018-10-29 14:28:20 · 386 阅读 · 0 评论 -
把libcsdbg封进自己的程序
作一个写C/C++的程序员,内存问题总是一个大问题,与堆栈打交道总是避免不了的,而且你也要坚信一件事情,你代码风格如何好,你总会犯错,但是编译器帮不了你的时候,如果有别的工具能在这些事情上帮助你总是很好的。我相信,调试内存泄漏、堆栈被破坏之类的问题,对大家来说一定不是一个好的回忆。所以尽可能地使用一些工具是很好的做法。可以说一下,valgrind更出名,而且功能也很强大,但问...转载 2018-10-29 10:31:27 · 268 阅读 · 0 评论 -
linux 把静态链接库.a链接到动态链接库.so里
个人分类: linux编译链接 最近公司的项目中突然出现了这样一个需求,我简化再概括后如下:有两大模块,其中一个模块a最终编译出一个可执行文件exec_a,另一个模块b编译出一个动态链接库lib_b.so被模块a的程序exec_a所链接。现在模块b中分出一个小模块c,需要独立成一个项目,它最终生成一个东西,提供给模块b,最后链接成动态库lib_b.so。因为c将会编译出多个...转载 2018-10-29 10:22:24 · 812 阅读 · 0 评论 -
linux动态库 函数未申明问题
–undefined symbols = methodignore-allDo not report any unresolved symbols. 1report-allReport all unresolved symbols. This is the default. 1ignore-in-object-filesReport unresolved symbols t...转载 2018-10-29 10:07:54 · 1411 阅读 · 0 评论 -
QImage 图像处理
首页 博客 学院 下载 GitChat TinyMind 论坛 问答 商城 写博客 发Chat 登录注册youngyang_sjtu的博客 RSS订阅转QImage像素级操作2018年03月20日 14:31:04阅读数:754转自http://blog.youkuaiyun.com/silangquan/article/detai...转载 2018-08-03 09:35:58 · 11122 阅读 · 0 评论 -
strace命令
strace命令可以跟踪进程执行过程 strace ./main原创 2018-06-26 11:09:56 · 1120 阅读 · 0 评论 -
编译动态库注意事项
1——编译动态链接库的时候最好加上 --unresolved-symbols=ignore-in-shared-libs 或者 --no-undefined 来检查一下。这样如果是自己的疏忽在 .c 源文件里面忘记的 某函数的定义,,编译的时候就可以提示错误了。2—— -WL,-rpath= 指定编译的可执行文件首先搜寻的库依赖的文件路径。 LD_LIBRARY_PATH= 依然可用。...原创 2018-06-26 09:53:19 · 2223 阅读 · 0 评论 -
运行时动态库:not found -Wl,-rpath=指令
---此文章同步自我的优快云博客---一.运行时动态库:not found 今天在使用linux编写c/c++程序时,需要用到第三方的动态库文件。刚开始编译完后,运行提示找不到动态库文件.我就使用了ldd命令查看了一下,发现是有一个库文件显示"not found”,如下图所示; 对于库文件未找到,因为编译、链接都没有问题,那就是运行链接动态库时找不到动态库了。对于运行链接动态库时找不到动态...转载 2018-06-26 09:42:28 · 520 阅读 · 0 评论 -
解决 version 'GLIBC_2.14' not found 问题
用linux C 下的函数调用创建中文目录、文件等,字符串的编码格式要求是utf-8格式的。 比如想要使用 int mkdir(const char *pathname, mode_t mode); 创建一个中文的目录。那么pathname的编码格式要求是utf-8的,而不能是gb3212/gbk的,否则就是乱码。 那么如果linux C下如何进行gbk<---->utf-8编码转换的...转载 2018-05-21 11:31:25 · 1562 阅读 · 0 评论 -
旧版glibc兼容旅程
一.背景在新环境编译程序部署到老环境运行。为什么不直接在老环境里面编译?因为用到了一点c++11的特性,需要较高版本的gcc进行编译;老环境默认的gcc版本太低,新版gcc的rpm包安装部署不上(glibc版本太低),源码安装高版本gcc又太麻烦。二. 错误表现注: server名字做过修改, 暂且叫my_server. 运行时报错,找不到GLIBC_2.14的符号:而本机glibc的版本才2.1...转载 2018-05-21 10:06:29 · 1296 阅读 · 1 评论 -
编译 glibc-2.14安装
2017年12月15日 15:57:30阅读数:4359下载地址:http://ftp.gnu.org/gnu/glibc/下载glibc-2.14.tar.xz解压下载的文件,同时在该文件的目录下建立一个build目录。[cpp] view plain copytar glibc-2.14.tar.gz cd glibc-2.14 mkdir build cd build 安装步骤进入到...转载 2018-05-18 17:38:15 · 3351 阅读 · 0 评论 -
解决动态链接库中@@OPENSSL_0.9.8符号引起的问题
随笔 - 6 文章 - 0 评论 - 0解决动态链接库中@@OPENSSL_0.9.8符号引起的问题作者:dzygogo@gmail.com博客:http://www.cnblogs.com/dzyht/ 本文的copyleft归dzygogo@gmail.com所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途。========...转载 2018-05-15 10:10:31 · 1043 阅读 · 0 评论 -
编译.so动态库隐藏函数名
在我们提供给别人使用的动态链接库so文件时,其内部实现函数的名称,特别是一些关键名称我们是不希望别人见到然后反向的,这时候一般有两种处理方式:一是把程序中关键词修改了再编译,比较蠢笨;二是通过编译的方式将字符隐藏,gcc编译器提供了这个选项,即在编译选项中加入-fvisibility=hidden选项。 比如ndk里这样操作:LOCAL_CPPFLAGS +=-fvisibili...转载 2018-05-07 11:59:06 · 4917 阅读 · 0 评论 -
GLIBC_2.14 兼容问题
GLIBC_2.14 兼容问题 version `GLIBC_2.14′ not found转载 2014年08月01日 10:30:198786原帖:http://b.liuctic.com/2013/11/glibc_2-14-%E5%85%BC%E5%AE%B9%E9%97%AE%E9%A2%98-lib64libc-so-6-version-glibc_2-14-not-found/这个问...转载 2018-04-10 17:01:47 · 2674 阅读 · 0 评论 -
error while loading shared libraries: /usr/lib64/libc.so.6: invalid ELF header
error while loading shared libraries: /usr/lib64/libc.so.6: invalid ELF header在安装一个程序的时候提示libc.so.6过旧,但是查看libc.so的版本是最新的,于是尝试使用尝试软链接 ln -s /usr/lib64/libc.so /usr/lib64/libc.so.6 , 悲剧的事情发生了!几乎所有的linu...转载 2018-04-03 09:09:15 · 9534 阅读 · 1 评论 -
gdb 调试
gcc -g main.c //在目标文件加入源代码的信息gdb a.out (gdb) set env LD_LIBRARY_PATH /tmp // gdb 里设置环境变量(gdb) start //开始调试(gdb) n //一条一条执行(gdb) step/s //执行下一条,如果函数进入函数(gdb) backtrace/bt //查看函数...转载 2018-03-27 09:14:16 · 167 阅读 · 0 评论 -
VMware新增磁盘的设置步骤
VMware 虚拟机中添加新硬盘的方法 随着在虚拟机中存储的东西的逐渐的增加,虚拟机的硬盘也逐渐告急,因此急需拓展一块新的虚拟磁盘。以下便是在VMware 中添加新的虚拟磁盘的方法: 一、VMware新增磁盘的设置步骤(建议:在设置虚拟的时候,不要运行虚拟机的系统,不然添加了新的虚拟磁盘则要重启虚拟机)1、选择“VM”----“setting”并打开,将光标定位在hard Disk这一选项,然后点...转载 2018-03-06 17:23:06 · 13556 阅读 · 0 评论