1.堆内存分配 : C/C++定义了4个内存区间: 代码区,全局变量与静态变量区,局部变量区即栈区,动态存储区,即堆(heap)区或自由存储区(free store)。 堆的概念: 通常定义变量(或对象),编译器在编译时都可以根据该变量(或对象)的类型知道所需内存空间的大小,从而系统在适当的
分类:
编程语言 时间:
2016-03-13 20:00:52
阅读次数:
349
学习要点: 1,函数地址的一般定义和typedef简化定义; 2,函数地址的获取; 3,A函数地址作为B函数参数的传递; 函数存放在内存的代码区域内,它们同样有地址.如果我们有一个int test(int a)的函数,那么,它的地址就是函数的名字,这一点如同数组一样,数组的名字就是数组的起始地址。
分类:
编程语言 时间:
2016-03-12 11:38:38
阅读次数:
147
并发指的是多个执行单元同时、并行被执行,而并发的执行单元对共享资源的访问则很容易导致竞态 linux内核中主要竞态1.多对称处理器的多个CPU 2.单CPU内进程与抢占它的进程 3.中断(硬中断、软中断、Tasklet、下半部)与进程之间访问共享内存资源的代码区称为“临界区”,临界区需要被以某种互斥
分类:
系统相关 时间:
2016-03-12 01:29:18
阅读次数:
319
#region 和#endregion 关键字可以对代码分为几个片段进行说明注释,且可以展开和折叠该段代码区域。 基本类型的别名及取值范围:以上数字后面得加字母的,如float值后面必须加上F,不然会被编译器当作double处理。 使用Unicode转义序列可以指定Unicode 字符,该转义序列包
load方法 load方法调用时间: 只要程序启动就会将所有类的代码加载到内存中, 放到代码区 调用次数 load方法会在当前类被加载到内存的时候调用, 有且仅会调用一次 load方法在继承中的使用 如果存在继承关系, 会先调用父类的load方法, 再调用子类的load方法 + (void)load
分类:
其他好文 时间:
2016-03-04 20:50:32
阅读次数:
123
按照老版操作系统来学习,内存对于程序来讲分四区。分别是 代码区,静态区,栈,堆。 由上面程序执行的结果可知: 貌似结果就是 静态代码堆栈 静态区存放的是程序中所有静态变量和常量的值。静态区的大小是程序加载到内存之后就固定的,不会再发生改变。 代码区中存放的是程序中的代码,不能修改它的值,只能通过指针
分类:
编程语言 时间:
2016-03-02 23:33:31
阅读次数:
290
引用Cisco官方的公告:在Internet密钥交换(IKE)1版本的漏洞(V1)和IKE协议版本2(v2)CiscoASA软件代码可能允许未经身份验证的远程攻击者造成的影响重装系统或远程执行代码。该漏洞是由于受影响的代码区缓冲区溢出。攻击者可以通过发送特制的UDP数据包来利用此漏洞影响的系..
分类:
移动开发 时间:
2016-02-25 17:15:16
阅读次数:
3281
在编程中,我们常把能完成某一特定功能的一组代码,并且带有名字标记类型叫做函数,在C语言中,我们知道函数名就是一个指针,它指向了函数体内代码区的第一行代码的地址,在swift中也具有同样的功效。 在Swift中函数的表现形式如下: 1. func 函数名(参数名1:参数类型,参数名2,参数类型)->返
分类:
编程语言 时间:
2016-02-25 00:18:41
阅读次数:
314
Xcode提供了以下几个重构功能: Rename Extract Create Superclass Move Up Move Down Encapsulate 在菜单栏中的位置如下图: 在代码区里直接右键也能出现重构的相关菜单: 下面就分别介绍这些重构功能的使用。 Rename:重命名 几乎可以试
分类:
其他好文 时间:
2016-02-21 22:35:54
阅读次数:
170
//const的本质 //const本质上是伪常量,无法用于数组初始化以及全局变量初始化 //原因在于const仅仅限定变量无法直接赋值,但是却可以通过指针间接赋值 //例如局部常量在栈区,而不在静态区(静态区会一直存在),也不在代码区(代码区只读,禁止修改) #include<stdio.h> #
分类:
编程语言 时间:
2016-02-17 19:01:00
阅读次数:
141