现在位置: 首页 > 编程语言 > 文章
2019年01月03日 编程语言 ⁄ 共 1925字 评论关闭
一般察看函数运行时堆栈的方法是使用GDB(bt命令)之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的。 在glibc头文件"execinfo.h"中声明了三个函数用于获取当前线程的函数调用堆栈。 int backtrace(void **buffer,int size)  该函数用于获取当前线程的调用堆栈,获取的信息将会被存放在buffer中,它是一个指针列表。参数 size 用来指定buffer...
阅读全文
2019年01月02日 编程语言 ⁄ 共 3944字 评论关闭
t prctl(int option,unsigned longarg2,unsigned long arg3,unsigned long arg4,unsigned long arg5) 这个系统调用指令是为进程制定而设计的,明确的选择取决于option: PR_GET_PDEATHSIG :返回处理器信号;   PR_SET_PDEATHSIG :arg2作为处理器信号pdeath被输入,正如其名,如果父进程不能再用,进程接受这个信号。   PR_GET_DUMPABLE :返回处理器标志dumpable;   PR_SET_DUMPABLE :arg2作为处理器标志dumpable被输入。   PR_G...
阅读全文
2019年01月02日 编程语言 ⁄ 共 4804字 评论关闭
from:http://baike.baidu.com/view/1266959.htm   拷贝构造函数 求助编辑百科名片    拷贝构造函数 拷贝构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化。其唯一的参数(对象的引用)是不可变的(const类型)。此函数经常用在函数调用时用户定义类型的值传递及返回。拷贝构造函数要调用基类的拷贝构造函数和成员函数。如果可以的话,它将用常量方式调用,另外,...
阅读全文
{ Sprague-Grundy函数性质 所有的终结点SG值为0(因为它的后继集合是空集)SG为0的顶点,它的所有后继点都满足SG不为0对于一个SG不为0的顶点,必定存在一个后继满足SG为0 满足组合游戏性质所有SG为0定点对应P点,SG大于0顶点对应N点 } hdu1847 Good Luck in CET-4 Everybody!  题意: 总共n张牌,双方轮流抓牌,每人每次抓牌的个数只能是2的幂次(即:1,2,4,8,16…),抓完牌,胜负结果也出来了:最后抓完牌的人为胜者。...
阅读全文
2018年12月20日 编程语言 ⁄ 共 5470字 评论关闭
一、Nim游戏 重点结论:对于一个Nim游戏的局面(a1,a2,...,an),它是P-position当且仅当a1^a2^...^an=0,其中^表示位异或(xor)运算。   Nim游戏是博弈论中最经典的模型(之一?),它又有着十分简单的规则和无比优美的结论,由这个游戏开始了解博弈论恐怕是最合适不过了。   Nim 游戏是组合游戏(Combinatorial Games)的一种,准确来说,属于“Impartial Combinatorial Games”(以下简称ICG)。满足以下条件的游戏是ICG(可能不太...
阅读全文
2018年12月16日 编程语言 ⁄ 共 1382字 评论关闭
    Python开发效率高,运行效率低。而c/c++恰恰相反。因此在python脚本中调用c/c++的库,对python进行扩展,是很有必要的。使用python api,http://www.python.org/doc/ ,需要安装python-dev。 test.cpp文件如下 #include <python2.6/Python.h> //包含python的头文件 // 1 c/cpp中的函数 int my_c_function(const char *arg) { int n = system(arg); return n; } // 2 python 包装 static PyObject * wrap_my_c_fu...
阅读全文
2018年12月16日 编程语言 ⁄ 共 1294字 评论关闭
 英文原文:Top 6 Refactoring Patterns to Help You Score 80% in Code Quality   在过去做了不少代码走读,发现了一些代码质量上比较普遍的问题,以下是其中的前五名: 臃肿的类:  类之所以会臃肿,是因为开发者缺乏对最基本的编码原则,即“单一职责原则”(SRP)的理解。这些类往往会变得很臃肿,是由于不同的且在功能上缺少关联的方法都放在了相同的类里面。 长方法:  方法之所以会变得很长主要是有以下几个原...
阅读全文
2018年12月15日 编程语言 ⁄ 共 6004字 评论关闭
本文写的非常详细,因为我想为初学者建立一个意识模型,来帮助他们理解函数指针的语法和基础。如果你不讨厌事无巨细,请尽情阅读吧。 函数指针虽然在语法上让人有些迷惑,但不失为一种有趣而强大的工具。本文将从C语言函数指针的基础开始介绍,再结合一些简单的用法和关于函数名称和地址的趣闻。在最后,本文给出一种简单的方式来看待函数指针,让你对其用法有一个更清晰的理解。   函数指针和一个简单的函数 我们从一...
阅读全文
2018年12月13日 编程语言 ⁄ 共 1290字 评论关闭
转自:http://hi.csdn.net/doer_ljy 如果一个基类的析构函数被说明为虚析构函数,则它的派生类中的析构函数也是虚析构函数,不管它是否使用了关键字virtual进行说明。          说明虚析构函数的目的在于在使用delete运算符删除一个对象时,能保析构函数被正确地执行。因为设置虚析构函数后,可以采用动态联编方式选择析构函数。         下面举一个用虚析构函数的例子。         #include   <iostream.h>         class...
阅读全文
2018年12月13日 编程语言 ⁄ 共 7009字 评论关闭
C++ 虚函数表解析   陈皓 http://blog.csdn.net/haoel     前言   C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做...
阅读全文