云外归鸟工作室网站
标题:
黑月1.72 DLL 编译是否也使用黑月的Bootloader
[打印本页]
作者:
yefeili1690
时间:
2011-1-18 12:47
标题:
黑月1.72 DLL 编译是否也使用黑月的Bootloader
使用 1.72 编译DLL,明显感觉编译后的文件比 1.61 大45K左右,使用大鸟的
[link]
opt=/ENTRY:BMEntrypoint /nodefaultlib
IBCMT /DEFAULTLIB:MSVCRT
会出现一大堆 unresolved external symbol
是否需要指定其他的链接开关哪?
作者:
云外归鸟
时间:
2011-1-19 00:41
从黑月诞生的那一天起,DLL一直都是用VC++6.0的LOADER,所以黑月DLL很少误报的
你用这个链接参数是不能用在DLL程序,只能用在EXE程序
作者:
yefeili1690
时间:
2011-1-19 12:53
大鸟神速。我的理解是:体积变大无非是链接进去的东西多了,从链接的结果看,1.61 的 DLL 体积确实要小很多,方才请教是否1.72版 EXE Loader 也被链接进 DLL中了,呵呵
作者:
云外归鸟
时间:
2011-1-21 14:28
本帖最后由 云外归鸟 于 2011-1-21 14:33 编辑
还是选择静态库版的问题
/nodefaultlib
:
LIBCMT /DEFAULTLIB:MSVCRT
这两个参数就是选LIBCMT,还是MSVCRT,一般MSVCRT版本的DLL会比较小,因为一些C函数是从MSVCRT.DLL调用的,不编译代码进DLL,但如果固定用MSVCRT版本,一些支持库的静态库就会编译失败.
编译DLL就不用要用opt=/ENTRY:BMEntrypoint 这个参数了,这个是选择入口函数,DLL的入口函数是固定的.
作者:
阿杰
时间:
2011-2-14 08:06
希望在黑月设置中加个参数选项,选LIBCMT,还是MSVCRT
作者:
hmy100
时间:
2011-2-27 14:38
这个必须的顶。。。连接参数我不明白。。。也没有相应的教程说明。。。如果能出一个文字说明简单的。或者弄个选择项什么的。
作者:
云外归鸟
时间:
2011-2-28 14:43
阿杰 发表于 2011-2-14 08:06
希望在黑月设置中加个参数选项,选LIBCMT,还是MSVCRT
非MFC类的DLL固定是用MSVCRT的
这没什么可选的
欢迎光临 云外归鸟工作室网站 (http://www.ywgn.net/)
Powered by Discuz! X3