上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 36 下一页
摘要: ::WritePrivateProfileString( _T("Options"), _T("Name"), m_strName, pApp->m_szIni );INI文件编程,WINAPI函数WritePrivateProfileString,GetPrivateProfileString 收藏 在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中. 1.所用的WINAPI函数原型为:BOOL WritePrivate 阅读全文
posted @ 2012-09-12 15:44 笑笑小白 阅读(40769) 评论(0) 推荐(3)
摘要: C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容chara='A';//globalvariablevoidmsg(){printf("Hello\n");}下面是main.c的内容intmain(void){externchara;//externvariablemustbedeclaredbe 阅读全文
posted @ 2012-05-16 09:08 笑笑小白 阅读(356) 评论(0) 推荐(0)
摘要: 数组指针是指向数组的, 如: int a[3][3],(*p)[3]; p=a; 这里(*p)[3]用于告诉编译系统,它是一个指针,指向一个长度为3的整型数组。这样在用指针访问其所指向的内存单元的时候就可以用*(*(p+i)+j)来表示a[i][j]; 若:int a[3][3],*p; p=a; 就需用:*(p+3*i+j)来表示a[i][j]. 指针数组是这样一种特殊的数组:它的每一个数组元素都是一个指针。 如:int *p[3]; *p[0],*p[1],*p[2]都是一个指针。int (*p)[10]; 定义了一个数组指针,... 阅读全文
posted @ 2012-05-16 08:55 笑笑小白 阅读(417) 评论(1) 推荐(1)
摘要: C++语言一直被认为是复杂编程语言中的杰出代表之一,不仅仅是因为其繁缛的语法规则,还因为其晦涩的术语。下面要讲的就是你的老熟人—new:它是一个内存管理的操作符,能够从堆中划分一块区域,自动调用构造函数,动态地创建某种特定类型的数据,最后返回该区域的指针。该数据使用完后,应调用delete运算符,释放动态申请的这块内存。如果这就是你对new的所有认识,那么我不得不说,你依旧被new的和善外表所蒙蔽着。看似简单的new其实有着三种不同的外衣。是的,你没有看错,也不用感到惊奇,一个简单的new确实有三种不同的形态,它扮演着三种不同的角色,如下所示:newoperator operatornew p 阅读全文
posted @ 2012-05-09 16:49 笑笑小白 阅读(672) 评论(0) 推荐(0)
摘要: #pragma once#ifndef _MEMORY_POOL_#define _MEMORY_POOL_#include <list>#include <Windows.h>using std::list;template <typename Type>class MemoryPool{private:int m_nMaxCount;int m_nFreeCount;list <Type*> m_pMemList;Type * m_pType;CRITICAL_SECTION m_csMemLock;public:MemoryPool(int 阅读全文
posted @ 2012-05-09 14:52 笑笑小白 阅读(407) 评论(0) 推荐(0)
摘要: 6.1 自定义内存池性能优化的原理书名:《C++应用程序性能优化》作者:冯宏华、徐莹、程远、汪磊 等编著出版社:电子工业出版社出版日期:2007 年 03 月如前所述,读者已经了解到"堆"和"栈"的区别。而在编程实践中,不可避免地要大量用到堆上的内存。例如在程序中维护一个链表的数据结构时,每次新增或者删除一个链表的节点,都需要从内存堆上分配或者释放一定的内存;在维护一个动态数组时,如果动态数组的大小不能满足程序需要时,也要在内存堆上分配新的内存空间。6.1.1 默认内存管理函数的不足利用默认的内存管理函数new/delete或malloc/free在堆上 阅读全文
posted @ 2012-05-09 14:46 笑笑小白 阅读(1337) 评论(0) 推荐(0)
摘要: #ifndef _MEMPOOL_H_#define _MEMPOOL_H_/*本类封装了一个内存池,采用模板类,模板参数就是内存池中分配的对象类型本类主要用链表来实现,适用于固定大小的内存块分配*/#include <vector>using std::vector;template<typename T>class CMemPool{ struct _MemNode { _MemNode *pPrev; char data[sizeof(T) - sizeof(_MemNode*)]; }; struct _MemBlock { _MemBlock *pPrev; 阅读全文
posted @ 2012-05-09 14:30 笑笑小白 阅读(641) 评论(0) 推荐(0)
摘要: 用free -m查看的结果:# free -m total used free shared buffers cachedMem: 504 471 32 0 19 269-/+ buffers/cache: 183 321Swap: 996 0 996查看/proc/kcore文件的大小:# ll -h /proc/kcore-r-------- 1 root root 512M 10月 26 20:40 /proc/kcore在Linux下查看内存我们一般用free命令:[root@scs-2 tmp]# free total use... 阅读全文
posted @ 2012-05-08 18:11 笑笑小白 阅读(204325) 评论(0) 推荐(8)
摘要: log4cplus是一款优秀的基于C/C++的开源日志库。log4cplus具有线程安全,不用但心在多线程状态下写日志问题;使用灵活,可通过配置文件设置日志级别下输出位置,还可以在程序运行时动态设置日志输出级别,随心所欲掌控日志的输出;以及多粒度控制的特点。通过将信息划分优先级使其可以面向程序调试、运行、测试、和维护等全生命周期; 可以选择将信息输出到屏幕、文件、NT event log、甚至是远程服务器;通过指定策略对日志进行定期备份。可以满足大部分开发者对日志系统需求,功能全面。下载地址:http://sourceforge.net/projects/log4cplus/files/log 阅读全文
posted @ 2012-05-07 15:08 笑笑小白 阅读(20306) 评论(1) 推荐(0)
摘要: StdLogger.h#ifndef STDLOGGER_H#define STDLOGGER_H#include <log4cplus/logger.h>#include <log4cplus/configurator.h>#include <log4cplus/helpers/loglog.h>#include <log4cplus/consoleappender.h>#include <log4cplus/fileappender.h>class StdLogger{public: StdLogger(); virtual ~S 阅读全文
posted @ 2012-05-04 18:20 笑笑小白 阅读(822) 评论(0) 推荐(0)
上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 36 下一页