摘要: 符号表是编译期产生的一个hash列表,随着可执行文件在一起 示例程序 符号表包括了变量和函数的信息,以及调试信息,可以通过nm 命令查看符号表 可见这里还包含了位置 , 变量和函数都能看到。 还有debug信息 通过readelf S a.out 可以查看所有符号表头信息 nm 和readelf 还 阅读全文
posted @ 2020-02-28 00:27 SnailRush 阅读(5845) 评论(1) 推荐(2) 编辑
摘要: 前言 想象一种情况,你在分支上开发多个功能,现在要将第一个功能推到另一个分支上 例如上面的,先基于master创建了分支dev, 然后提交了3个commit, 如何只将提交3 合到master 上去呢? 这就用到git的cheery pick 1. 先创建一个临时分支tmp,基于master 2. 阅读全文
posted @ 2020-02-25 14:03 SnailRush 阅读(781) 评论(0) 推荐(0) 编辑
摘要: 前言 由于rustup官方服务器在国外 如果直接按照rust官网的安装方式安装非常容易失败,即使不失败也非常非常慢 如果用国内的镜像则可以分分钟就搞定 官方安装方法 文档: https://www.rust-lang.org/tools/install curl --proto '=https' - 阅读全文
posted @ 2020-02-21 13:44 SnailRush 阅读(18266) 评论(1) 推荐(1) 编辑
摘要: c/c++ enum 介绍 说起c/c++ 的enum,比起python 真的是方便简洁 enum的元素对应的int 默认从0 开始依次增加, 除非手动指定起始值。 enum 内的元素是全局的,意味着在其它地方直接使用 ; C++ 11 引入 enum class, 这样里面的元素不再是全局了 这样 阅读全文
posted @ 2020-02-12 18:00 SnailRush 阅读(7521) 评论(0) 推荐(0) 编辑
摘要: 需要跨平台,所以可选的只有std 和 boost: boost 比较复杂了 还有更简便的std 方法 chrono 需要支持 c++11 阅读全文
posted @ 2020-01-06 12:53 SnailRush 阅读(1754) 评论(0) 推荐(0) 编辑
摘要: proto3 移除了内建类型的非空判断方法 即代码生成工具不会为 bool int 等类型生成has方法 有使用过proto2 或者其它rpc 框架的人都知道使用has 方法去判断消息里的值是否设置, 而在proto3 里只有自定义类型才能有这个方法了, 这个问题在github上引起激烈讨论, 以下 阅读全文
posted @ 2019-12-17 10:49 SnailRush 阅读(1968) 评论(0) 推荐(0) 编辑
摘要: cmake 是支持多种编译方式的工具,产生多种编译工具可以使用的编译文件,例如常用的gdb。 但是对于clang 编译工具,还需要一个compile_commands.json 这个文件是由cmake 产生的,内容类似 是否产生这个文件可以由 来控制 不过除此之外,还可以使用一些脚本来生成 阅读全文
posted @ 2019-12-02 15:09 SnailRush 阅读(8895) 评论(0) 推荐(0) 编辑
摘要: gpm 让linux 纯字符终端具备窗口模式下的鼠标功能 xterm + tmux 支持横向或者纵向切屏的终端 urxvt unicode 支持中文的终端 阅读全文
posted @ 2019-11-14 12:29 SnailRush 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 登录到远程服务器上后,有时执行某些命令会提示 这是因为远程ssh不支持urxvt,执行 或者在远程主机上也安装 urxvt 阅读全文
posted @ 2019-11-14 09:42 SnailRush 阅读(796) 评论(0) 推荐(0) 编辑
摘要: git 的submodule 工具方便第三方库的管理,比如gitlab 上的各种开源工具,spdlog等 在项目目录下创建.gitmodule 里可以添加第三方库,然后在更新第三方库时,有两个选项 git submodule update init 这是更新当前主项目上记录的submodule 的c 阅读全文
posted @ 2019-11-13 17:36 SnailRush 阅读(10599) 评论(0) 推荐(1) 编辑