![](https://img-blog.csdnimg.cn/5787e14d04d54a43a2a1ef924ff0fe17.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
文章平均质量分 55
C++相关
小羊苏C
很懒,需要交流请直接在评论区。你的问题可能别人也会遇到。
展开
-
Reactor 和 Proactor模式,IO复用与epoll、同步IO,异步IO与协程
Reactor 和 Proactor模式,IO复用与epoll、同步IO,异步IO与协程原创 2023-12-25 19:00:00 · 1379 阅读 · 0 评论 -
使用Gitlab构建简单流水线CI/CD
如何使用Gitlab实现CI/CD原创 2023-10-18 19:30:00 · 2955 阅读 · 0 评论 -
vscode 配置编译调试环境
这里记载一下配置vscode调试和编译的tips。原创 2023-04-04 19:26:01 · 1178 阅读 · 1 评论 -
Linux Socket 通信编程
Socket是网络上通信的端点。可以在Socket里面使用TCP或者UDP协议进行数据传输。毕竟 TCP UDP是传输层协议。我们写的应用当然是应用层。我曾经以为 Socket编程、使用UDP编程等等是不同的一套东西。搜了一下发现、实际上应该都是属于socket编程。。。囧欸参数domain用来指定使用的域,这里的域是指TCP/IP 协议的网络互联层协议。网络互联层常见的有IPv4和IPv6协议。通常使用AF_INET表示IPv4协议,使用AF_INET6 表示IPv6 协议。参数 type 指定了数据原创 2022-06-17 14:59:14 · 155 阅读 · 0 评论 -
在C++代码中调用系统指令---system()
我试图使用LTTng-ctl库来控制Trace过程。我几乎快要成功了。但是在对event结果提序列化的过程中出现了错误。我缺少给 之类的字段赋值。被断言发现终止程序。我再次认识到了“有些学习门槛”,这句话的分量。而这些学习门槛对一个面临deadline的人来讲很不友好。或许之后有时间我会去爬源码,然后重构。但是对demo来讲,用在测试环境下。那我就祭出了。当然还有人说可以使用。这无所谓。放弃了性能(这是肯定的 会增加fork和线程同步)和稳定性(在没有完全掌握他的API设计的情况,写出来的东西也真不见得稳原创 2022-06-13 16:09:49 · 508 阅读 · 0 评论 -
如何在C++程序中使用C库
我现在在开发基于LTTng的Linux性能分析程序。使用了LTTng下的函数库来代替命令行。现在总结一下C++程序中包含C库的事情:C++程序可以包含C库,比较哦简单。使用g++之类的编译器的时候。编译器自带 这个宏。在库的头文件里也一般都会有:这种宏,来进行C代码声明。所以实际操作起来就基本上是无感的。这也是为什么以前我没有发现这个问题。在自己进行C、C++联合开发的时候。要包含C头文件就需要使用包裹起来。除了头文件,代码也一样。反过来在C里包含C++库就比较麻烦。需要对接口进行C语言封装。自己写个封原创 2022-06-08 19:09:54 · 1154 阅读 · 0 评论 -
[LTTng实操]------设计一套东西监控某周期运行用户程序的执行时间和周期--需求分析和方案设计
需求假设我现在有一个进程,是周期运行,比如10ms执行一次。在运行过程中,可能会有系统调用,比如读写一些文件。或者打印一些log到终端。中间可能会被中断打断,也可能被RT进程抢占。我需要实时将每一次运行的时长和开始执行的时间周期通过网络协议发送到远端的设备上,进行监控和显示。如果我做着做着发现我水平还行的话,可能会加入检测进程被谁打断,在等什么资源这样一些帮助分析问题的信息。下面就对需求进行分类和分级了:必须实现的需求【Req1】获取 服务使用者调用服务,到进入服务处理程序的时间。【Req原创 2022-06-01 12:54:54 · 141 阅读 · 0 评论 -
pkg-config 查找库和用于编译
今天在看LTTng 文档的时候看到这个指令。gcc -o notif-app notif-app.c $(pkg-config --cflags --libs lttng-ctl)查了一下 pkg-config是一个linux下的命令,用于获得某一个库/模块的所有编译相关的信息。pkg-config --cflags --libs lttng-ctl执行结果:-I/usr/local/include -L/usr/local/lib -llttng-ctl那以后编译程序连接很多安装的库和接口的原创 2022-05-30 22:52:23 · 394 阅读 · 0 评论 -
【C++标准库】------使用chrono记录代码时间间隔和执行周期
//包含时钟和定时器标准库#include<chrono>#include<iostream>using namespace std;int main(){ //get the start time auto time_point_start = chrono::steady_clock::now(); cout<<"start--------"<<endl; int i = 0; auto last_原创 2022-05-26 13:21:49 · 365 阅读 · 0 评论 -
【C++标准库】Clocks and Timers------<chrono>
本文是我根据《The C++ Standard Library Second Edition》自己总结。本书成书于C++11时期目的Chrono Library 是一个精度中立的时间相关库。解决两个问题:duration 持续时间time point 时间点可以和basic C和 POSIX接口掌管的日历时间,以及C++11加入的thread多线程并发库组成很多新的玩法。基本概念duration 由数字和单位组成来表示。单位就是时分秒微秒。数字就是“No. of ticks”。time原创 2022-05-24 13:07:20 · 231 阅读 · 0 评论 -
C++ STL deque容器
deque 是 double-ended queue 的缩写,又称双端队列容器。deque 容器和 vecotr 容器有很多相似之处,比如:deque 容器也擅长在序列尾部添加或删除元素(时间复杂度为O(1)),而不擅长在序列中间添加或删除元素。deque 容器也可以根据需要修改自身的容量和大小。和 vector 不同的是,deque 还擅长在序列头部添加或删除元素,所耗费的时间复杂度也为常数阶O(1)。并且更重要的一点是,deque 容器中存储元素并不能保证所有元素都存储到连续的内存空间中。当需转载 2022-01-06 06:00:00 · 61 阅读 · 0 评论