
C/C++
linux流浪汉
这个作者很懒,什么都没留下…
展开
-
C/C++编译和链接过程详解 (重定向表,导出符号表,未解决符号表)
详解link 有 些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicated external simbol的错误信息不知所措(因为这样的错误信息不能定位到某一行)。或者对语言的一些部分不知道为什么要(或者不要)这样那样设计。了解本文之后, 或许会有一些答案。 首先看看我们是如何写一个程序的。如果你在使用某种IDE(Vi转载 2017-08-31 11:22:49 · 810 阅读 · 0 评论 -
常用的GDB命令
gdb中文命令大全转载 2017-09-26 08:46:50 · 419 阅读 · 0 评论 -
Linux的.a、.so和.o文件以及与windows下的对应关系
在说明Linux的.a、.so和.o文件关系之前,先来看看windows下obj,lib,dll,exe的关系 windows下obj,lib,dll,exe的关系 lib是和dll对应的。lib是静态链接库的库文件,dll是动态链接库的库文件。 所谓静态就是link的时候把里面需要的东西抽取出来安排到你的exe文件中,以后运行你的exe的时候不再需要li转载 2017-12-26 07:35:00 · 8434 阅读 · 0 评论 -
linux程序分析工具介绍—ldd,nm
本文要介绍的ldd和nm是linux下,两个用来分析程序很实用的工具。ldd是用来分析程序运行时需要依赖的动态库的工具;nm是用来查看指定程序中的符号表相关内容的工具。下面通过例子,分别来介绍一下这两个工具: 1. ldd, 先看下面的例子, 用ldd查看cs程序所依赖的动态库: [plain] view plain copy $ ld转载 2017-12-26 07:42:23 · 488 阅读 · 0 评论 -
Google Protocol Buffer 的使用和原理
简介 什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍: Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。 Pro转载 2018-04-23 18:04:33 · 387 阅读 · 0 评论 -
线程局部存储__thread和线程特有存储pthread_key_create
在一个进程中定义的全局或静态变量都是所有线程可见的,即每个线程共同操作一块存储区域。而有时我们可能有这样的需求:对于一个全局变量,每个线程对其的修改只在本线程内有效,各线程之间互不干扰。即每个线程虽然共享这个全局变量的名字,但这个变量的值就像只有在本线程内才会被修改和读取一样。 线程局部存储和线程特有数据都可以实现上述需求。 1. 线程局部存储 线程局部存储提供了持久的每线程存储,每个线程都...转载 2018-08-05 06:58:43 · 1597 阅读 · 0 评论