BCB 2009 怎么用VC的标准STL
RT BCB 2009 怎么用VC的标准STL??
因为 BCB 2009的 sizeof(std::string) == 40
但是 标准VC的 sizeof(std::string) == 32
也就是说2个版本的std::string 在内存中是不一样的 我需要匹配一样
所以需要把 BCB2009的 STL 替换成 标准的VC的STL 怎么做啊???
哪个高手能否说下啊 感激不尽
[解决办法]
在写DLL所用的VC的版本的 STL 中,提取 其 std::string 内存布局,将其写成一个类,同时调整字节对齐,使其与 VC 写的DLL中的内存布局一致。然后,使用专用的头文件调用DLL就可以了。
这不是一般的麻烦. VC换个版本编译,你又得重做一次。
写DLL,用 STL 做接口,就把通用性抛到一边去了,压根就没想给别的语言调用,就算同样是VC,不同的版本也可能不行的。更何况BCB。
[解决办法]