/*******************************************************************************/
.dsp 工程文件,文本格式,不可丢失或损坏
.dsw 工作区文件,丢失或损坏时,可点击.dsp文件打开工程,.dsw文件自动重建
.clw ClassWizard信息文件,ini格式,ClassWizard出问题时可删除它再重建
.map 映像信息文件,编制DLL写.def文件时,若不知道函数导出顺序,可在
Prject / Settings / Link 页中选中“Generate mapfile”,重新build,
用记事本或其它类似程序打开生成的.map文件,里面可看到函数导出表
.i 在命令行环境下输入:cl ***.cpp /P (注意后面的参数P大小写敏感),
程序文件夹中会生成.i文件,用记事本或其它类似程序打开,可看到.cpp
文件经预处理后的结果
.ncb 无编译浏览文件,当自动完成功能(自动显示成员变量列表)出问题时,
可删除它,build 后自动重建。
其它:
.aps 资源辅助文件,二进制格式
.opt 开发环境参数(如工具条位置)文件
.plg 编译信息(如error和warning信息)文件,html格式
.pch 预编译文件,可加快编译速度,但改文件非常大
.pdb 记录程序相关的数据和调试信息
.**p dll信息文件,编译dll时才会生成
.bsc 用于浏览项目信息,可在
Prject / Settings / Link 页中勾掉“Generate Browse Info File”,
禁止生成.bsc文件,以加快编译速度。但若使用Source Browser的话
就必须有这个文件
/*******************************************************************************/
一、方法 一:更改dsp: *.dsp存放的是工程的一些配置信息
二、方法 二:改配置信息
三、方法 三:新建dll工程,导入cpp文件与资源文件
一、方法 一:更改dsp: *.dsp存放的是工程的一些配置信息
(1) # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
(2) !MESSAGE "DemoDll - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
(3) !MESSAGE "DemoDll - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
(4) # ADD BASE CPP /nologo/MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_AFXDLL" /Yu"stdafx.h" /FD /c
(5) # ADD CPP /nologo/MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_AFXDLL" /D "_MBCS" /D "_USRDLL" /Yu"stdafx.h" /FD /c
(6) # ADD BASE LINK32 /nologo /subsystem:windows /dll/machine:I386
(7) # ADD LINK32 /nologo /subsystem:windows /dll /machine:I386
(8) # ADD BASE CPP /nologo/MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_AFXDLL" /Yu"stdafx.h" /FD /GZ /c
(9) # ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_AFXDLL" /D "_MBCS" /D "_USRDLL" /Yu"stdafx.h" /FD /GZ /c
(10) # ADD BASE LINK32 /nologo /subsystem:windows/dll /debug /machine:I386 /pdbtype:sept
(11) # ADD LINK32 /nologo /subsystem
(12) 还要把BOOL CDemoDllApp::InitInstance()文件中的:
#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif
给注释掉.
二、方法 二:改配置信息
Project->Project Settings ->C/C++->Project Options :增加/MD
Project->Project Settings ->Link->Project Options :增加/dll
在主文件上,增加DllMain入口,给出导出函数与实现
增加*.def及实现
三、方法 三:新建dll工程,导入cpp文件与资源文件,稍加修改即可,这个最容易,不多说
-------------------------------------
error C1010: unexpected end of file while looking for precompiled header directive.
可能原因为工程中 stdafx.h 未包含。
//
在VC 6.0中编译c++程序时报该错原因为需要一个预编译的文件stdafx.h, 如果不需要编译该头文件的话,只需要打开seting 页面设置中在c/c++栏,选择PreCompiled headers,然后设置第一选项,选择不使用预编译头,解决这个问题。
或者
直接打开dsp工程文件,找到 /Yu"stdafx.h"去掉即可。
//
一般来说,在编译某个文件时,往往发现编译器指向某个源码文件的末尾,并且提示以上信息时,直接在cpp顶上加一项"stdafx.h".
而且不管文件所处是否和stdafx.h文件在同一目录中。编译后即可通过,没必要去修改编译开关。一般而言:预编译功能是解决大量标头文件重复编译的问题。
在stdafx.h头中,我们一般把那些公用的头文件放置在其中。特别是调用dll组件包时,dll引入到工程中。