|
用户名:huhaiqing 笔名:huhaiqing 地区: 行业:其他 |
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
青海湖之梦
青海湖之梦
曾在陕西生活过很多年,却从来没有到过西安以西的西部。一直好想去看一看,看看那传奇的风物,看看那迷人的风景。
终于,有了机会。我与两个朋友相约,暑假一起去西北旅游。
My God!!! 没想到还有和我的博客名字一样的文章,更巧的是我也是陕西人,感受相同,不同的是我出生在青海湖哪片热土上,值得一读。。。
青海湖之梦
作者:佚名
作者:佚名 曾在陕西生活过很多年,却从来没有到过西安以西的西部。一直好想去看一看,看看那传奇的风物,看看那迷人的风景。忽然我想,这手里的花束该怎么办呢?我明白,无论它有多美,多令人迷恋,担我终归无法带走,也无法永远保有,那还不如干脆埋掉!可当我低头看看它多彩的颜色时,心头却一阵不忍。算了,不必强求,记得电影"Jurassic Park"里曾说过:"Life will find its way",还是一切随缘好了。我接着向回走去。
有意走在长了青草的沙石地上,虽然走了这么远,虽然有些高原反应,我却一点也不感觉疲劳。微风从我身后轻柔地吹来,我的心更加平静。啊,看哪,在来的路上,几头黑色的牦牛,在柔和的晚照中悠闲地徜徉,自在地吃草,在我走近时才向旁边躲避开去。走过它们,当我回头望时,忽然看到西边的天空现出已到宽宽的金色,晚霞如漂浮的金山一样熠熠生光。我不禁笑了。
我停下来,再看看手里的花束,它依然美丽,却已显出几分憔悴。顺手在路边找块石头,在沙子上挖个坑,我静静把那束野花埋掉。看着它消失在泥沙的下面,我感到几分沉重也有几分轻松,因为这埋掉的,对我而言不仅仅是一个花束,更是一切凄凉而美丽的往昔的东西。"让过去的都过去吧!"我告诉自己。
回到了宾馆天色刚刚全黑,已经是晚上八点多,两个伙伴告诉我,下午他们一直在宾馆呆着。
当他们问起我玩得怎么样,我从心里几乎想大笑出来,因为我又能向他们说什么呢?于是只好一言以蔽之地告诉他们,这是我一生见到过的最美丽的景色。我本来曾计划第二天去茶卡盐湖或是孟达天池森林保护区,但这时我告诉他们,我明天就启程回家。他们奇怪地问我为什么,我笑着说,我的心愿已经达成了。
是啊,曾经不知道我来青海湖的心愿到底是什么。其实即使此时,我还是说不清楚,但我却已经明明白白知道自己的心境是那么的宁静和愉悦,我确信自己的心愿已经实现了,已经没有兴趣再去看什么地方了。但我懂的,他们也懂么?即使他们也能懂我所懂的,我真地愿意明明白白地把它说出来么?
第二天早上,两个伙伴很早起来跑出去,说是要看青海湖的日出,却把我留在宾馆里,也算是对我昨天独自行动的报复吧,*_^。忽然,房间亮起来了,我赤膊爬起床,趴在房间的窗户上铁栏杆上向东方张望。从狭小的窗口望去,东边的群山上,一带黑色的云后面,已显出一片金色。猛然间,一道绚烂的金边露了出来。这金色的面积越来越大,成了一个金色的圆盘。海面上也明朗起来,泛起闪闪的金光。最后,扁圆的太阳终于喷薄而出了,我的心头不禁浮现出这样的诗句:"时序女神的神光,吹响它嘹亮的金色号角。"
今天是个晴朗的天气,大片没有瑕疵的蓝色天空上,飘着朵朵千姿百态的白云。心怀是那么开阔,这才是高原最典型的风光。两个伙伴听我说了湖上的彩虹而艳羡不已,决定沿着我昨天走过的路再走一遍,我却要和他们分开,搭乘格尔木到西宁的汽车回去了。
坐在汽车上,看着青蓝色的青海湖迎着太阳金光粼粼,却不再有昨天那丰富变幻的颜色,我笑了。想来,两个伙伴今天一定会玩得很好很尽兴吧!但今天的青海湖,已经不是我昨天见到的我的青海湖了。想到这里,笑容爬上了我的嘴角,我的心里升起一种秘密的快意。
青海湖渐渐远去了,你曾经是我的一个心愿、一个梦,但你在我梦中出现的时候,却曾是含糊和灰色的,因为那时我从来没有象现在这样见过你、触摸过你、在你的风雨下洗礼。记得曾听人说,青海湖在藏文里的名字翻译过来,就是"青蓝色的湖泊"。所以,从此以后,也许哪个不经意的深夜,我还会梦到你,不过,你将不再是灰色,而会是那瞬息变幻的光影,是那阳光下和暖的草坡,是那安详睡在沙子里的小花束,是那低垂到湖上的彩虹,是那狂风中奋力挣扎的小海燕和成群翱翔的海鸥鸬鹚,是我心底里最最青蓝的那片湖泊。
vc编程中的20点小笔记

1、异常处理 try {} catch(Ex& exc){},建议最后加入catch(...){}处理可能没有预计到的错误
2、模板的成员函数不能是虚函数【没有完全明白,学习中】
3、定义一个不修改变量的成员函数时候,定义为const成员函数是一个好办法
4、如果一个类作为其他类的基类,析构函数应该是virtual,这样可以支持RTTI,和对象析构时候可以执行正确地析构函数
5、颇通的函数名隐式的转换为函数的地址,但成员函数需要如此调用&A::Func();
6、注意I++,和++i的区别,前者是先用后加,后者是先加后用
7、逗号分割表达式,如【while (++i,--J,dRecored.eof,sRecord.bof){}】
8、两个类互为成员函数的时候。1.提前声明一个类。2.被提前声明的类在另外一个类中只能声明外指针或者引用。
9、所有成员函数都缺省为内联函数,编译器根据函数的复杂度来确定是否将函数编译成为非内联函数,如果强制声明非内联函数,该如下:#pragma auto_inline;
10、全局变量声明:【声明文件】int i; 【使用文件】 extern int i;
11、内联函数的声明必须是在函数实现的地方声明,而不是在函数定义的地方
12、inlude "windows.h" 和include 的区别在于寻找文件的顺序不同前者是现在当前目录下寻找文件,没有的化再去编译器定义的路径寻找后者相反,先找编译器定义的路径,在回到当前目录查找
13、如何将一个CString类型的变量转换为Int类型 int xx = atoi(CString mm);
14、_T()自动将()内字符串转成unicode or Multibyte-character or SBCS (ASCII) 根据系统宏定义
15、将字符串的末尾空格去掉,str.TrimRight();
16、CTime time = CTime::GetCurrentTime(); 取得当前时间还可以用CTime::Format函数将CTime对象转换为字符串对象使用GetSystemTime()这个API函数得到系统时间
17、给控件设置焦点的两个方法
1.变量 m_edit1.SetFocus();
2.控件ID GetDlgItem(IDC_EDIT1)->SetFocus();
18、AppWizard所产生的STDAFX文件是干什么用的,它主要是协助产生预编译头文件的。通常你是不需要修改它的。
19、MessageBox函数来自CWnd类,所以你只能在从CWnd继承的类(如CView)中调用它。但是,MFC也提供了AfxMessageBox函数,你可以在任何地方调用它。
20、虚拟函数PreCreateWindow是干什么用的:PreCreateWindow允许你在调用CreateWindow之前来改变窗口属性
VC中如何改变对话框中控件的颜色
问题:在VC中,当我们大量的运用控件时,往往会为改变控件的颜色所烦恼。因为VC不象VB那样,可以方便地改变对话框及各个控件的颜色,要改变一个控件的颜色比较烦琐。那么,VC中怎样改变控件的颜色。
思路:在控件显示之前,每一个控件会向父对话框发送一个WM_CTLCOLOR消息,这个消息缺省处理函数CWnd::OnCtlColor返回一个HBRUSH类型的句柄,这样,就可以设置前景和背景文本颜色,并为控件或者对话框的非文本区域选定一个刷子。
实现:
---- ① 先创建一个基于对话框的工程,命名为test,然后在对话框上加入一个ListBox控件。
---- ② 在testDlg.h中加入一个成员变量:HBRUSH m_hbrush;
---- ③ 在OnInitDialog()中,加入m_hbrush=CreateSolidBrush(RGB(0,0,0);此处设置的RGB值可以改变ListBox的背景色。为了观看ListBox中字的颜色变化,我们给ListBox加入几个字:利用Class Wizard给ListBox加入一个Control类型的成员变量m_ctrlListBox,然后在OnInitDialog()加入如下所示的代码:
m_ctrlListBox.AddString("第一行");
m_ctrlListBox.AddString("第二行");
---- ④ 点击Class Wizard,给testDlg加入WM_CTLCOLOR事件,单击Edit Code按钮,然后把改函数的内
容替换为如下代码:
if(nCtlColor== CTLCOLOR_LISTBOX)
{
pDC- >SetBkMode(TRANSPARENT);
//此处设置字体的颜色
pDC- >SetTextColor(RGB(255,255,255));
return m_hbrush;
}
else
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
---- 现在编译并运行改程序,可以看到列表框已经变成黑色而其中的字已经变为白色了
VC常见入门问题总结
1:fatal error C1010: unexpected end of file while looking for precompiled header directive该如何解决?
如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的Settings,选择C/C++选项卡,从Category组合框中选中Precompiled Headers,选择Not Using Precompiled headers。确定如果发生错误的文件原本是该工程中的,则检查该文件头部有没有#include "stdafx.h"语句,没有的话添加。
如果还不行,也有可能是定义的类或结构体等最后忘了加分号,注意一下。
2:fatal error RC1015: cannot open include file 'afxres.h'.该如何解决#include "afxres.h"语句是在.rc文件中的,而afxres.h文件在VC的安装目录中的.VC98MFCINCLUDE目录中,所以着重查一下Tools菜单中Options对话框中的Directories中的包括文件的路径是否正确,是否在VC的安装路径中,不是的话,改过来,如果这方面没问题,则到其他机器中拷贝afxres.h到相应的目录中。
3:Dll分配的内存块,应用程序释放,结果报异常。
用GlobalAlloc()代替new, 用GlobalFree() 代替delete就不会出错了
其实还有一个办法,就是把dll的Settings的C/C++选项卡的Code Generation的Use Run-time liberary改成Debug Multithreaded DLL,在Release版本中改成Multithreaded DLL,就可以直接使用new和delete了,没问题
比较规范点的做法一般是DLL分配的内存由DLL释放。在DLL中加一个函数释放内存不是更好吗。
4:发现打印预览的图形明显比屏幕显示图形小,怎么办?
这多半是CDC映射模式的选择引起的,缺省状态下,选择的是MM_TEXT模式,MM_TEXT以设备的像素点为单位,而不同设备的像素点的大小不同,打印机的分辨率比显示器要高很多,所以导致同样图形在打印时候变小。解决之道是统一使用其他定长的映射模式,比如MM_HIMETRIC等等(CDC::SetMapMode()改变映射模式)
5:CString、char*、string、int、_bstr_t、CTime、COleDateTime等等的相互转换,如何判断一个字符串是一个浮点数?
#include
using namespace std;
#include
{
CString strCString="ABC";
char strchar[256],*pstr;
pstr=(LPSTR)(LPCTSTR)strCString; //CString---->char*
strcpy(strchar,(LPSTR)(LPCTSTR)strCString); //CString---->char[]
_bstr_t strbstr=pstr; //char*---->_bstr_t
WCHAR *strWCHAR=strbstr; //b_str_t--->UNICODE
strbstr=strWCHAR;
pstr=strbstr; //UNICODE---->char*
strCString="10";
int istr=atoi((LPSTR)(LPCTSTR)strCString); //CString、char[]、char*------>int
strCString.Format("%d",istr); //int----->CString
sprintf(strchar,"%d",istr); //int----->char[]
pstr=new char[256]; //字符串申请空间
strcpy(pstr,"ABC"); //字符串赋值
delete []pstr; //字符串释放
string strstring="ABC";
pstr=(char*)strstring.c_str(); //string---->char*
strCString="2003-10-27 6:24:37"; //CString--->COleDateTime
COleVariant vtime(strCString);
vtime.ChangeType(VT_DATE);
COleDateTime time4=vtime;
COleDateTime time1(1977,4,16,2,2,2); //COleDataTime--->CTime
SYSTEMTIME systime;
VariantTimeToSystemTime(time1, &systime);
CTime tm(systime);
time_t time2=tm.GetTime(); //CTime--->time_t
COleDateTime time3(time2); //time_t--->COleDateTime
//判断字符串是否是某种类型
CString sValue("123.1");
COleVariant vValue(sValue);
BOOL bStrIsFloat = (SUCCEEDED(VariantChangeType(&vValue, &vValue, 0, VT_R8)) &&
sValue.Find('.') != -1);
if(bStrIsFloat)
{
AfxMessageBox("浮点");
}
}
6:如何建立一个UNICODE应用程序?
建立一个应用程序,打开Alt+F7 settings选项,选择C/C++选项卡,在Preprocessor definenation中加上_UNICODE,在Link选项卡中,在Category选择框中选择Output,在Entry-point symbol编辑框中,添加wWinMainCRTStartup确定。
注意调试UNICODE程序时,需要在安装时VC选择所有选项,否则会缺少动态库和相应的.lib文件
7:ADO操作数据库表,更新出现问题
在打开数据库前,添加如下语句试一下pRecordSet->CursorLocation = adUseClient
理解VC工程
理解VC工程
Visual C++作为一种程序设计语言,它同时也是一个集成开发工具,提供了软件代码自动生成和可视化的资源编辑功能。在使用Visual C++开发应用程序的过程中,系统为我们生成了大量的各种类型的文件,在本节中将要详细介绍Visual C++中这些不同类型的文件分别起到什么样的作用,在此基础上对Visual C++如何管理应用程序所用到的各种文件有一个全面的认识。
首先要介绍的是扩展名为dsw的文件类型,这种类型的文件在VC中是级别最高的,称为Workspace文件。在VC中,应用程序是以Project的形式存在的,Project文件以.dsp扩展名,在Workspace文件中可以包含多个Project,由Workspace文件对它们进行统一的协调和管理。与dsw类型的Workspace文件相配合的一个重要的文件类型是以opt为扩展名的文件,这个文件中包含的是在Workspace文件中要用到的本地计算机的有关配置信息,所以这个文件不能在不同的计算机上共享,当我们打开一个Workspace文件时,如果系统找不到需要的opt类型文件,就会自动地创建一个与之配合的包含本地计算机信息的opt文件。
上面提到Project文件的扩展名是dsp,这个文件中存放的是一个特定的工程,也就是特定的应用程序的有关信息,每个工程都对应有一个dsp类型的文件。以clw为扩展名的文件是用来存放应用程序中用到的类和资源的信息的,这些信息是VC中的ClassWizard工具管理和使用类的信息来源。
对应每个应用程序有一个readme.txt文件,这个文件中列出了应用程序中用到的所有的文件的信息,打开并查看其中的内容就可以对应用程序的文件结构有一个基本的认识。
在应用程序中大量应用的是以h和cpp为扩展名的文件,以h为扩展名的文件称为头文件。以cpp为扩展名的文件称为实现文件,一般说来h为扩展名的文件与cpp为扩展名的文件是一一对应配合使用的,在h为扩展名的文件中包含的主要是类的定义,而在cpp为扩展名的文件中包含的主要是类成员函数的实现代码。
在应用程序中经常要使用一些位图、菜单之类的资源,VC中以rc为扩展名的文件称为资源文件,其中包含了应用程序中用到的所有的windows资源,要指出的一点是rc文件可以直接在VC集成环境中以可视化的方法进行编辑和修改。
最后要介绍的是以rc2为扩展名的文件,它也是资源文件,但这个文件中的资源不能在VC的集成环境下直接进行编辑和修改,而是由我们自己根据需要手工地编辑这个文件。
对于以ico,bmp等为扩展名的文件是具体的资源,产生这种资源的途径很多。使用rc资源文件的目的就是为了对程序中用到的大量的资源进行统一的管理。
VC 常用数据类型总结
VC 常用数据类型总结
ATOM 原子(原子表中的一个字符串的参考)
BOOL 布尔变量
BOOLEAN 布尔变量
BYTE 字节(8位)
CCHAR Windows字符
CHAR Windows字符
COLORREF 红、绿、蓝(RGB)彩色值(32位)
Const 变量,该变量的值在执行期间保持为常量
CRITICAL_SECTION 临界段对象
CTRYID 国名标识符
DLGPROC 指向一个对话框过程的指针
DWORD 双字(32位)
ENHMFENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举增强的元文件记录
ENUMRESLANGPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举资源语言。
ENUMRESNAMEPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举资源名称。
ENUMRESTYPEPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举资源类型。
FARPROC 指向一个回调函数的指针
FLOAT 浮点变量
FMORDER 32位字体映射值的数组
FONTENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举字体
GOBJENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举图形设备接口(GDI)对象
HACCEL 加速键表句柄
HANDLE 对象的句柄
HBITMAP 位图句柄
HBRUSH 画刷句柄
HCONV 动态数据交换(DDE)会话句柄
HCONVLIST DDE 会话句柄
HCURSOR 光标句柄
HDC 设备描述表(DC)句柄
HDDEDATA DDE 数据句柄
HDLG 对话框句柄
HDWP 延期窗口位置结构句柄
HENHMETAFILE 增强原文件句柄
HFILE 文件句柄
HFONT 字体句柄
HGDIOBJ GDI 对象句柄
HGLOBAL 全局内存块句柄
HHOOK 钩子句柄
HICON 图标句柄
HINSTANCE 实例句柄
HKEY 登记关键字句柄
HLOCAL 局部内存块句柄
HMEMU 菜单句柄
HMETAFILE 元文件句柄
HMIDIIN 乐器的数字化接口(MIDI)输入文件句柄
HMIDIOUT MIDI 输出文件句柄
HMMIO 文件句柄
HOOKPROC 指向一个应用程序定义的钩子函数的指针
HPALETTE 调色板句柄
HPEN 画笔句柄
HRGN 域句柄
HRSRC 资源句柄
HSZ DDE 字符串句柄
HWAVEIN 波形输入文件句柄
HWAVEOUT 波形输出文件句柄
HWINSTA 工作站句柄
HWND 窗口句柄
INT 符号整数
LANGID 语言标识符
LCID 所在国(Locale)标识符
LCTYPE 所在国类型
LINEDDAPROC 指向一个回调函数的指针,该回调函数处理行坐标
LONG 32位符号整数
LP 指向一个以"NULL"结束的Unicode(TM)字符串的指针
LPARAM 32位消息参数
LPBOOL 指向一个布尔变量的指针
LPBYTE 指向一个字节的指针
LPCCH 指向一个Windows字符常量的指针
LPCCHOOKPROC 指向一个应用程序定义的钩子函数的指针
LPCFHOOLPROC 指向一个应用程序定义的钩子函数的指针
LPCH 指向一个Windows字符的指针
LPCOLORREF 指向一个COLORREF值的指针
LPCRITICAL_SECTION 指向一个临界段对象的指针
LPCSTR 指向一个以"NULL"结束的WINDOWS字符串常量的指针
LPCTSTR 指向一个以"NULL"结束的Unicode或Windows字符串常量的指针
LPCWCH 指向一个以"NULL"指向一个以"NULL"结束的Unicode字符常量的指针
LPCWSTR 指向一个以"NULL"指向一个以"NULL"结束的Unicode字符串常量的指针
LPDWORD 指向一个无符号双字(32位)的指针
LPFRHOOLPROC 指向一个应用程序定义的钩子函数的指针
LPHANDLE 指向一个句柄的指针
LOHANDLER_FUNCTION 指向一个处理程序函数的指针
LPHWAVEIN 指向一个波形输入文件句柄的指针
LPHWAVEOUT 指向一个波形输出文件句柄的指针
LPINT 指向一个符号整数的指针
LPLONG 指向一个符号长整数(32位)的指针
LPOFNHOOKPROC 指向一个应用程序定义的钩子函数的指针
LPPRINTHOOKPROC 指向一个应用程序定义的钩子函数的指针
LPSETUPHOOKPROC 指向一个应用程序定义的钩子函数的指针
LPTSTR 指向一个以NULL结束的Unicode或Windows字符串的指针
LRESULT 消息处理的符号结果
LPVOID 指向任何类型的指针
LPWSTR 指向一个以"NULL"结束的Unicode字符串的指针
LUID 局部唯一的标识符
MCIDEVICEID 媒体控制接口(MCI)设备标识符
MFENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举元文件记录
MMRESULT 多媒体消息的处理结果
NPSTR 指向一个以"NULL"结束的Windows字符串的指针
NWPSTR 指向一个以"NULL"结束的Unicode字符串的指针
PBOOL 指向一个布尔变量的指针
PBYTE 指向一个字节的指针
PCCH 指向一个Windows字符常量的指针
PCH 指向一个Windows字符的指针
PCHAR 指向一个Windows字符的指针
PCRITICAL_SECTION 指向一个临界段对象的指针
PCSTR 指向一个以"NULL"结束的Windows字符串常量的指针
PCWCH 指向一个Unicode字符常量的指针
PCWSTR 指向一个以"NULL"结束的Unicode字符串常量的指针
PDWORD 指向一个无符号双字的指针
PFLOAT 指向一个浮点变量的指针
PFNCALLBACK 指向一个回调函数的指针
PHANDLE 指向一个句柄的指针
PHANDLER_ROUTINE 指向一个处理程序的指针
PHKEY 指向一个登记关键字的指针
PINT 指向一个符号整数的指针
PLONG 指向一个符号长整数的指针
PLUID 指向一个局部唯一的表示符(LUID)的指针
PROPENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举窗口特征
PSHORT 指向一个符号短整数的指针
PSID 指向一个加密标识符(SID)的指针
PSTR 指向一个以"NULL"结束的Windows字符串的指针
PSZ 指向一个以"NULL"结束的Windows字符串的指针
PTCH 指向一个Windows或Unicode字符的指针
PTCHAR 指向一个Windows或Unicode字符的指针
PTSTR 指向一个以"NULL"结束的Windows或Unicode字符串的指针
PUCHAR 指向一个无符号Windows字符的指针
PUINT 指向一个无符号整数的指针
PULONG 指向一个无符号长整数的指针
PUSHORT 指向一个无符号短整数的指针
PVOID 指向任何类型的指针
PWCH 指向一个Unicode字符的指针
PWCHAR 指向一个Unicode字符的指针
PWORD 指向一个无符号字的指针
PWSTR 指向一个以"NULL"结束的Unicode字符串的指针
REGSAM 登记关键字的加密掩码
SC_HANDLE 服务句柄
SERVICE_STATUS_HANDLE 服务状态值句柄
SHORT 短整数
SPHANDLE 指向一个句柄的指针
TCHAR Unicode或Windows字符
TIMERPROC 指向一个应用程序定义的定时器回调函数的指针
UCHAR 无符号Windows字符
UINT 无符号整数
ULONG 无符号长整数
USHORT 无符号短整数
VOID 任何类型
WCHAR Unicode字符
WNDENUMPROC 指向一个应用程序定义的回调函数的指针,该回调函数枚举窗口
WNDPROC 指向一个应用程序定义的窗口过程的指针
WORD 无符号字(16位)
WPARAM 32位消息参数
YIELDPROC 指向一个输出回调函数的指针
如何解决(NTDLL.DLL):0XC0000005:Access Violation!
今天遇到难题了,在自己的QA系统中想加入一个音声识别的功能,这是别人提供的现成的程序代码,编译和连接都没有问题,但是无论如何都过不了一道难关:(NTDLL.DLL):0XC0000005:Access Violation!
不知哪位高手能指点一二,最近确实太忙了,没有多少时间了。

解决了,解决方法: 怀疑,自信,坚持,多问,过程的煎熬。。。。。不知不觉成了 原来,数据库的文件夹没有放在当前文件夹中,可笑可悲,害的我找了一个星期,动用了几大高手。。。 MFC之所以找不到问题所在,是因为错误执行出在动态链接库LIB中。 看来:(NTDLL.DLL):0XC0000005:Access Violation!不可怕! |
VC中的后缀
.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。
.BMP:位图资源文件。
.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project options里去掉Generate Browse Info File,这样可以加快编译进度。
.C:用C语言编写的源代码文件。
.CLW:ClassWizard生成的用来存放类信息的文件。classwizard信息文件,ini文件的格式.......
.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。
.BMP:位图资源文件。
.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project options里去掉Generate Browse Info File,这样可以加快编译进度。
.C:用C语言编写的源代码文件。
.CLW:ClassWizard生成的用来存放类信息的文件。classwizard信息文件,ini文件的格式。
.CNT:用来定义帮助文件中"Contents"的结构。
.CPP或.CXX:用C++语言编写的源代码文件。
.CUR:光标资源文件。
.DEF:模块定义文件,供生成动态链接库时使用。
.DLG:定义对话框资源的独立文件。这种文件对于VC工程来说并非必需,因为VC一般把对话框资源放在.RC资源定义文件中。
.DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。项目文件,文本格式。
.DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。工作区文件,与.dsp差不多。
.EXP:由LIB工具从DEF文件生成的输出文件,其中包含了函数和数据项目的输出信息,LINK工具将使用EXP文件来创建动态链接库。只有在编译DLL时才会生成,记录了DLL文件中的一些信息。
.H、.HPP或.HXX:用C/C++语言编写的头文件,通常用来定义数据类型,声明变量、函数、结构和类。
.HLP:Windows帮助文件。
.HM:在Help工程中,该文件定义了帮助文件与对话框、菜单或其它资源之间ID值的对应关系。
.HPJ:由Help Workshop生成的Help工程文件,用来控制Help文件的生成过程。
.HPG,生成帮助的文件的工程。
.ICO:图标资源文件。
.ILK:连接过程中生成的一种中间文件,只供LINK工具使用。
.INI:配置文件。
.LIB:库文件,LINK工具将使用它来连接各种输入库,以便最终生成EXE文件。
.LIC:用户许可证书文件,使用某些ActiveX控件时需要该文件。
.MAK:即MAKE文件,VC4及以前版本使用的工程文件,用来指定如何建立一个工程,VC6把MAK文件转换成DSP文件来处理。
.MAP:由LINK工具生成的一种文本文件,其中包含有被连接的程序的某些信息,例如程序中的组信息和公共符号信息等。执行文件的映像信息记录文件。
.MDP:旧版本的项目文件,相当于.dsp
.NCB:NCB是"No Compile Browser"的缩写,其中存放了供ClassView、WizardBar和Component Gallery使用的信息,由VC开发环境自动生成。无编译浏览文件。当自动完成功能出问题时可以删除此文件。编译工程后会自动生成。
.OBJ:由编译器或汇编工具生成的目标文件,是模块的二进制中间文件。
.ODL:用对象描述语言编写的源代码文件,VC用它来生成TLB文件。
.OLB:带有类型库资源的一种特殊的动态链接库,也叫对象库文件。
.OPT:VC开发环境自动生成的用来存放WorkSpace中各种选项的文件。工程关于开发环境的参数文件。如工具条位置信息等。
.PBI、.PBO和.PBT:由VC的性能分析工具PROFILE生成并使用的三种文件。
.PCH:预编译头文件,比较大,由编译器在建立工程时自动生成,其中存放有工程中已经编译的部分代码,在以后建立工程时不再重新编译这些代码,以便加快整个编译过程的速度。
.PDB:程序数据库文件,在建立工程时自动生成,其中存放程序的各种信息,用来加快调试过程的速度。记录了程序有关的一些数据和调试信息。
.PLG:编译信息文件,编译时的error和warning信息文件。
.RC:资源定义文件。
.RC2:资源定义文件,供一些特殊情况下使用。
.REG:注册表信息文件。
.RES:二进制资源文件,资源编译器编译资源定义文件后即生成RES文件。
.RTF:Rich Text Format(丰富文本格式)文档,可由Word或写字板来创建,常被用来生成Help文件。
.SBR:VC编译器为每个OBJ文件生成的原始浏览信息文件,浏览信息维护工具(BSCMAKE)将利用SBR文件来生成BSC文件。
.TLB:OLE库文件,其中存放了OLE自动化对象的数据类型、模块和接口定义,自动化服务器通过TLB文件就能了解自动化对象的使用方法。
.WAV:声音资源文件。