所在的位置: C++ >> C++优势 >> C与OC互相调用

C与OC互相调用

1C++调用OC

C++文件以.cpp结尾,肯定写不了oc代码。编译器不认。

需要一个.h文件做中转,然后在oc中写函数实现。举例:

test1.cpp

#includecpp2oc-bridge-header.h

boolTest1::testFunc(inti)

{

testFuncOC(i);

}

cpp2oc-bridge-header.h

booltestFuncOC(inti);

test2.mm

#includecpp2oc-bridge-header.h

booltestFuncOC(inti)

{

[[NStingalloc]init];

}

2OC调用C++

非常简单,把混写OC和C++的代码文件名,改为mm结尾。

然后代码用C++写也可以,用OC写也可以。

总结:互相调用非常简单,本质来说还是同源,变量的访问都是点分,oc函数调用的写法有很独特,编译器都是clang,识别无障碍。

3数据类型的相互转化

constchar*转NSString

NSString*strPath=[[NSStringalloc]initWithCString:paszPathencoding:NSUTF8StringEncoding];

NSData*转constunsignedchar

constunsignedchar*rgba=CFDataGetBytePtr(data);




转载请注明:http://www.aierlanlan.com/grrz/3100.html