12 2020 档案
摘要:https://my.oschina.net/u/4614991/blog/4494424 传统gdb调试多线程死锁方法 (1)attach id关联到发生死锁的进程id (gdb) attach 109Attaching to process 109[New LWP 110][New LWP 11
阅读全文
摘要:如果出现了符号冲突一定要解决: 可通过 gcc 的 -Wl,-Bsymbolic选项告诉加载器优先使用自己的符号,而不优先用全局的符号。该选项可以解决符号冲突。 TIPS: 如果想观察加载器的工作,可以使用环境变量 LD_DEBUG=all ./main 来执行程序,会获得详细的解析过程。manpa
阅读全文
摘要:2022/08/02更新 以下动态库方法,如使用隐式加载(不适用dlopen,编译链接时-l链接进去),符号默认会暴露出去 另有静态库符号和符号隐藏的一些内容 原文地址 https://www.cnblogs.com/bourneli/archive/2011/12/28/2305280.html
阅读全文
摘要:以上代码可以正常运行! 我们可能会赶到奇怪,为什么class C在header中定义了,并且在其他两个cpp中都include了,结果,链接时不会报重复定义的错误? 原因: 编译单元:一个.cc或.cpp作为一个编译单元.生成.o,简单来说一个cpp文件就是一个编译单元。 类的声明: class A
阅读全文
摘要:到了今天发现static还有一些知识没搞明白 c/c++语言中,在执行main的入口函数之前,是会首先执行一段代码。而对于全局变量和部分static的初始化就是 在main函数之前执行的,例子如下: #include <iostrem.h> #include <stdio.h> class CTes
阅读全文
摘要:使用tcmalloc时,如果程序加载了同一个库的.a和.so(例如两个不同的库分别加载一个库的动态静态),会出现崩溃问题。具体现象就是会出现invalidfree
阅读全文
摘要:原文地址 https://blog.csdn.net/dog250/article/details/80331590 重点学习以黑盒trick的方式,探究出了malloc后read为何没有内存缺页的现象
阅读全文
摘要:文件页 内存回收,也就是系统释放掉可以回收的内存,比如缓存和缓冲区,就属于可回收内存。它们在内存管理中,通常被叫做文件页(File-backed Page)。大部分文件页,都可以直接回收,以后有需要时,再从磁盘重新读取就可以了。 脏页 那些被应用程序修改过,并且暂时还没写入磁盘的数据(也就是脏页),
阅读全文
摘要:https://blog.csdn.net/lantianjialiang/article/details/50510937 https://www.cnblogs.com/scotth/p/4285480.html tcmalloc内存未释放可做一下几个操作 解决方法: 1. 不使用cache,将
阅读全文