linux C
文章平均质量分 73
几米夜空
IT
展开
-
ldconfig,动态库版本号
ldconfig会根据文件名里的版本号,自动找到最新的共享库文件,并把sonamelink指向这个最新的共享库文件,所以要备份就在标准目录下创建一个目录,把备份文件移到该目录下去,这样就不会有问题,另外ldconfig创建的软链接是根据so的soname创建的soname的关键功能是它提供了兼容性的标准,当要升级系统中的一个库时,并且新库的soname和老库的soname一样,用旧库链接生成的程序使用新库依然能正常运行。这个特性使得在Linux下,升级使得共享库的程序和定位错误变得十分容易。另外程序依赖.原创 2020-09-17 10:26:34 · 239 阅读 · 0 评论 -
使用GDB调试将符号表与程序分离后的可执行文件
环境: Centos7.3、GCC4.8.5适用场景: 由于调试信息比较大,通常将程序分离为可执行程序和符号信息文件,只对外发布可执行程序,需要调试时再将符号信息文件附加。一、创建可执行程序: use_library.cpp#include <iostream>#include "use_library.h"int main(){ int...转载 2019-10-28 11:23:12 · 1426 阅读 · 0 评论 -
Linux下段错误调试技巧
更新于2019.04.17我们写的程序, 尤其是C/C++程序有时候会段错误, 而且往往发生在部署环境而非调试环境, 对问题定位带来很大困难. 这时一般有两种方法来解决问题, 一种是生成core dump文件, 然后用gdb调试这个文件; 另一种是不生成core dump文件, 而使用其他工具来定位问题.生成core dump文件并用gdb调试最简单的方法是运行ulimit -c un...转载 2019-06-18 15:23:30 · 544 阅读 · 0 评论 -
Gobject 学习总结
简单的来说,GObject是一个程序库,它可以帮助我们使用C语言编写面向对象的程序。 很多人被灌输了这样一种概念:要写面向对象程序,那么就需要学习一种面向对象编程语言,例如C++、Java、C# 等等,而 C 语言是用来编写结构化程序的。事实上,面向对象只是一种编程思想,不是一种编程语言。换句话说,面向对象是一种游戏规则,它不是游戏。GObject 告诉我们,使用 C 语言编写程序时,可以运用面向...转载 2018-04-08 17:40:09 · 4838 阅读 · 0 评论 -
centos 7源码编译安装qemu-kvm和spice
下载源码1.wget https://www.spice-space.org/download/releases/spice-protocol-0.12.13.tar.bz22.wget https://www.spice-space.org/download/releases/spice-0.14.0.tar.bz23.wget https://download.qemu.org/qemu-2....原创 2018-03-30 17:00:23 · 2296 阅读 · 1 评论 -
OPENSSL编程入门学习
OPENSSL编程入门学习相关学习资料http://bbs.pediy.com/showthread.php?t=92649https://www.openssl.orghttps://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CDoQFjAD&url=http%3a%2f%2转载 2016-10-26 15:54:42 · 8924 阅读 · 2 评论 -
GDB 栈指针 SIGSEGV
运行时出现了段错误,然后来看内存转储后得到的内容。1、首先查看栈帧的内容(gdb) bt #0 0x6a696968 in ?? () #1 0x6c6b6b6a in ?? () #2 0x6e6d6d6c in ?? () #3 0x706f6f6e in ?? () #4 0x72717170 in ?? () #5 0转载 2016-03-25 17:58:10 · 2231 阅读 · 0 评论 -
TPROXY - Transparent proxy - UDP program - RHEL6
udp_tproxy.c/* * # iptables -t mangle -N DIVERT * # iptables -t mangle -A PREROUTING -p udp -m socket -j DIVERT * # iptables -t mangle -A DIVERT -j MARK --set-mark 1 * # iptables -t mang原创 2016-02-26 15:35:23 · 2344 阅读 · 0 评论 -
Linux用户态程序计时方式详解
Linux用户态程序计时方式详解 前言 良好的计时器可帮助程序开发人员确定程序的性能瓶颈,或对不同算法进行性能比较。但要精确测量程序的运行时间并不容易,因为进程切换、中断、共享的多用户、网络流量、高速缓存访问及转移预测等因素都会对程序计时产生影响。 本文将不考虑这些影响因素(相关资料可参考《深入理解计算机系统》一书),而仅仅关注Linux系统中用户态程序执行时间的计转载 2015-12-03 09:54:29 · 840 阅读 · 0 评论 -
使用system遇到的坑
最近工作中由于需要在C中调用shell脚本,在C中调用shell脚本可以使用popen或者system来实现,我选择库函数system来调用shell脚本,但是使用过程中遇到了问题,调用库函数system总是返回-1,shell脚本总是无法执行,这百思不得其解,man其函数简介:SYSTEM(3) Linux Progra原创 2015-07-22 15:56:45 · 2714 阅读 · 0 评论