这段 C++ 代码演示了如何使用 std::thread 创建并管理线程。以下是逐行解释:代码分析std::thread t([](){ // 1. 创建一个新线程 std::cout
this 指针是C++类中每个非静态成员函数都隐式拥有的一个指针,指向当前对象自身。 它的类型是 ClassName* const,即“指向当前类类型的常量指针”。常用场景1. 区分成员变量和参数当成员变量和函数参数同名时,常用 this-> 区分:class Person { std::strin…
回调函数什么是回调函数?回调函数(Callback Function)就是你把一个函数“传递”给另一个函数,当某个事件发生时,这个函数会被“回调”执行。 举例:void onDataReceived(int data) { // 处理收到的数据 } void asyncRead(void(*callback)(int)) { // ..…
今天在编译MySQL Connector C 6.1时候遇到一个问题产生错误的原因是因为安装了MSYS后,利用Make命令会首先执行MSYS中的SHELL命令,从而会导致编译错误,对于这种情况,可以修改 $(WX)/build/msw目录中的makefile.gcc文件,使其默认采用CMD命令行。makefile.…
tcpdump 举例: tcpdump -i any tcp port 8000 -s 0 -w port.pcap tcpdump是一个用于捕获网络数据包的工具。该命令的含义如下: -i any:在所有网络接口上捕获数据包,any是tcpdump的一个特殊设备,表示所有接口。 tcp port 8000:过滤出所有目标或源端口为…
协程:通过一个线程实现代码块相互切换执行定义:协程(英语:coroutine)是计算机程序的一类组件,推广了
今天发现使用using namespace chrono; using namespace std;是有先后顺序的。顺序不对编译器会报错#include #include using namespace chrono; using namespace std; int main() { milliseconds ms(1000); /
最近发现编写的程序在发送时,时间间隔特别小的时候,抓包会发现粘包,组包发送没问题。排查之后发现,tcp发送数据会默认延迟。原因是tcp默认会遵循Nagle 算法Nagle 算法Nagle 算法是一种通过减少小数据包的发送来优化网络效率的机制。它的主要作用是:减少…
settings.json 实际上就是vscode的设置。但是有时候会发现多个settings.json,这是因为:项目级别:在 .vscode/settings.json(项目相对路径) 中配置与项目相关的设置,例如特定的编译器路径、语言支持插件配置等。远程全局级别:在 /home/xxx(username)/.vs…
1. 忽略 SIGPIPE 信号 (signal(SIGPIPE, SIG_IGN))作用:signal(SIGPIPE, SIG_IGN) 告诉系统全局忽略 SIGPIPE 信号。当程序向已关闭的管道或套接字写数据时,操作系统不会再发送 SIGPIPE 信号,进程不会因此中断或终止。作用范围:这是一个全局设置,适用于…