首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

变量类型

2012-02-15 
求助变量类型我用汇编写了一个DLL,Makefile中指明了.bss有S属性。然后用在BCB中调用这个DLL里的一个函数,函

求助变量类型
我用汇编写了一个DLL,Makefile中指明了.bss有S属性。
然后用在BCB中调用这个DLL里的一个函数,函数返回一个指针。也就是说,返回是eax == offset _mysting。因为dll设置了数据共享,我想,这个地址作为导出函数的返回值返回给BCB的这个程序,然后就可以通过这个地址调用MessageBox来显示里面的字符串了。

但是实际却出现问题。

eax是32位,返回的值和DWORD长度相同。但是我如果用DWORD来接收导出函数的返回值,就不会在MessageBox中调用了。



(不知道这里应该是什么变量类型)p = (lpProcAdd)(NULL,NULL); //这个是导出函数,返回一个字符串起始地址  

::MessageBox(NULL,p,p,NULL); //MessageBox函数在汇编中,直接将中间两个参数设置为字符串起始地址就可以。但是我在BCB中放入一个DWORD类型的变量貌似是不行的,不知道怎么办了。





总之最终想让MessageBox能弹出DLL中导出函数返回的字符串起始位置开始的字符串。

谢谢大家。

[解决办法]
如果是这样,很简单,强制转换:
char *p=(char *)(lpProcAdd)(NULL,NULL);

热点排行
Bad Request.