240 发简信
IP属地:北京
  • C++ 静态变量析构顺序的分析与控制

    1. 了解变量析构顺序的必要性   大多数时间里,我们更关注的是变量的初始化顺序,因为我们需要确保使用到的变量都是初始化好的变量。然而,当项目变...

  • Resize,w 360,h 240
    从一次栈溢出问题讨论thread_local变量与线程栈

    我的开发环境,linux系统、x86_64架构 一.栈溢出问题记录 1.背景 大家都知道栈的大小是有上限的,在linux下可以通过命令ulimi...

  • 链接器如何使用静态库来解析引用

    在符号解析阶段,链接器从左到右按照它们在编译器驱动程序命令行上出现的顺序来扫描可重定位目标文件和存档文件(静态库)。在这次扫描中,链接器维护一个...

  • nm

    nm命令显示关于指定文件中符号的信息,文件可以是对象文件、可执行文件或对象文件库。如果文件没有包含符号信息,nm命令报告该情况,但不把它解释为出...

  • hexdump

    hexdump命令一般用来查看“二进制”文件的十六进制编码,但实际上它能查看任何文件,而不只限于二进制文件。 语法 hexdump [optio...

  • g++生成map文件

    在通过gcc/g++间接调用链接程序ld时,所有的ld选项前必须加上"-Wl,",因为-Map是ld的选项。所以,要让g++生成mapfile,...

  • c++filt

    c++ demangle工具。有时候,我们的c++/c程序,在编译的时候不会报错,但是在运行的时候会报dlopen失败。此时多数是因为动态库的路...

  • ar

    ar命令可以用来创建、修改库,也可以从库中提取单个模块。库是一单独的文件,里面包含了按照特定的结构组织起来的其他的一些文件(称作此库文件的mem...

  • addr2line

    addr2line工具是一个可以将指令的地址和可执行映像转换为文件名、函数名和源代码行数的工具。这在内核执行过程中出现崩溃时,可用于快速定位出出...