VC/C/C++
文章平均质量分 68
17浪子
这个作者很懒,什么都没留下…
展开
-
VC中用内存映射文件处理大文件
引言 文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类,常用的有Win32 API的CreateFile()、WriteFile()、ReadFile()和MFC提供的CFile类等。一般来说,以上这些函数可以满足大多数场合的要求,但是对于某些特殊应用领域所需要的动辄几十GB、几百GB、乃至几TB的海量存储,再以通常的文件处理方法进行处理显然是行不转载 2009-05-14 16:42:00 · 273 阅读 · 0 评论 -
FFMpeg框架代码阅读
简介FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码.TCPMP, VLC, MPlayer等开源播放器都用到了FFmpeg。转载 2012-06-19 13:29:07 · 314 阅读 · 0 评论 -
Extern用法
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗?转载 2009-05-25 14:39:00 · 262 阅读 · 0 评论 -
Symbian C++开发环境安装心得
因为要做一个移动定制的Symbian上的导航软件,所以要安装Symbian C++开发环境,以前没有接触过Symbian,一切从头开始。安装Symbian的开发环境花费了我好多时间,现有安装心得以记之。 对于Symbian高手来说应该很简单的事情,但是对我这个门外汉还是颇费周折,而且网上资料也不多。 一、软件准备 1, ActivePerl,原创 2010-01-05 11:22:00 · 688 阅读 · 0 评论 -
如何获取CPU使用率
这几天做一个分布式的软件,用到了这些知识,暂时没有时间具体介绍自己的收获和心得,先把代码(转载加修改)贴上吧,以后再补充。 一、获取当前进程的CPU使用率、内存使用量、总的IO字节数。 ProcessStatus.h #ifndef PROCESS_STATUS_H #define PROCESS_STATUS_H extern "C" {原创 2009-10-15 11:54:00 · 1436 阅读 · 0 评论 -
typedef的用法简介(一)
typedef 声明,简称 typedef,为现有类型创建一个新的名字。比如人们常常使用 typedef 来编写更美观和可读的代码。所谓美观,意指 typedef 能隐藏笨拙的语法构造以及平台相关的数据类型,从而增强可移植性和以及未来的可维护性。 typedef 使用最多的地方是创建易于记忆的类型名,用它来归档程序员的意图。类型出现在所声明的变量名字中,位于 typed转载 2009-10-10 10:39:00 · 285 阅读 · 0 评论 -
typedef的用法简介(二)
不管是在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了。 用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针,转载 2009-10-10 10:56:00 · 380 阅读 · 0 评论 -
typedef的用法简介(三)
1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。 至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述。2. typedef & 结转载 2009-10-10 18:09:00 · 961 阅读 · 0 评论 -
Const用法小结
关于C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,参考了康建东兄的const使用详解一文,对其中进行了一些补充,写下了本文。 1. const常量,如const int max = 100; 优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换转载 2009-07-10 12:31:00 · 449 阅读 · 0 评论 -
VC++中数据类型
CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。typedef OLECHAR FAR* BSTR;typedef const char * LPCTSTR;vc++中各种字符串的表示法首先char* 是转载 2009-07-02 17:13:00 · 492 阅读 · 0 评论 -
C/C++全局变量的定义方法
在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌入式下做开发工作的话,那么你可能非常的理解转载 2009-06-11 10:52:00 · 1798 阅读 · 0 评论 -
Profile
Profile的作用 帮助你分析并发现程序运行的瓶颈,找到耗时所在,同时也能帮助你发现不会被执行的代码。从而最终实现程序的优化。 Profile的组成 Profile包括3个命令行工具:PREP,PROFILE,PLIST。可以以命令行方式运行Profile,其过程是:PREP读取应用程序的可执行文件并生成一个.PBI文件和一个.PBT文件;PROFILE根据.PBI文件,实际运行并分析程序转载 2009-06-02 14:37:00 · 356 阅读 · 0 评论 -
C++操作符重载
一、为什么使用操作符重载?对于系统的所有操作符,一般情况下,只支持基本数据类型和标准库中提供的class,对于用户自己定义的class,如果想支持基本操作,比如比较大小,判断是否相等,等等,则需要用户自己来定义关于这个操作符的具体实现。比如,判断两个人是否一样大,我们默认的规则是按照其年龄来比较,所以,在设计person 这个class的时候,我们需要考虑操作符==,而且,根据刚才的分析,比较转载 2009-06-02 13:18:00 · 273 阅读 · 0 评论 -
Convert string type to int
#include std::string so = "123";std::stringstream ss;ss int current;ss >> current;原创 2009-06-02 13:56:00 · 316 阅读 · 0 评论 -
获得文件夹的大小---GetFolderSize
DWORD64 GetFolderSize(LPCTSTR szPath, DWORD *dwFiles, DWORD *dwFolders){ TCHAR szFileFilter[512]; TCHAR szFilePath[512]; HANDLE hFind = NULL; WIN32_FIND_DATA fileinfo; DWORD64 dwSize = 0; strcpy(原创 2009-05-19 11:23:00 · 1574 阅读 · 0 评论 -
static的隐藏功能
当使用static修饰变量、函数、成员变量、成员函数等的时候可以达到很好的隐藏它们的作用,效果如下:一、修饰变量和函数1,用static修饰的变量的声明式即为其定义式。如果没有手动的初始化,系统会为该变量提供一个初始值。但是static变量最好在使用的编译单元里(.c/.cpp)声明定义,如果定义在头文件里,如果头文件被重复引用讲导致变量的重复定义。在编译单元里定义static变量将使得变原创 2011-09-29 15:58:50 · 1255 阅读 · 0 评论