随笔分类 -  C++

1 2 3 4 5 ··· 12 下一页
摘要:转自:https://www.cnblogs.com/shengulong/p/8053370.html gdb调试python的时候,需要根据不同的python版本2.6、2.7、3.x安装相应的gdb; 如何指定关联的python版本? 下面gdb源码,解压后,进入目录: ./configure 阅读全文
posted @ 2024-02-05 09:35 dzqabc 阅读(124) 评论(0) 推荐(0) 编辑
摘要:尝试将private定义成public--报错 redeclared with different access 查阅材料:https://stackoverflow.com/questions/47839718/sstream-redeclared-with-public-access-compi 阅读全文
posted @ 2023-02-16 08:41 dzqabc 阅读(339) 评论(0) 推荐(0) 编辑
摘要:描述字的传递,就是将一个进程中的描述字传递到另一个进程中,使得该描述字依然有效。 在多进程网络的CS模式下,服务器fork产生的子进程在fork调用返回后,子进程共享父进程的所有打开的描述字。即使在子进程中调用exec函数,所有描述字通常还是保持打开的状态,也就是描述子是跨exec函数的。这也是为什 阅读全文
posted @ 2022-04-13 00:37 dzqabc 阅读(127) 评论(0) 推荐(0) 编辑
摘要:采用静态或者全局变量的实现方案由于C++不能保证静态或者全局对象的构造函数的调用顺序以及析构顺序。所以如果程序中有多个用此方法实现的Singleton类,它们之间又有某种构造依赖关系和析构依赖关系,就会造成灾难性的后果。所以,只有当肯定不会有构造和析构依赖关系的情况下,这种实现才是合适的。 > 优点 阅读全文
posted @ 2022-04-06 23:47 dzqabc 阅读(120) 评论(0) 推荐(0) 编辑
摘要:如何区分一个类(class struct union)是否可以使用列表初始化来完成初始化工作呢?关键问题看这个类是否是一个聚合体(aggregate),首先看下C++中关于类是否是一个聚合体的定义:(1)无用户自定义构造函数。 (2)无私有或者受保护的非静态数据成员 (3)无基类 (4)无虚函数 ( 阅读全文
posted @ 2022-03-25 21:10 dzqabc 阅读(53) 评论(0) 推荐(0) 编辑
摘要:交叉编译环境的linaro-gdb可以用了,结果打开core文件,显示堆栈都是?? aarch64-linux-gun-gdb ./test core warning: /lib/libpthread.so.0': Shared library architecture unknown is not 阅读全文
posted @ 2021-11-24 17:38 dzqabc 阅读(560) 评论(0) 推荐(0) 编辑
摘要:1.交叉编译环境下的linaro-gdb无法用。 参考:https://stackoverflow.com/questions/25314983/ldd-says-not-found-even-though-library-is-in-my-ld-library-path 交叉编译环境里面gdb报错 阅读全文
posted @ 2021-11-24 16:26 dzqabc 阅读(682) 评论(0) 推荐(0) 编辑
摘要:参考:https://stackoverflow.com/questions/13403824/empty-core-dump-file-after-segmentation-fault 1.受限要开启coredump的大小限制。ulimit -c unlimited 2.core文件不能在挂在分区 阅读全文
posted @ 2021-11-23 20:48 dzqabc 阅读(1145) 评论(0) 推荐(0) 编辑
摘要:双引号"xxx.h",表示编译器先在用户的工作目录下搜索头文件,如果搜索不到则到系统默认目录下去寻找,所以双引号一般用于包含用户自己编写的头文件。如:#include "student.h" 尖括号<xxx.h>,表示编译器只在系统默认目录或尖括号内的工作目录下搜索头文件,并不去用户的工作目录下寻找 阅读全文
posted @ 2021-11-20 23:02 dzqabc 阅读(654) 评论(0) 推荐(0) 编辑
摘要:只能在uv_close之后的uv_cb中对handle内存进行释放。 因为uv_close本身只是将handle代释放队列,倘若释放时遇到某些异步处理(如:uv_write)需要失败回调通知,将会继续调用对应的回调,此时再访问handle和可能因内存访问coredump。 void TcpHandl 阅读全文
posted @ 2021-11-18 22:56 dzqabc 阅读(233) 评论(0) 推荐(0) 编辑
摘要:gcc -dM -E - < /dev/null gcc -dM -E - < /dev/null 阅读全文
posted @ 2021-11-18 17:29 dzqabc 阅读(177) 评论(0) 推荐(0) 编辑
摘要:shared_ptr允许多个指针指向同一个对象;unique_ptr则"独占"所指向的对象。 所以看使用者的意图,想这个对象咋么用。 weak_ptr只是是辅助类,它是一种弱引用。本质应该没啥作用,它可以为强引用提前占位,但它的存在不会占据引用计数。 比如enable_shared_from_thi 阅读全文
posted @ 2021-09-01 17:55 dzqabc 阅读(66) 评论(0) 推荐(0) 编辑
摘要:基本这个错误基本就是出现在shared_from_this调用过程中。 或者对应对象不是用make_shared分配,或者对应的对象已经释放了(实际释放后也不一定就会报错,但是当使用valigrind检查内存时,释放内存后会把内存重置,此时会检测到weak_ptr应该设置的标识不对而报错。)。 阅读全文
posted @ 2021-09-01 11:33 dzqabc 阅读(443) 评论(0) 推荐(0) 编辑
摘要:libuv 采用了 异步 (asynchronous), 事件驱动 (event-driven)的编程风格, 其主要任务是为开人员提供了一套事件循环和基于I/O(或其他活动)通知的回调函数, libuv 提供了一套核心的工具集, 例如定时器, 非阻塞网络编程的支持, 异步访问文件系统, 子进程以及其 阅读全文
posted @ 2021-09-01 09:20 dzqabc 阅读(237) 评论(0) 推荐(0) 编辑
摘要:libuv的三种运行模式: UV_RUN_DEFAULT: 默认轮询模式,此模式会一直运行事件循环直到没有活跃句柄、引用句柄、和请求句柄 UV_RUN_ONCE:一次轮询模式,处理一个事件。 UV_RUN_NOWAIT:一次轮询模式,最多处理一个事件。uv_run(loop, UV_RUN_NOWA 阅读全文
posted @ 2021-09-01 09:05 dzqabc 阅读(1073) 评论(0) 推荐(0) 编辑
摘要:CPU 同内存交换数据的最小内存单位为4字节,即32位由CPU总线决定,所以小于4 字节的读取或者赋值操作无需加锁。即使不加锁也不会出现读取到的4字节中一半数据被改一半数据没有被改的情况。 但对 i++ 这类组合操作,仍可能需加锁. 因为i++是至少一次读取i一次写入i这两条命令,中间被打断就无法保 阅读全文
posted @ 2021-06-17 00:26 dzqabc 阅读(565) 评论(0) 推荐(0) 编辑
摘要:转载自:https://blog.csdn.net/yanxiangyfg/article/details/80989680 讲的很清晰 一、gcov简介gcov是什么gcov是一个测试代码覆盖率的工具。与GCC一起使用来分析程序,以帮助创建更高效、更快的运行代码,并发现程序的未测试部分是一个命令行 阅读全文
posted @ 2021-06-04 01:11 dzqabc 阅读(4314) 评论(0) 推荐(1) 编辑
摘要:warning: specialization of ‘template<class _Iterator> struct std::iterator_traits’ in different namespace [-fpermissive] While everything works correc 阅读全文
posted @ 2019-11-27 00:48 dzqabc 阅读(496) 评论(0) 推荐(0) 编辑
摘要:期初现象:malloc一块内存,读写操作时发生segmentation falt。一般来讲malloc倘若失败应该抛出异常,所以malloc返回一个指针后,这个指针应该都是可用的,况且是进行读操作。 所以遇到这个问题时感觉很奇怪。 继续现象:经过地址打印确认该地址是前面操作过的一个地址。说明地址不在 阅读全文
posted @ 2019-11-27 00:39 dzqabc 阅读(1223) 评论(0) 推荐(0) 编辑
摘要:推动存储管理方式从固定分区到动态分区分配,进而又发展到分页存储管理方式的主要动力是提高内存利用率。可以实现一个内存用于多个程序同时执行而不会发生地址冲突。引入分段存储管理方式的目的,则主要是为了满足用户(程序员)在变成和使用上多方面的要求(方便编程、信息共享、信息保护、动态增长、动态链接)。段是内存 阅读全文
posted @ 2019-10-20 23:15 dzqabc 阅读(496) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 12 下一页