• 由new创建的指针不需要检查nullptr

    我们会检查空指针来判断指针是否有效。一直以来,在申请动态内存后,我都会习惯性地检查得到的指针是否为空,但是查阅了一些资料后发现这个操作是多余的。

  • 在运行时获取动态库的路径

    最近在开发一个动态库,这个动态库需要在运行时动态地加载另一个动态库。在库发布时会同时提供这两个动态库。库的使用者会主动加载第一个动态库,问题出现在第一个动态库加载第二个动态库时,如何确定第二个动态库的位置。

  • C++头文件的引用顺序

    一般在C++开发中,会使用头文件( .h/hpp )和源文件( .cpp/cxx )将函数的声明和实现分开。当需要使用某个函数时,将声明函数所在的头文件引用进来即可。在较复杂的项目中会引用很多头文件,这些头文件可能来自于标准库、操作系统相关库、第三方库和自身项目。在实际开发过程中,多个头文件的引用顺序通常并不会有很大的影响;但是从编码风格和项目维护等方面考虑,头文件的引用顺序确是值得注意的。

  • 常见的中文乱码示例

    中文乱码通常是由字符集不匹配导致的。例如,以utf-8字符集保存的文本以gbk方式打开就会出现乱码。有网友将常见的乱码情况总结成了表格,我将其保存下来,以后再遇到乱码时查阅起来就更加方便了。

  • 为指定目录和文件创建gtags

    GNU Global 是一个非常好用的代码索引工具,我在emacs中使用它进行代码跳转,本文介绍了使用中的一个小技巧。

  • 处理Linux信号需要注意的几个问题

    Linux中的信号(signal)是一个非常实用的功能,进程间能发送信号,内核也能向进程发送信号。本文总结了在进行信号编程时容易忽略的几个问题,方便后续开发过程中查阅。