C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Objective-C周围编写一个C包装大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想从OS X中的C项目中调用并使用Objective-C类.现在是开始向所有Objective-C转移的时候了,但是我们需要在一段时间内完成.

如何做到这一点呢?任何人都可以散发光芒并提供一个榜样吗?

解决方法

Objective-C++是C的超集,就像Objective-C是C的超集.它由OS X上的gcc和clang编译器都支持,并允许您实例化并调用Objective-C对象& C中的方法.只要在C模块的实现中隐藏Objective-C头文件导入和类型,就不会感染任何“纯”C代码.

.mm是Objective-C的认扩展名. Xcode会自动做正确的事情.

所以,例如,以下C类返回1970年1月1日以来的秒数:

//MyClass.h

class MyClass
{
  public:
    double secondsSince1970();
};

//MyClass.mm

#include "MyClass.h"
#import <Foundation/Foundation.h>

double MyClass::secondsSince1970()
{
  return [[NSDate date] timeIntervalSince1970];
}

//Client.cpp

...
MyClass c;
double seconds = c.secondsSince1970();

您将很快发现Objective-C比C编译速度更慢,但是如上所述,将它们的使用隔离到少量的桥接类上是比较容易的.

大佬总结

以上是大佬教程为你收集整理的在Objective-C周围编写一个C包装全部内容,希望文章能够帮你解决在Objective-C周围编写一个C包装所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。