我有一个大量的用C ++编写的类库。我试图通过Swift内的某种桥接来利用它们,而不是将它们重写为Swift代码。主要动机是C ++代码表示一个在多个平台上使用的核心库。实际上,我只是在创建一个基于Swift的UI,以允许核心功能在OS X下工作。
还有其他问题,“如何从Swift调用C ++函数”。这不是我的问题。要桥接到C ++函数,以下工作正常:
通过“ C”定义桥接头
#ifndef ImageReader_hpp
#define ImageReader_hpp
#ifdef __cplusplus
extern "C" {
#endif
const char *hexdump(char *filename);
const char *imageType(char *filename);
#ifdef __cplusplus
}
#endif
#endif /* ImageReader_hpp */
Swift代码现在可以直接调用函数
let type = String.fromCString(imageType(filename))
let dump = String.fromCString(hexdump(filename))
我的问题更具体。如何在Swift中实例化和操作C ++类?我似乎找不到任何发布的内容。
慕森王