/*******************************************************/
开始第一篇算是抛砖引玉把.
希望大家能把自己知道的些技巧拿出来,与大家共享.
欢迎大家跟贴!
/*****************************************************/
在VC下把exe文件转换成DLL文件
说到这里的方法,我们不得不说一下VC是里面生成的各个文件的作用:
.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 记录程序相关的数据和调试信息
.exp dll信息文件,编译dll时才会生成
.bsc 用于浏览项目信息,可在
Prject \ Settings \ Link 页中勾掉“Generate Browse Info File”,
禁止生成.bsc文件,以加快编译速度。但若使用Source Browser的话
就必须有这个文件
说到这里其它今天对我们有用的也就是*.dsp文件,它里面存放的是工程的一些配置信息。所以为了实现今天我们今天的目的,我们就要来改变*.dsp里面的配置信息,这样就可以把一个.exe文件转换成我们需要的dll文件。
好了,下面我们就开始动手吧:
1> 我们创建三个VC工程。命名分别为:DemoDll(Dialog类生成的.exe,用来把它转换成我们想要的DLL文件)DLL(默认的MFC DLL),CallDall(Dialog类用来调用我们转换成的Dll文件)
2> 分别打开DemoDll.dsp Dll.dsp文件
DemoDll.dsp
# Microsoft Developer Studio Project File - Name="DemoDll" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Application" 0x0101
CFG=DemoDll - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "DemoDll.mak".
!M