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

关于VC和BCB对结构体指针参数处理,该怎么处理

2012-02-19 
关于VC和BCB对结构体指针参数处理最近我用VC编写了一个Win32的动态库,输出函数的参数是结构体指针,我又使

关于VC和BCB对结构体指针参数处理
最近我用VC编写了一个Win32的动态库,输出函数的参数是结构体指针,我又使用VC作了一个测试程序,测试这个输出函数,没有问题,接着,我利用BCB工具生成这个动态库的.lib和.def文件,又使用BCB做了一个测试程序,还是调用这个函数,但是得出结果却是错误的,我怀疑VC和BCB处理这个结构体指针过程中有区别,但又不清楚是怎么回事,请指点。

[解决办法]
如果有enum的话,VC默认是用int型的,BCB要在工程属性里设置Treat enum types as ints

还有就是字节对齐是否一致,最好大家都用紧凑格式

最好是把你的结构体写出来看看.
[解决办法]
就像上面说的几个注意点:
1.调用方式的区别 __stdcall __fastcall __cdecl是不同的,BC和VC中的__fastcall还不同。
2.结构的字节对齐问题,最好在头文件明确指定,别被编译器默认设置覆盖了。
3.结构中的成员最好都使用4字节类型,如指针等。

热点排行