会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
程序员的自我修养
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
4
5
6
7
8
9
10
11
12
···
35
下一页
2017年9月16日
使用pstack和gdb调试死锁
摘要: 1:代码 下面是一个简单的能够发生死锁的代码: 2:编译运行 编译时加上-g选项,以便能够得到符号对应的源码 3:pstack查看调用栈 使用pstack命令,可以查看正在运行的进程的调用栈: 多运行几次,发现每次的打印中,线程2和3都卡在__lll_lock_wait函数中,这就是一个明显的死锁发
阅读全文
posted @ 2017-09-16 10:04 gqtc
阅读(7013)
评论(1)
推荐(0)
2017年9月14日
如何编写go代码
摘要: go是一种静态编译型的语言,它的编译速度非常快。 go的官方编译器称为gc,包括编译工具5g,6g和8g,连接工具5l,6l和8l。其中的数字表示处理器的架构。我们不必关心如何挑选这些工具,因为go提供了名为”go”的高级构建工具,会帮我们处理编译和链接的事情。”go”构建工具不仅可以构建本地程序和
阅读全文
posted @ 2017-09-14 20:19 gqtc
阅读(1624)
评论(0)
推荐(0)
2017年9月12日
GDB调试命令手册
摘要: 使用GDB 启动 $ gdb program # program是你的可执行文件,一般在当前目录 $ gdb program core # gdb同时调试运行程序和core文件,core是程序非法执行产生的文件 $ gdb program pid # 如果你的程序是一个服务程序,那么你可以指定这个服
阅读全文
posted @ 2017-09-12 20:10 gqtc
阅读(5536)
评论(0)
推荐(0)
2017年9月11日
core文件相关
摘要: 1:当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。 当程序接收到以下UNIX信号会产生core文件:SIGABRT、SIGBUS、SIGEMT、SIGFPE、SIGILL、SIGIOT、SIGQUIT
阅读全文
posted @ 2017-09-11 21:30 gqtc
阅读(559)
评论(0)
推荐(0)
2017年9月8日
shared_ptr的线程安全性
摘要: 一: All member functions (including copy constructor and copy assignment) can be called by multiple threads on different instances of shared_ptr withou
阅读全文
posted @ 2017-09-08 07:58 gqtc
阅读(21116)
评论(0)
推荐(4)
2017年9月7日
智能指针简介
摘要: 智能指针用于解决常规指针所带来的内存泄露、重复释放、野指针等内存问题。智能指针基于这样的事实得以发挥作用:定义在栈中的智能指针,当超出其作用域时,会自动调用它的析构函数,从而可以释放其关联的内存资源。 之前C++标准库中定义的智能指针std::auto_ptr<T>,因其设计存在缺陷,所以已不再推荐
阅读全文
posted @ 2017-09-07 22:10 gqtc
阅读(548)
评论(0)
推荐(0)
2017年8月8日
C++返回值优化
摘要: 返回值优化(Return Value Optimization,简称RVO)是一种编译器优化机制:当函数需要返回一个对象的时候,如果自己创建一个临时对象用于返回,那么这个临时对象会消耗一个构造函数(Constructor)的调用、一个复制构造函数的调用(Copy Constructor)以及一个析构
阅读全文
posted @ 2017-08-08 19:59 gqtc
阅读(1069)
评论(0)
推荐(0)
2017年8月7日
C++11的右值引用
摘要: 右值引用是C++11 引入的新特性。它解决了两类问题:实现移动语义和完美转发。本文大绝大部分内容,来自于文章:http://kuring.me/post/cpp11_right_reference/ 一:左值(lvalue)和右值(rvalue) 最初,在C中,左值和右值的定义如下:左值,是一个可以
阅读全文
posted @ 2017-08-07 20:39 gqtc
阅读(274)
评论(0)
推荐(0)
2017年8月2日
extern "C"的作用
摘要: extern “C”主要是用于C++链接在C模块中定义的函数,或C++中编译的函数要在C中调用。 由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名,也就是所谓的名字修饰;而C语言并不支持函数重载,因此编译C语言代码的名字修饰规则和C++是不同
阅读全文
posted @ 2017-08-02 20:40 gqtc
阅读(634)
评论(0)
推荐(0)
2017年8月1日
C++中的union
摘要: 1:,像任何类一样,union可以指定保护标记使成员成为公用的、私有的或受保护的。默认情况下,union 表现得像 struct:除非另外指定,否则 union 的成员都为 public 成员。 2:union 也可以定义成员函数,包括构造函数和析构函数。但是,union 不能作为基类使用,所以成员
阅读全文
posted @ 2017-08-01 20:01 gqtc
阅读(1098)
评论(0)
推荐(0)
上一页
1
···
4
5
6
7
8
9
10
11
12
···
35
下一页
公告