
c++
文章平均质量分 75
赵民勇
这个作者很懒,什么都没留下…
展开
-
RAII 技术详解
RAII 技术详解原创 2025-04-17 17:40:45 · 239 阅读 · 0 评论 -
原始字符串字面量(Raw String Literal)
原始字符串字面量(Raw String Literal)原创 2025-04-04 10:19:29 · 242 阅读 · 0 评论 -
perf命令详解
掌握 perf 可快速定位性能问题,尤其在高并发、低延迟场景中作用显著。结合火焰图和动态探针,能实现从宏观到微观的全方位分析。原创 2025-04-03 18:07:53 · 517 阅读 · 0 评论 -
strace命令详解
strace 是 Linux 系统中最常用的 系统调用跟踪工具,它通过监控进程与内核的交互(如文件操作、网络通信、进程管理等)来帮助调试程序行为。原创 2025-04-03 17:52:58 · 490 阅读 · 0 评论 -
使用pkexec 和其策略文件安全提权执行外部程序
使用pkexec 和其策略文件安全提权执行外部程序原创 2025-04-03 17:09:57 · 985 阅读 · 0 评论 -
CMake 中 CXXFLAGS 与 CMAKE_CXX_FLAGS 的关系
CMake 中 CXXFLAGS 与 CMAKE_CXX_FLAGS 的关系原创 2025-04-02 10:25:48 · 223 阅读 · 0 评论 -
c++弱指针实现原理
在 C++ 中,弱指针()是一种特殊的智能指针,其核心目标是,同时不增加对象的引用计数。它的实现原理基于与共享的 ,并通过 管理资源生命周期。原创 2025-03-29 18:27:03 · 522 阅读 · 0 评论 -
垃圾回收机制的几种实现机制简介
垃圾回收机制的几种实现机制原创 2025-03-29 18:10:54 · 833 阅读 · 0 评论 -
ld链接器在编译期链接动态库时的查找路径
ld链接器在编译期链接动态库时的查找路径原创 2025-03-26 15:04:44 · 366 阅读 · 0 评论 -
【C++ 17 新功能 std::visit 】深入解析 C++17 中的 std::visit:从原理到实践
【C++ 17 新功能 std::visit 】深入解析 C++17 中的 std::visit:从原理到实践转载 2024-10-17 16:19:29 · 345 阅读 · 0 评论 -
c++输入/输出流操作符
这个头文件包含了一系列的输入/输出流操作符,用于控制格式化输出。例如,你可以使用这些操作符来设置输出的宽度、精度、填充字符等。在这个示例中,我们设置了两个不同的输出格式,一个是固定小数点格式,另一个是科学计数法格式。是C++中的一个预处理指令,用于包含。原创 2024-10-15 14:52:23 · 275 阅读 · 0 评论 -
链接选项:-static -static-libgcc -static-libstdc++
链接选项:-static -static-libgcc -static-libstdc++原创 2024-10-14 17:29:10 · 811 阅读 · 0 评论 -
Boost.PropertyTree操作key-value文件
Boost.PropertyTree操作key-value文件原创 2024-06-02 11:15:09 · 181 阅读 · 0 评论 -
std::thread线程生命周期与线程对象生命周期的联系
std::thread线程生命周期与线程对象生命周期的联系原创 2024-05-17 15:12:56 · 481 阅读 · 0 评论 -
Boost库解密——自动链接库(auto_link)
Boost库解密——自动链接库(auto_link)转载 2024-04-07 11:10:49 · 388 阅读 · 0 评论 -
c/c++ ,gettext,软件的多语言支持(i18n)
采用 GNU gettext提供多语言支持转载 2023-12-12 16:42:19 · 1267 阅读 · 0 评论 -
C++ 风格指南
C++ 风格指南转载 2023-07-10 00:40:07 · 915 阅读 · 0 评论 -
详细介绍Glib 主事件循环轻度分析与编程应用
详细介绍Glib 主事件循环轻度分析与编程应用转载 2023-06-17 16:56:15 · 417 阅读 · 0 评论 -
两则glib使用技巧
glib是我们平台的基石,几乎任何函数库,任何应用程序,以及任何daemon服务进程,都大量使用glib提供的函数。glib在我们平台中的地位有如STL在C++中的地位一样,熟练使用glib,对于提高开发效率有特别的意义,这里总结两则技巧供大家参考。转载 2023-06-17 11:10:55 · 214 阅读 · 0 评论 -
GTK窗口接受文件拖放学习一
GTK窗口接受文件拖放转载 2023-06-15 11:05:15 · 365 阅读 · 0 评论 -
字符集、字符编码格式检测和转码
字符集、字符编码格式检测和转码原创 2023-06-01 17:41:18 · 3540 阅读 · 0 评论 -
configure.ac和Makefile.am的格式解析概述
configure.ac和Makefile.am的格式解析概述转载 2023-05-25 15:47:37 · 2280 阅读 · 0 评论 -
GCC编译选项配置
gcc编译选项配置转载 2023-04-13 11:13:43 · 1555 阅读 · 0 评论 -
语言文件.po .pot和.mo简介及gettext工具简介
语言文件.po .pot和.mo简介及gettext工具简介转载 2023-03-07 17:33:01 · 7504 阅读 · 0 评论 -
mmap函数概述
mmap函数概述转载 2023-02-22 16:06:09 · 751 阅读 · 0 评论 -
Linux中的SetUid和capability权能机制
Linux中的SetUid和capability权能机制转载 2023-02-22 11:18:29 · 1504 阅读 · 1 评论 -
c++运算符优先级归纳
c++运算符优先级转载 2022-08-10 16:47:24 · 57749 阅读 · 2 评论 -
c++编码小技巧之函数返回时自动调用
可以在函数中定义一个局部对象,在对象的类的析构函数里执行某段代码。原创 2022-07-26 22:31:16 · 603 阅读 · 0 评论 -
c++初始化
C++ 语言初始化转载 2022-06-13 10:25:32 · 1211 阅读 · 0 评论 -
上下文无关文法和语言
1.文法及语言的形式表示每一门编程语法都是有它自己的语法的,实际上,任何程序均可以看做是一定字符集上的一个字符串,而判定一个字符串是否为一个程序上合法的程序,其依据的则是语言的文法。语言的文法是一组规则,包含词法规则和语法规则。词法规则是描述语言单词符号构成规则的。单词符号包括:关键字、标识符(变量名或函数名等)、常数、运算符等。词法规则的描述工具通常为正规文法(正规式、有限自动机)。语法规则是描述语言语法单位构成规则的。语法单位包括:表达式、语句、函数、过程等。语法规则的描述工具常为:上下转载 2022-05-11 17:27:30 · 1023 阅读 · 0 评论 -
原子操作的实现原理(锁和循环CAS)
1 引言原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为”不可被中断的一个或一系列操作” 。在多处理器上实现原子操作就变得有点复杂。本文让我们一起来聊一聊在Inter处理器和Java里是如何实现原子操作的。2 术语定义术语名称 英文 解释 缓存行 Cache line 缓存的最小操作单位 比较并交换 Compare and Swap CAS操作需要输入两个数值,一个旧值(期望操作前...转载 2022-01-25 13:30:55 · 338 阅读 · 0 评论 -
c语言格式化输入/输出%hhd、%hhx等
printf sprintf等:格式字符串的一般形式:[标志][输出最小宽度][. 精度][长度] 类型(其中方括号[] 中的项为可选项。)各项意义:1) 类型:类型字符用以表示输出数据的类型,其格式符和意义如下表所示: 格式字符 意义 d 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出无符号整数(不输出前缀 0) ...原创 2022-01-11 15:35:09 · 19770 阅读 · 2 评论 -
C++11 如何使代码仅执行一次?
1 静态变量结合函数调用方式通常我们使用std::call_once配合std::once_flag使用,这里有更简单的方法——静态变量结合函数调用,如下所示:static auto onece_call = [&]()->int { //onece call code //这里添加需要仅执行一次的代码 return 0;}();c++11后保证多线程中局部静态变量也只会初始化一次。上面代码中最后的小括号表示执行前面定义的lambda函数。2 std...原创 2021-07-14 11:19:34 · 8131 阅读 · 0 评论 -
Automake的使用
进入到你的源码目录$ cd src$ lsmain.ccat main.c# 代码如下:#include <stdio.h>int main(int argc, char** argv){ printf("Hello, Auto Makefile!\n"); return 0;}开始使用Automake了执行autoscan$ autoscan$ lsautoscan.log configure.scan main.c转载 2021-06-26 15:04:42 · 377 阅读 · 0 评论 -
QT中实现应用程序的单例化
一介绍通过编写一个QSingleApplication类,来实现Qt程序的单例化,原文的作者是在Windows Vista +Qt4.4 下实现的,不过应用在其他平台上是没问题的。(本文是我在http://www.qtcentre.org/wiki/index.php?title=SingleApplication上看到的)二代码方案一:使用Qt中的QSharedMemory,QLocalServer和QLocalSocket实现(不过需要在你的.pro里加上QT += network)..原创 2021-06-04 18:28:15 · 881 阅读 · 0 评论 -
应用程序单例化之文件锁
#define PROGRAM_NAME "you_program_name" #define PATH_MAX_LEN 1024 #define PID_STRING_LEN 64 /* * Check if the program is running * in: * const char *processName, Process name * out: * int, =0 not running, =1 isrunning */ int checkProcessRunning(const char原创 2021-06-04 21:50:11 · 200 阅读 · 0 评论 -
Qt编程:通过反射机制实现类名信息动态创建对象技术
根据类名信息动态创建对象技术,不仅可以降低代码的耦合度和复杂性,还可以实现脚本化编程技术,动态解析创建对象,提高内存利用率和应用程序灵活性。反射机制框架如下:Reflect类声明如下:typedef QWidget* (*Constructor)(QWidget* parent);class Reflect{public:Reflect();//通过类名,查找到注册的构造函数,并创建对象static QWidget *reflect(QWidget* p...转载 2021-06-04 20:16:48 · 809 阅读 · 0 评论 -
C++模板全特化(具体化)与偏特化(部分具体化)详解(转)
1.模板简介模板就是实现代码重用的一种机制,它可以实现类型参数化,即把类型定义为参数, 从而实现了真正的代码可重用性。模板编程和函数重载可以实现C++静态多态,也叫编译时多态。模版可以分为两类,一个是函数模版,另一个是类模版。2.模板特化的目的模板本来是一组通用逻辑的实现,但是可能存在特定的参数类型下,通用的逻辑实现不能满足要求,这时就需要针对这些特殊的类型,而实现一个特例模板—即模板特化。3.重点注意1)类模板和函数模板都可以被全特化;2)类模板能偏特化,不能被重载;...转载 2020-10-24 21:14:15 · 1134 阅读 · 0 评论