C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量2、静态局部变量3、静态函数二、面向对象的static关键字(类中的stati...
分类:
其他好文 时间:
2014-07-22 22:51:35
阅读次数:
195
0x01 工具准备
1.最简c代码一只,
int main(){
return 0;}
2.ollydbg
3.VC++6.0
4.GCC(mingw)
0x02 代码分析
int main()
{
return 0;
}
在gcc下,添加-nostdlib编译选项,即链接器不链接标准库,会提示以下错误信息:
D:\Backup\我的文档\src>gcc mai...
分类:
其他好文 时间:
2014-07-19 23:12:48
阅读次数:
452
const 定义的对象为一个常量不能被修改。这个想必大家都知道。
这里只是介绍const对象默认为文件的局部变量
当一个非const变量在一个c或cpp文件中为全局时,它在整个程序中都可以访问。我们在其他的c或cpp文件要用到这个变量,只需要在文件做合适的声明就能使用。
例如:
main.cpp 中全局变量bufsize
#include
using namesp...
分类:
其他好文 时间:
2014-07-19 08:02:48
阅读次数:
148
/*
c++ static变量,全局变量,局部变量
*/
#include
using namespace std;
static int x=1;
static int y=2;
struct A
{
static int x;
static int y;
};
int A::x=3;
int A::y= x;//3
//int A::y= ::x; //1
int mai...
分类:
其他好文 时间:
2014-07-19 02:48:26
阅读次数:
208
总之,如果按照声明位置划分的变量类型中,局部变量声明后必须要赋值以后才能使用;而成员变量声明后可以不赋值,系统有默认值。如果按所属的数据类型划分,基本类型数据只占用内存中的一块内存;而引用类型占用的是两块内存,根据引用变量就可以在堆内存中找到它指向的对象。...
分类:
编程语言 时间:
2014-07-18 18:01:31
阅读次数:
265
内存常用的区域分类:栈区(stack)、堆区(heap)、全局区(static区)、文字常量区、程序代码区。栈区:由编译器自动分配和释放,遵循”后进先出“的规则。在函数调用时,第一个进栈的是主函数中的下一条指令地址,然后是函数的各个参数(大多数C编译器中,参数从右往左入栈),然后是函数的局部变量。静...
分类:
其他好文 时间:
2014-07-18 17:23:21
阅读次数:
190
进程管理
--进程与线程(上)
一、 进程的概念
1.进程概念的定义[一个动态的概念]
进程是并发程序的动态运行,是多道程序系统中程序的动态运行过程。
进程是一个活动的实体,除了指令代码,进程通常还包括进程堆段、栈段(包含临时数据,如方法参数、返回地址和局部变量)和数据段(包含常量或全局变量等)。
进程是程序在数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
进程的元素:代码、数据、进程表(进程控制块,是与程序相比特有的元素)
2.进程的特征
动态性...
分类:
编程语言 时间:
2014-07-18 11:14:36
阅读次数:
238
重构的第一步: 为即将修改的代码建立一组可靠的测试环境。 和任何重构手法一样,当提炼一个函数时,我们必须知道可能出什么错。 安全步骤: 首先在一个函数内找到局部变量和参数。任何不会被修改的变量都可以被当成参数传入新的函数,至于会被修改的变量就需要格外小心。 重构代码原则:每次的改动幅度不要太大,这样...
分类:
其他好文 时间:
2014-07-18 10:05:48
阅读次数:
171
全局变量全部存放在静态存储区中,在程序开始执行时给全局变量分配存储单元,程序执行完毕就释放这些空间。在程序执行过程中它们占据固定的存储单元,而不是动态地进行分配和释放。在动态存储区中存放以下数据: 1函数形式参数。在调用函数时给形参分配存储空间。2函数中的自 动变量(未加static声明的局部变量,...
分类:
编程语言 时间:
2014-07-18 09:19:49
阅读次数:
332