修改编译器选项实现DLL项目与WINDOWS项目的转换

 

 

 

有时候需要转换项目的编译类型

 

比如 把WINDOWS程序编译成DLL 或者 为了方便调试 把DLL的项目 编译成CONSOLE

 

在 逐云客(codediyer)的开源项目gh0st中 调试版是console 发布片是dll

 

 

呵呵 这个主要是针对 VC6的,对于VS系列差别不是很大

 

如果是DELPHI 或者其它的IDE编译器 可能会有所不同,我没用过 也不知道了

 

 

 

 

 

1.Link选项中 ProjectOptions的区别 

 

在/nologo 之后的选项是用于设定 编译子系统类型的 

 

DLL类型为 /dll

 

console为 /subsystem:console

 

windows为  /subsystem:windows

 

 

 

 

 

2.(C/C++)编译选项的 Preprocessor definitions中 

 

DLL为

 

WIN32,_DEBUG,_WINDOWS,_MBCS,_USRDLL,MYDLL_EXPORTS

 

CONSOLE为

 

WIN32,_DEBUG,_CONSOLE,_MBCS

 

WINDWOS为

 

WIN32,_DEBUG,_WINDOWS,_MBCS

 

 

 

 

3.DLL项目转换的要点

 

如果是DLL转换为WINDOWS 或者 CONSOLE 需要注意的是 要去掉 DLL中的导出函数

 

 

 

4.输出的文件名称和路径

 

在Link的 Output file name中可以指定输出的 文件名称和路径

 

在修改了编译类型后可以修改这里来实现编译后文件名的切换

 

 

 

 

综合上面三条就可以实现 WINDOWS CONSOLE 和DLL 文件的切换了

 

 

呵呵 要点我简单的画到两张图片中了

 

你可能感兴趣的:(windows,dll,Delphi,编译器,output,preprocessor)