随笔分类 -  C++工程实践

C++并发编程系列-:数据竞态(data race)
摘要:1.定义 在多线程编程中,当两个或多个线程并发访问同一个内存位置时,如果没有适当的同步机制(如锁或原子操作),并且至少有一个访问是写操作,就会发生数据竞争。这可能会导致不可预测的行为、崩溃或错误的结果。 阅读全文
posted @ 2024-06-18 09:25 ac23 阅读(24) 评论(0) 推荐(0) 编辑
使用lambda表达式代替std::bind和std::function
摘要:原来 bool Myclass::connect() { std::function<void()>f = std::bind(&Myclass::loopCheckStatus, this); new std::thread(f); return true; } void Myclass::loo 阅读全文
posted @ 2024-06-09 22:16 ac23 阅读(23) 评论(0) 推荐(0) 编辑
Ubuntu下的nanomsg的编译与使用(待续)
摘要:背景 阅读全文
posted @ 2024-04-22 10:42 ac23 阅读(22) 评论(0) 推荐(0) 编辑
Ubuntu20.04下GCC编译器使用asan须知
摘要:背景 只在CFLAGS和CXXFLAGS加-fsanitize=address是不够的,会编译失败,报出一堆undefined reference to __asan_report_XXX这样的报错,例如 undefined reference to __asan_report_load1 各种各种 阅读全文
posted @ 2024-03-12 15:50 ac23 阅读(442) 评论(0) 推荐(0) 编辑
Ubuntu20.04使用apt安装以boost库为基础的C/C++开发环境
摘要:1.开启了x11功能的mobaxterm(mobaXterm默认开启了,其他的终端可能还要设置开启)上安装一些必要依赖 sudo apt install libxext6 libxrender1 libxtst6 libxi6 libfreetype6 -y sudo apt install fon 阅读全文
posted @ 2024-03-11 10:15 ac23 阅读(165) 评论(0) 推荐(0) 编辑
centos或者ubuntu操作系统升级gcc
摘要:不要通过编译源码的形式升级! 可以参考此文:https://mp.weixin.qq.com/s/bD4KIV7YQOrZO9iP5tkscQ 阅读全文
posted @ 2023-02-22 11:23 ac23 阅读(17) 评论(0) 推荐(0) 编辑
使用docker打造多种C++编译环境
摘要:参考资料 1.https://segmentfault.com/q/1010000022466832 “这个例子放在多个镜像里,然后用docker-compose来管理,一次性启动就行 docker-compose.yml” 2.https://faun.pub/c-development-envi 阅读全文
posted @ 2022-12-17 15:33 ac23 阅读(446) 评论(0) 推荐(0) 编辑
boost解析多节点的、复杂的XML文件的常用代码范式
摘要:std::string parseBond(std::string& fileName) { boost::property_tree::ptree ptree_root; try { boost::property_tree::read_xml(fileName, ptree_root); } c 阅读全文
posted @ 2022-11-28 14:46 ac23 阅读(165) 评论(0) 推荐(0) 编辑
C++获取毫秒时间戳的方法
摘要:c++ std::chrono::milliseconds TimeUtils::CurrentTimeMillis() { return std::chrono::duration_cast<std::chrono::milliseconds>( std::chrono::system_clock 阅读全文
posted @ 2022-11-12 11:20 ac23 阅读(834) 评论(0) 推荐(0) 编辑
通过改用C API接口创建目录而大幅提升print modules性能
摘要:之前在为海量信号(1400w根信号)数据写入磁盘而创建目录时,使用的是在C语言中调用system("mkdir -p 目录名")这种方式的,结果导致整个打印输出到文件的时间时间比较长,达到36min36s; 在研究代码后,改用C自身自带的mkdir()函数,直接提高了创建目录的效率,最后整个打印输出 阅读全文
posted @ 2022-11-03 15:07 ac23 阅读(34) 评论(0) 推荐(0) 编辑
转载:C++的单例模式
摘要:原文已经写得很棒了: 原文链接:https://www.cnblogs.com/zxh1210603696/p/4157294.html 阅读全文
posted @ 2022-08-26 18:16 ac23 阅读(22) 评论(0) 推荐(0) 编辑
一个充分利用了C++11和C++14特性的动物农场实现代码片段
摘要:直接结合代码讲解: //先在工厂使用前注册标签和创建功能 Factory<CreateAnimal> farm; farm.subscribe("CAT", [](const std::string & n) { return std::make_unique<Cat>(n); });///< st 阅读全文
posted @ 2022-07-27 11:49 ac23 阅读(59) 评论(0) 推荐(0) 编辑

 
点击右上角即可分享
微信分享提示