Objective-c中的Extern C函数

Han*_*pen 3 c objective-c extern iphone-sdk-3.0

我开发iPhone应用程序,并在更新到sdk 3.0后,我在链接时收到CFWriteStreamCreateWithFTPURL错误.这是我调用以获取错误的代码.

streamInfo.writeStream = CFWriteStreamCreateWithFTPURL(NULL, urlRefWrite);
Run Code Online (Sandbox Code Playgroud)

我有一个想法,它可以使用extern"C"解决,但在谷歌搜索后,我还没有找到我的问题的解决方案.有任何想法吗?

提前致谢

Tom*_*Tom 9

extern"C"可能会成功.我可以通过在实现和头文件声明周围做这样的事情来获得C函数来编译和链接.这是一个简单的例子:



#if __cplusplus
extern "C" {
#endif

/// converts a degree value to radians
double DegreesToRadians(double degrees);

/// converts radian value to degrees
double RadiansToDegrees(double radians);


#if __cplusplus
}   // Extern C
#endif


实施文件:


#import "Math.h"

#if __cplusplus
extern "C" {
#endif


double DegreesToRadians(double degrees) {return degrees * M_PI / 180;};
double RadiansToDegrees(double radians) {return radians * 180/M_PI;};


#if __cplusplus
} //Extern C
#endif