函数调用约定和堆栈1 什么是堆栈编译器一般使用堆栈实现函数调用。堆栈是存储器的一个区域,嵌入式环境有时需要程序员自己定义一个数组作为堆栈。Windows为每个线程自动维护一个堆栈,堆栈的大小可以设置。编译器使用堆栈来堆放每个函数的参数、局部变量等信息。函数调用经常是嵌套的,在同一时刻,堆栈中会有多个...
分类:
其他好文 时间:
2014-11-11 10:32:46
阅读次数:
215
/*************************************stack.h********************************/
#defineMAXSIZE32
#defineOVERFLOW-1
#defineERROR-2
#defineDATATYPEint
typedefenum{FALSE,TRUE}BOOL;
typedefstruct
{
DATATYPE*data;
inttop;
}STACK;
voidinitStack(STACK*ps)
{
ps-&..
分类:
其他好文 时间:
2014-11-11 02:06:10
阅读次数:
149
英文原文:JVM: How to analyze Thread Dump在这篇文章里我将教会你如何分析JVM的线程堆栈以及如何从堆栈信息中找出问题的根因。在我看来线程堆栈分析技术是Java EE产品支持工程师所必须掌握的一门技术。在线程堆栈中存储的信息,通常远超出你的想象,我们可以在工作中善加利用这...
分类:
编程语言 时间:
2014-11-10 19:51:31
阅读次数:
278
4.查看调用栈k命令:显示的是一定数量的栈帧, 其中帧的数量是由.kframes命令来控制的, 默认值是256。注释:堆栈桢基址,函数返回地址,第一个参数,第二个参数kp 5显示调用栈中前5个函数以及他们的参数.kb 5显示调用栈中前五个函数以及他们的前三个参数.kf 5显示在调用栈中五个函数所使用...
分类:
数据库 时间:
2014-11-10 11:54:43
阅读次数:
366
1、可以通过 视图---》属性管理器 来直接配置opencv,一键搞定 2、按住shift键不放,然后移动方向键,可以选中一路数据点。3、调试程序的利器,调用堆栈,可以定位到程序死的那一刻。4、运行带opencv的程序,2个小时程序会死。主要原因在于opencv死掉的原因。
分类:
其他好文 时间:
2014-11-10 01:06:10
阅读次数:
227
lienhua342014-11-091 线程属性概括POSIX 线程的主要属性包括 scope 属性、detach 属性、堆栈地址、堆栈大小、优先级。在头文件 pthread.h 中定义了结构体pthread_attr_t 来记录线程的属性。在创建线程的函数pthread_create 的第二个参...
分类:
编程语言 时间:
2014-11-10 01:02:30
阅读次数:
248
函数调用约定,是指当一个函数被调用时,函数的参数会被传递给被调用的函数和返回值会被返回给调用函数。函数的调用约定就是描述参数是怎么传递和由谁平衡堆栈的,当然还有返回值。 __stdcall,__cdecl,__fastcall,__thiscall,__nakedcall,__pascal 参数传递...
分类:
其他好文 时间:
2014-11-09 19:20:12
阅读次数:
212
今天看堆栈有关的算法时突然又想到了局部变量的压栈问题,在局部函数里面先定义的变量先压栈,按照所所需的大小分配内存,先压栈的变量地址会大些,这个不知是否跟编译器的实现有关,问题来了 int n = 1; int m = 2; int k = 3; int *p = &k; cout<<&n<<endl...
分类:
其他好文 时间:
2014-11-09 12:29:51
阅读次数:
142
那么在Windows下有什么好的内存泄漏检测工具呢?微软提供Visual Studio开发工具本身没有什么太好的内存泄漏检测功能,我们可以使用第三方工具Visual Leak Detector(以下简称vld)。vld工具是VC++环境下一款小巧易用、免费开源的内存泄漏检测工具,vld可以显示导致内存泄漏的完整内存分配调用堆栈。vld的检测报告能够对每个内存泄漏点提供完整的堆栈跟踪,并且包含其源文...
分类:
其他好文 时间:
2014-11-08 22:13:19
阅读次数:
310