
C/C++
C/C++编程
知者智者
毕业于中国科学院,拥有10多年的大型国企外企工作经验,从事过IPTV系统,3G/4G/5G移动通信, 工业互联网/智能制造等行业的研发工作;主要精通Linux服务器系统端开发,架构设计;十几年的C/C++编程经验,五年Python经验,web前端略懂。目前致力于将前沿互联网技术,5G技术,人工智能应用于工业互联网、智能制造领域,助力中国工业升级换代。发表论文6篇,申请发明专利3项。
展开
-
Ubuntu18.04 addr2line 用法与乱码问题解决
addr2line可以将指定的行号转换为对应的文件名和行号,常用于分析和定位内存访问错误的问题。在C/C++编程时,经常出现bug导致系统崩溃的情况。这是一般产生core文件,使用GDB调试。但是,有些情况下,可能没有产生core文件或者core文件丢失,这是怎么确定问题呢?可以使用addr2line命令。首先,运行dmesg,会输出系统日志,如下图,里面会输出产生错误时的地址,红色方框1的IP地址。 注意的是,在64位Ubuntu系统上,这个地址是绝对地址,addr2line命令需要输入相对地址。相对地址原创 2022-09-23 15:42:45 · 1742 阅读 · 1 评论 -
InfluxDB C++ client支持windows和c++11
influxdb c++ windows库influxdb支持c++11原创 2020-10-30 09:54:33 · 1565 阅读 · 3 评论 -
深入理解右值引用(&&)、std::move()、移动构造函数,移动复制运算符
C++11引入了右值引用(&&),移动构造函数,移动复制运算符以及std::move, 对于它们之间的关系和具体应用场景很多人还是云里雾里,这里结合具体的例子谈一下自己的看法。1 拷贝构造函数、赋值构造函数和深浅拷贝要理解右值引用(&&),移动构造函数,移动复制运算符以及std::move, 首先需要理解拷贝构造、赋值构造和深浅拷贝。1.1 例子看下面的例子:#include <iostream>#include <u..原创 2020-10-15 13:18:29 · 1291 阅读 · 3 评论 -
Glog在linux和windows下的编译安装和使用
Glog是google推出的一个log库,可以运行在linux和windows下。对于需要跨平台运行的C++程序使用glog作为log库是一个不错的选择。这里简单介绍下glog在linux和windows下编译和使用1 linux编译Download https://github.com/google/glogUnzip glog-master.zipThen cd glog-master directory./autogen.sh && ./configure &原创 2020-08-24 17:10:42 · 2410 阅读 · 3 评论 -
Protobuf linux和windows下编译与使用
Google的probobuf是一个非常好用的序列化和反序列化库,而且它是跨平台的。如果应用需要在linux和windows下跨平台运行, protobuf是一个不错的选择。这里介绍一下Protobuf linux和windows下编译与使用。原创 2020-08-24 17:06:36 · 1648 阅读 · 0 评论 -
glibc ptmalloc 内存管理详解
C语言程序中,我们一般是使用glibc库中的malloc()/free()库函数从heap或者mmap中分配和释放内存。C++编程中的new和delete运算符最终也是使用malloc()/free()来分配和释放内存。本文主要讲它们是如何工作的原创 2020-06-05 22:27:57 · 1558 阅读 · 0 评论