我有很多共享的C代码,我想在我的iPhone应用程序中使用.我将.cpp和.h文件添加到我的Xcode项目中,并使用了Objective-C代码中的类.该项目编译正确,0错误或警告.
但是,当我在模拟器中运行它时,当我尝试在我的objective-c代码(例如.c_str())中访问STL方法时,我得到以下错误:
Program received signal: “EXC_BAD_ACCESS”.
Unable to disassemble std::string::c_str.
以下是导致错误的代码示例:
[name setText:[[NSString alloc] initWithCString:myCPlusPlusObject->cppname.c_str()]];
其中name是NSTextField对象,cppname是myCPlusPlusObject的std :: string成员.
我是以正确的方式来做这件事的吗?有没有更好的方法在Objective-C中使用STL-laden C类?我希望尽可能保持常见的C文件不变,以避免必须在两个地方维护代码.
提前致谢!
解决方法:
在将字符串传递给initWithCString函数之前,请确保该字符串不为空.
您使用的功能也已弃用,use this one instead.
原文地址:https://codeday.me/bug/20190827/1743377.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。