Qt发送事件分为两种 -阻塞型事件发送 需要重写接收对象的event()事件处理函数 当事件发送后,将会立即进入event()事件处理函数进行事件处理 通过sendEvent()静态函数实现阻塞发送: sendEvent()函数是阻塞式的,所以支持栈空间/堆空间事件对象的发送(局部对象和new分配的 ...
分类:
其他好文 时间:
2018-05-15 22:33:27
阅读次数:
521
一. 查看栈大小限制 不同系统的栈空间大小不同,可通过如下方法查看系统栈大小限制 cat /proc/1/limits 该文件列出了系统资源限制情况(ubuntu 16.04): 可知该系统中栈空间大小限制为8M。 二. 超过栈大小后段错误 三. 解决方案 对于超出栈大小的内存申请采用malloc或 ...
分类:
其他好文 时间:
2018-05-12 12:42:27
阅读次数:
211
一、Java基础 1. String类为什么是final的。 答:主要是为了“效率” 和 “安全性” 的缘故。若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所以String被定义成final。 2. HashMap的源码,实现原理,底层结构。 答:Java集合 Hash ...
分类:
其他好文 时间:
2018-05-10 01:07:48
阅读次数:
182
前言虽然在.Net Framework 中我们不必考虑内在管理和垃圾回收(GC),但是为了优化应用程序性能我们始终需要了解内存管理和垃圾回收(GC)。另外,了解内存管理可以帮助我们理解在每一个程序中定义的每一个变量是怎样工作的。 简介 这篇文章会包含堆与栈的基础知识,变量类型,变量工作原理。 在程序... ...
通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用内存中的栈空间;而通过new关键字和构造器创建的对象放在堆空间;程序中的字面量(literal)如直接书写的100、”hello”和常量都是放在静态区中。栈空间操作起来最快但是栈很小,通常大量的对象都是放在堆空间,理 ...
分类:
其他好文 时间:
2018-04-21 15:24:39
阅读次数:
167
VC++中,在栈空间上申请存储的结构体或者类对象的数组空间时,如果数组长度过大,造成申请的栈空间超过或者逼近1MB时,程序可以编译通过,但是不能够执行起来。打到调试模式时会弹出如下图所示的栈空间越界错误对话框。 如下面的类定义: 而FreeTypeFont类中申请了65536个Character类数 ...
分类:
编程语言 时间:
2018-04-18 01:01:37
阅读次数:
354
一 线程创建函数 CreateThread 1. 函数原型: 2. 参数说明: 第一个参数 表示线程内核对象的安全属性,一般传入NULL表示使用默认设置。 第二个参数 表示线程栈空间大小。传入0表示使用默认大小(1MB)。 第三个参数 表示新线程所执行的线程函数地址,多个线程可以使用同一个函数地址。 ...
分类:
编程语言 时间:
2018-04-09 23:11:40
阅读次数:
290
1.进程标识符(PID):通常是一个取值从2~32768的正整数 数字1一般是为特殊进程Init保留的,Init进程负责管理其他进程 2.进程有自己的栈空间,用于保存函数中的局部变量和控制函数的调用和返回 进程有自己的环境空间,包含专门为这个进程建立的环境变量 进程还必须维护自己的程序计数器,用来记 ...
分类:
系统相关 时间:
2018-04-03 19:46:36
阅读次数:
241
变量起作用的代码范围称为变量的作用域,不同作用域内同名变量之间互不影响,就想不同文件夹的同名文件之间互不影响一样。一个变量在函数外部定义和在函数内部定义,其作用域是不同的,函数内部定义的变量一般为局部变量,在函数外部定义的变量为全局变量。 在函数内部定义的普通变量只在该函数内起作用,当函数运行结束后 ...
分类:
其他好文 时间:
2018-03-21 11:49:26
阅读次数:
236
1、定义局部静态变量,存放在全局数据区的静态变量区。初始化的时候自动初始化为0; 其作用域为局部作用域,当定义它的函数或语句块结束时,其作用域随之结束。 2、static定义全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以。 3、static定 ...
分类:
编程语言 时间:
2018-03-20 22:54:19
阅读次数:
282