您的位置:首页 > 移动开发 > Objective-C

malloc: *** error for object 0x1ecc0eb0: pointer being freed was not allocated

2014-08-28 17:22 387 查看
当在做Unity与XCode之间通信时:

XCode中的代码:

extern "C" {
const char* getWeiboAppInstallUrl() {
NSString *str = [[NSString alloc] initWithCString:"Sheldon" encoding:NSStringEncodingConversionAllowLossy];
return [str UTF8String];
}
}


或者

extern "C" {
const char* getWeiboAppInstallUrl() {
const char * a = "Sheldon";
return a;
}
}


这上面两种情况下XCode运行均报错如下:



解决方法,改变代码为:

extern "C" {
char * getWeiboAppInstallUrl() {
NSString * str = [[NSString alloc]initWithString:@"Sheldon"];
char * x = (char *)malloc(strlen([str UTF8String]) + 1);
strcpy(x, [str UTF8String]);
return x;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐