| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2294 人关注过本帖
标题:问个很基础的问题,怎么定义unicode,是编译的时候messageboxex的地址编译成 ...
只看楼主 加入收藏
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:6 
以下是引用hcksfch在2012-9-30 21:52:51的发言:

这是masm32中的定义,我该怎么用呢,多谢了MessageBoxA PROTO STDCALL :DWORD,:DWORD,:DWORD,:DWORD
IFNDEF __UNICODE__
  MessageBox equ  
ENDIF
MessageBoxExA PROTO STDCALL :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
IFNDEF __UNICODE__
  MessageBoxEx equ  
ENDIF
MessageBoxExW PROTO STDCALL :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
IFDEF __UNICODE__
  MessageBoxEx equ  
ENDIF

对于这个 应该用

__UNICODE__ equ 1

等来实现 等号和equ不大一样

即使这样我还是不大看好这个特性 中文支持是硬伤
2012-09-30 21:59
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用hcksfch在2012-9-30 21:58:06的发言:

罗云彬的win32刚看到开头就蒙了

而且罗云彬的书没提这个unicode的事 为啥没提呢 这个问题确实是个比较麻烦的事 最大的麻烦在于编译器都不支持。。
2012-09-30 22:00
hcksfch
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-9-30
收藏
得分:0 
回复 9楼 zklhp
那要怎么用,我不知道怎么定义unicode
2012-09-30 22:01
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
如果你是初学者 暂时不要考虑这个问题了 这个问题确实是个比较麻烦的事

如果非要解决 要靠微软的编译器完美解决是不现实的了 JWASM完全兼容MASMv6的高级宏 支持x64 开源 是个比较好的选择 可惜忙于搬砖也懒得研究了

祝楼主好运
2012-09-30 22:02
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用hcksfch在2012-9-30 22:01:17的发言:

那要怎么用,我不知道怎么定义unicode

没看我上面说的么 编译器本身不支持 要实现要么像我上面那个例子一样用外部工具转换后以db的形式放进去 要么用宏 宏有很多 缺点是不支持中文
2012-09-30 22:04
hcksfch
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-9-30
收藏
得分:0 
以下是引用zklhp在2012-9-30 21:59:42的发言:


对于这个 应该用

__UNICODE__ equ 1

等来实现 等号和equ不大一样

即使这样我还是不大看好这个特性 中文支持是硬;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Sample code for < Win32ASM Programming 3rd Edition>
; by 罗云彬, http://www.
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Test.asm
; 编程环境测试代码
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 使用 nmake 或下列命令进行编译和链接:
; ml /c /coff Test.asm
; rc Test.rc
; Link /subsystem:windows Test.obj Test.res
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        .386
        .model flat,stdcall
        option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include        windows.inc
include        user32.inc
includelib    user32.lib
include        kernel32.inc
includelib    kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
__UNICODE__ equ 1
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        .const
szCaption    db    '恭喜',0
szText        db    '当您看到这个信息的时候,您已经可以编译Win32汇编程序了!',0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        .code
start:
        invoke    MessageBoxEx,NULL,offset szText,offset szCaption,MB_OK,NULL
        invoke    ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        end    start

这个不管用,;结果ollydbg看的还是messageboxexa,而且运行结果没乱码。
2012-09-30 22:17
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
换个编译器试试。。。

梅尚程荀
马谭杨奚







                                                       
2012-09-30 22:28
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:10 
是不是必须把那个玩意放include之前啊
收到的鲜花
  • hcksfch2012-10-02 01:20 送鲜花  2朵   附言:我很赞同
2012-09-30 22:30
hcksfch
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-9-30
收藏
得分:0 
回复 18楼 zklhp
放在前面也不管用
ml版本,6.14.8444

[ 本帖最后由 hcksfch 于 2012-9-30 22:39 编辑 ]
2012-09-30 22:34
hcksfch
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-9-30
收藏
得分:0 
回复 17楼 有容就大
不会呀,我菜鸟一个
2012-09-30 22:37
快速回复:问个很基础的问题,怎么定义unicode,是编译的时候messageboxex的地址 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017560 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved