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

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

2008-11-2 19:54
5370
汇编如下:
.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

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

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费
支持
分享
最新回复 (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
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册