- 博客(9)
- 收藏
- 关注
原创 Live555 源代码的详细说明
Live555是一组用于实现多媒体流应用的C++库。它包含多个子库,每个子库提供特定的功能。这些子库包括UsageEnvironment、groupsock、liveMedia和BasicUsageEnvironment。
2024-06-05 08:52:48
1670
原创 C++异常处理
C++ 中的异常处理是用于处理运行时错误的一种机制,使得程序能够优雅地处理异常情况,而不会简单地崩溃。异常处理主要包括三个关键字:、 和 。try: throw: 可以是任何类型的对象,通常是标准库中的异常类或自定义的异常类。 catch: 指定要捕获的异常类型, 是异常对象的变量。 示例代码以下是一个简单的异常处理示例:异常处理的细节和注意事项 异常对象:捕获异常的顺序:重新抛出异常: 自定义异常类:
2024-05-30 07:49:58
303
原创 gdb, 如何启用调试窗口
启用 TUI 模式后,您将在 GDB 中看到一个分割窗口,其中一个窗口用于显示源代码,另一个窗口用于显示调试信息,如堆栈跟踪和寄存器值。这使得在调试过程中更加方便,并且可以更容易地跟踪程序的执行路径。在 GDB 中,你可以通过设置 TUI(Text User Interface)模式来启用调试窗口,以便更方便地查看代码和调试信息。这将在启动 GDB 时自动启用 TUI 模式,并将指定的可执行文件加载到调试器中。: 要在 GDB 中关闭 TUI 模式,可以按下。
2024-05-28 13:44:01
436
原创 GDB常用命令
GDB 是一个功能强大的调试工具,提供了许多命令来帮助您调试程序。这只是 GDB 中的一小部分常用命令。您可以在 GDB 提示符下输入。来获取更多关于特定命令的信息。
2024-05-28 13:38:11
185
原创 使用 valgrind 的 Massif 工具监控线程的内存使用情况
通过 Massif 工具,能够详细地分析程序的内存使用情况。确保正确生成和查看 Massif 输出文件,可以帮助你深入了解程序的内存分配和使用模式。如果有任何问题,可以通过上述步骤进行排查。
2024-05-28 09:25:11
719
原创 C++ 各种容器的详细说明 (td::vector、std::list、std::deque、std::set、std::map 和 std::unordered_map)
是一个动态数组,能够自动调整大小。它在内存中连续存储元素,支持快速随机访问。std::list是一个双向链表,元素在内存中不连续存储。它支持高效的插入和删除操作。std::deque是一个双端队列,支持在两端高效地插入和删除元素。与不同,std::deque在内存中不连续存储元素。std::set是一个有序集合,存储唯一的元素,并自动对其进行排序。std::set通常使用红黑树实现。std::map是一个关联容器,存储键值对,并按键自动排序。std::map通常使用红黑树实现。
2024-05-27 13:28:43
359
原创 C++ 智能指针详细使用指南 (std::unique_ptr、std::shared_ptr 和 std::weak_ptr)
是一种独占所有权的智能指针,即一个对象只能独自拥有某块内存。当超出其作用域时,它会自动销毁所管理的对象,并释放相应的内存。可以为delete p;});是一种共享所有权的智能指针,可以有多个实例共享同一块内存。当最后一个实例销毁时,所管理的内存才会被释放。与类似,delete p;});是一种不拥有对象所有权的智能指针,用于解决循环引用的问题。可以观察但不能直接访问所管理的对象,必须通过获取对象的访问权。智能指针是 C++ 标准库中非常重要的工具,用于自动管理动态分配的内存,减少手动内存管理的错误。
2024-05-27 10:16:46
1055
原创 Valgrind 使用手册:检测和调试内存错误的利器
这篇文章介绍了 Valgrind 工具集的基本使用方法,包括安装、配置和运行 Valgrind,并演示了如何利用 Valgrind 来检测和调试内存错误。通过使用 Valgrind,你可以更轻松地发现和解决程序中的内存问题,提高程序的质量和可靠性。通过仔细阅读 Valgrind 生成的报告,并根据报告中的提示修复问题,你可以提高程序的质量和稳定性,减少错误和漏洞的出现。它会检查程序的内存使用情况,包括访问未分配的内存、释放未分配的内存、使用已释放的内存等。命令,后跟你要运行的可执行文件的路径。
2024-05-24 11:21:05
785
转载 C++类中this指针的理解
先要理解class的意思。class应该理解为一种类型,象int,char一样,是用户自定义的类型。用这个类型可以来声明一个变量,比如int x, myclass my等等。这样就像变量x具有int类型一样,变量my具有myclass类型。理解了这个,就好解释this了,my里的this 就是指向my的指针。如果还有一个变量myclass mz,mz的this就是指向mz的指针。 这样就很容易理解...
2018-06-05 17:07:50
196
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人