• Gprof 实践

    Profiling 是一种可以有效度量软件程序性能的方法,常用的技术包括 event-based, statistical, instrumented, and simulation methods 等。Linux 上常用的 Profiling 工具有 Gprof, perf, Valgrind, OProfile, Google 的 gperftools 等,这其中我用过 Gprof 和 Valgrind,但我后面会更关注 perf,本文简单介绍 Gprof 的使用方法。

  • Rust Learning Resources

    Rust 学习资料,包括但不限于文章书籍代码库教程视频

  • Effective Modern CMake 实践

    笔者去年有篇文章介绍了将团队项目整改为 CMake 用到的一些命令,虽然尽力遵从 Modern CMake 的写法,但还是由于经验不足用到了一些非 Modern 的语法。今年三月初,公司层面开始推广 CMake 构建,项目群请了个专家带领某产品的各子系统进行 CMake 整改,我负责其中一个子系统,跟专家学到了很多规范和技巧。笔者结合最近的实践及网上的 CMake 资料写下本文,记录 CMake 的一些优秀实践。

  • 初始化二维 vector 的几种方法

    本文列举几种二维 vector 的初始化方法。

  • VS Code Shortcuts

    终于,又换编辑器了,之前就听人说 VS Code 特别好用,但由于懒,一直没有尝试。最近公司在推广 VSCode-huawei,大概就是在开源 vscode 的基础上去掉微软专有的插件,再提供一个内部的插件市场。笔者也借此机会,把家里(之前用的 sublime text 3)和公司(之前用 sublime text 3 和 source insight 4)的编辑工具统一一下。本文仅仅是 VS Code 常用快捷键及扩展插件的列举。

  • 匿名 struct 的前向声明

    C/C++ 中的前向声明经常用于当头文件中的接口参数为指针时,做前向声明而非引用头文件。

  • CMake 基本用法介绍

    最近着手把部门项目从手写 makefile 改为了 cmake 构建,由于之前使用了不知道哪年哪个不一定在职的员工写了一个貌似通用的构建框架,每个模块内部写一个 makefile.d 并 include 公共 makefile,然后使用一个 python 脚本调用 make -f 来执行最终的构建,虽然也 work,但是丑陋且难以维护。改为 cmake 之后一是构建逻辑更加清晰,二是能够指导优化代码结构。本文主要介绍一些常用的 cmake 命令,并列举一些有助于学习 cmake 的资源。

  • C/C++ Learning Resources

    C/C++ 学习资料,包括但不限于文章书籍代码库教程视频

  • 捍卫代码质量 —— git 篇

    我之前有篇文章讲了 git 的各种命令,是为了在需要的时候方便查看。本篇我想从实际的工作场景出发,来看看如何通过更合理地使用 git,来提高我们的工作效率以及代码质量。

  • Google Summer of Code Organizations of 2019

    GSoC 2019 已经结束,https://summerofcode.withgoogle.com/organizations 会列出当年的所有组织,因此有必要对 2019 年的组织做一个备份,下图使用 firefox 的 Take a Screenshot 生成的。

  • Make Easy Tutorial

    虽然现在很多时候都不用手写 Makefile 了,例如 Autotoolscmakesconsqmake 等,都是很好的构建系统。但能够读懂 Makefile 在很多时候是非常必要的,因此本文列举一些基本的 Makefile 要点,方便笔者在需要的时候参考。

  • 半小时总结一下阿里中间件比赛

    机缘巧合之下了解到阿里天池有个 POLARDB数据库性能大赛,但是今年的赛程还没开始,在官网上又看到了正在进行中的中间件性能挑战赛,于是报名参加,了解一下比赛的流程,为后面的数据库性能大赛趟趟路。