动态库相关问题
动态库相较静态库的内容会稍微多一点,因为涉及到vm和relocation 翻译一下Ref1-1里的文章 文章重点讨论在32位x86架构上运行的Linux操作系统,但一般原理也适用于其他操作系统和处理器。值得注意的是,共享库有很多名称——共享库、共享对象、动态共享对象(DSOs)、动态链接库(DLL,如果您来自Windows背景)。为了保持一致性,我将在本文中尽量只使用“共享库”这个名称。...
动态库相较静态库的内容会稍微多一点,因为涉及到vm和relocation 翻译一下Ref1-1里的文章 文章重点讨论在32位x86架构上运行的Linux操作系统,但一般原理也适用于其他操作系统和处理器。值得注意的是,共享库有很多名称——共享库、共享对象、动态共享对象(DSOs)、动态链接库(DLL,如果您来自Windows背景)。为了保持一致性,我将在本文中尽量只使用“共享库”这个名称。...
c++性能优化 基于 Glibc 版本升级的 DolphinDB 数据查询性能优化实践 显示构造 讲协程的 file zero buffer偷懒实例 Why are INI files deprecated in favor of the registry? ...
容器的异质查找 其实是来自abseil的c++ tips,优势是对于复杂的key type能够避免很复杂的构造。但是其实比较依赖comp的质量 what is ssh 符号丢失 依赖导致的编译符号redef Raymond日常,要crash,早点,不要crash在看起来让你懵...
compile上的烂活,可能导致各类的问题 在头文件定义宏 在头文件定义宏出现重复定义的其实倒还好,如果一个头文件被include,然后恰好在一个translate unit里面,有一个同名的符号,这个符号会被替换 大多数时候可能还好,但出问题就很恶心,要改头文件顺序。工程大了就是折磨 在头文件使用宏 第二种在头文件使用宏,但是有些编译单元里+了这个define,有些没有+,这样在...
读懂htop的一些资料,重要的是参数背后的东西 Ref 你一定用過 htop,但你有看懂每個欄位嗎 更详细的htop explained top性能分析
ubuntu开箱即用设置 Ubuntu18.04 主要做3件事 换源 装必须的软件 个人使用环境相关的初始化,比如git,vim,zsh等 这三者都可以通过一个脚本来完成,另外ubuntu18.04默认的compile-tools-chain实在是太老了,gcc7又是相当垃圾的一个版本,所以需要用ppa的源来安装稍微新一...
记一下git的一下操作 alias git config --global alias.st status git config --global alias.ci commit git config --global alias.co checkout 或者你在~/.gitconfig里面直接加上 [alias] st=status 如何看一个commit的行数层面上的改变...
推荐安装llvm的工具链,这样就能使用clangd作为LSP,实际跳转非常准确,而且速度也很快。 在vscode里面只要hook一个插件就可以,插件的名字就是clangd 需要注意的是,如果你安装了多个clangd,那么可能要在vscode的clangd插件里指明clangd的路径 comile_commands.json的生成 首先比较现代的构建系统,基本支持在generation...
正则表达升主要内容大致可以分为两块 最基础的部分(字符组,快捷方式,匹配多个数据) 进阶的应用(分组与回溯引用,替换和标记,先行断言,后行断言) 1 基础 1.1 match 最基础的match,直接输入字符就可以匹配到string中的所有包含字符的内容 1.2 字符组 []//允许可能出现的一组字符 比如 [Cc]++ is a good language//字符组...
more than breakpoint + frame + bt + as 主要关注一下他人的调试经验,以及一些高级调试技巧,比如使用ebpf进行性能分析,使用gdb进行内存分析等等。 另外xxdb调试,一个很关键的技巧,我个人觉得是要掌握data point和watch point的使用,这个可以参考这里, 另外ref的第5篇文章也有提到。 另外经常使用lldb,需要参考lldb到...