解决SIGPIPE信号导致的程序崩溃

Linux下,对一个对端已经关闭的socket调用两次write, 第二次将会生成SIGPIPE信号, 该信号默认结束进程。
Linux下,对一个对端已经关闭的socket调用两次write, 第二次将会生成SIGPIPE信号, 该信号默认结束进程。
打开VisualStudio的“选项->跨平台->连接管理器->远程标头 IntelliSense 管理器”界面。
项目配置属性->C/C++->预处理器->预处理器定义,增加NOMINMAX即可。
以https://github.com/tilongzs/flutter_study_demo.git为例,只下载circle_animation/lib文件夹
使用 enable_shared_from_this。这是一个…
编译器对代码的优化方式不同导致的bug
当read结束时,会立即跳出while循环,而不是下次读取时才跳出,因此会导致while循环少执行一次。
解决方式是再写一个C++槽函数,然后原先的函数通过QMetaObject::invokeMethod方式调用它。
VisualStudio增加C++命令行/D_HAS_STD_BYTE=0
将项目输出的文件夹属性中的“只读”标记去掉。