摘要: 众所周知,C语言程序设计中,内存的分配和管理完全交由程序员来控制,因此,内存管理是每个C程序员必须熟练掌握的。 一般而言,分配给进程的内存有四个概念上不同的区域,分别为:代码段、数据段、堆和栈,其中数据段又可以细分为初始化为非零的数据和初始化为零的数据。如下图所示: ------------------- | 程序栈 |----------高地址--〉低地址 ------------------- | 堆 |----------向上增长 ------------------- | BSS |----------数据段 | 全局和静态变量 | -------------------------- 阅读全文
posted @ 2012-05-22 14:00 CHRIS-ZSY 阅读(134) 评论(0) 推荐(1) 编辑
摘要: /*略去信息头,#include文件和函数申明*/ULONG32 g_outkey[16][2] = { 0};/*输出的key*/ULONG32 g_bufkey[2] = { 0};/*形成起始密钥*//*实现时多采用查表方式,下面是定义的供查找用的表*/static ULONG8 wz_lefttable[16] = {1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1};static ULONG32 wz_leftandtab[3] = {0x0 , 0x80000000 , 0xc0000000 } ;static ULONG8 wz_keyleft[28] = { 57 阅读全文
posted @ 2012-05-22 13:57 CHRIS-ZSY 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 辞职报告尊敬的公司领导:您好!首先感谢您在百忙之中抽出时间阅读我的辞职信。我是怀着十分复杂的心情写这份信的。自从我进入公司之后,由于公司对我的关心、指导和信任,使我学到了很多知识,对此我深表感激!由于我自身能力的不足,工作越来越让我感到力不从心,为此我进行了长时间的思考,公司的环境对于我很照顾,鉴于我的个性,要在公司自我提升及成长为独挡一面的能手,处于保护的环境下可能很难。我自己也意识到了自己个性倾于内向,做事容易冲动,你们也经常提醒我这一点,对此我很感谢你们的教导;为了不因为我个人的原因而影响公司的产品开发进度,经过深思熟虑之后我决定辞去目前在部门担任的职务和工作,我知道这个过程会给公司带来 阅读全文
posted @ 2012-05-22 13:52 CHRIS-ZSY 阅读(168) 评论(0) 推荐(0) 编辑
摘要: GetCurrentProcess(), DuplicateHandle()Window中为什么会有句柄的概念:从Visual C++的头文件来看,HANDLE被typedef为void的指针,那是指向未确定数据结构的指针:typedef void* HANDLE;但是这并不说明任何问题,因为句柄远远不只是指向任意数据类型的指针。它是指向数据对象指针的指针。句柄的使用来源于早期的Windows,当时它只能在有限内存的机器中允许(因为当时内存昂贵也存储小)。为了留出足够的空间内存以运行其他程序,Windows经常将对象在内存中移动。但是如果进程已经有了指向该对象的指针,移动该对象就将使得指针无效 阅读全文
posted @ 2012-05-22 11:52 CHRIS-ZSY 阅读(201) 评论(0) 推荐(0) 编辑
摘要: TCP/IP编程中协议无关性的函数getaddrinfo()一、getaddrinfo函数介绍:gethostbyname和gethostbyaddr这两个函数仅仅支持IPv4,getaddrinfo函数能 够处理名字到地址以及服务到端口这两种转换,返回的是一个sockaddr结构的链表而不是一个地址清单。这些sockaddr结构随后可由套接口函数直 接使用。如此以来,getaddrinfo函数把协议相关性安全隐藏在这个库函数内部。应用程序只要处理由getaddrinfo函数填写的套接口地址结 构。该函数在POSIX规范中定义了。#include<netdb.h>int getad 阅读全文
posted @ 2012-05-22 11:49 CHRIS-ZSY 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 该实现使用大容量的静态数组作为堆,但也可使用操作系统调用分配堆。定义了一个数据类型Header保存每个存储器块的簿记信息,定义了具有Header类型元素的堆数组,这样就可以很容易地将簿记信息保存在存储器块中。类型Header包含了3块信息:指向列表的下一个块的指针,当前分配空间的长度,后面的自由空间的长度。另外,类型Header的定义还使用了一个union声明和Align数据类型,这是将存储器元素排在合理的字节边界上,根据系统的不同,这有时是需要的,有时是不需要的。 在malloc函数中,当申请空间时,至少要分配两个Header元素节点,有什么原因吗?当然有,因为每个空间块都包含两部分:空间头 阅读全文
posted @ 2012-05-22 11:06 CHRIS-ZSY 阅读(1868) 评论(0) 推荐(0) 编辑
摘要: 简单的介绍了下单元测试 阅读全文
posted @ 2012-05-22 10:52 CHRIS-ZSY 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 了解linux的信号系统 阅读全文
posted @ 2012-05-22 10:41 CHRIS-ZSY 阅读(132) 评论(0) 推荐(0) 编辑
摘要: linux系统函数出错代码 阅读全文
posted @ 2012-05-22 10:31 CHRIS-ZSY 阅读(424) 评论(0) 推荐(0) 编辑