登录 注册 找回密码 开启辅助访问 商业用户中心 购物车有0件商品 切换到宽版
搜索
查看: 2715|回复: 5
打印 上一主题 下一主题

[讨论] 1.7.0版编译的API窗口用结束命令关闭不了

[复制链接]
跳转到指定楼层
楼主
发表于 2010-11-23 10:10:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
测试了一个API窗口程序,在处理消息时,用结束()命令没反应,要用PostQuitMessage才正常.而1.6.1版的一切正常
测试源码: 双版本编译的exe:

是loader的原因么?这个版本体积也增加不少,我觉得若是为了360那个xx,多增加1K都是浪费

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

沙发
发表于 2010-11-23 12:39:30 | 只看该作者
1.70 版的黑月不能使用 msvcrt.dll 中的 exit 函数,
**********************************************
.版本 2

.DLL命令 exit, 整数型, "msvcrt.dll", "@exit"
    .参数 code, 整数型
************************************************

否则会出现重定义的错误,
=================
生成msvcrt.dll函数导入库成功
编译黑月程序出错:
LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit already defined in msvcrt.dll.lib(msvcrt.dll)

exit.exe : fatal error LNK1169: one or more multiply defined symbols found
================================================
1.61 的可以:
回复 支持 反对

使用道具 举报

板凳
发表于 2010-11-23 16:58:47 | 只看该作者
本帖最后由 云外归鸟 于 2010-11-23 17:01 编辑

不要用结束命令了,窗口就应该让它正常结束
我换了VC++6.0的WINMAIN和main入口函数,是会这样的

黑月和易的结构不同了,易的结束可以中止所有窗口的消息循环,而黑月却要不能管理消息循环,而是由编写者自己根据程序需要,增加各种消息循环.
所以,废除掉结束()的作用是让黑月的程序更加科学合理.
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2010-11-23 18:52:16 | 只看该作者
原来是这样啊
大鸟在更新的同时能不能增加原loader版的呢,也好有选择的安装.
以往让易闹的,现在对体积特敏感
回复 支持 反对

使用道具 举报

5#
发表于 2010-11-24 20:56:22 | 只看该作者
对体积特敏感,支持继续更新1.6版本
回复 支持 反对

使用道具 举报

6#
发表于 2010-11-25 00:41:24 | 只看该作者
360没误报黑月的程序呀,我在虚拟机里装了360测试,1.61版黑月不报毒呀。。。。。

但是1.7版编的程序用PEID检测显示VC这个不错哈,就是体积的确大了许多
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表