首页
社区
课程
招聘
[求助]VC里面如何调用MASM汇编里面的变量啊?
发表于: 2008-11-2 19:54 5208

[求助]VC里面如何调用MASM汇编里面的变量啊?

2008-11-2 19:54
5208
汇编如下:
.386
.model FLAT,stdcall
option casemap :none
.DATA
_ClassNamed dd 33124

VC代码如下:
extern DWORD  ClassNamed;

但是在调用的时候,如:
DWORD a=ClassNamed;
出现如下编译错误:
Robot error LNK2001: unresolved external symbol "unsigned long ClassNamed" (?ClassNamed@@3KA)
Robot fatal error LNK1120: 1 unresolved externals

应该怎么解决啊?
谢谢了。。

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 293
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
MASM里面定义的变量,编译的时候会自动在前面加下划线。在VC里面引用MASM里面的变量不需要加前面的下划线,也就是说,在MASM定义的名字直接在VC里面用。


汇编如下:
.386
.model FLAT,stdcall
option casemap :none

public _ClassName

.DATA
_ClassNamed dd 33124


VC里面
extern "C" DWORD _ClassNamed;


其实我觉得这里名字定义的时候不加下划线挺好的啊,一般在asm里面局部变量或者函数才在开头加下划线吧。可以写成这样:

汇编如下:
.386
.model FLAT,stdcall
option casemap :none

public ClassName

.DATA
ClassNamed dd 33124


VC里面
extern "C" DWORD ClassNamed;
2008-11-2 22:51
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢了。。呵呵
2008-11-5 12:55
0
游客
登录 | 注册 方可回帖
返回
//