Swift3:如何创建char **?

时间:2017-03-18 16:05:26

标签: c swift swift3 dynamic-library

我尝试从Swift(3)的动态库中调用C函数。 我想镜像函数调用,如下面的c示例所示。

这是函数声明

extern int parseArgs(int argc, char **argv);

这是正确使用它:

char* args[] = {"-arg1","-arg2","-arg3"};
parseArgs (sizeof(args)/sizeof(char*), args);

到目前为止,我已经能够将字符串转换为正确的格式。这就是我正在使用的。

typealias CHAR = UnsafeMutablePointer<Int8>
func cString(_ s: String) -> CHAR {
    return UnsafeMutablePointer<Int8>(mutating: (s as NSString).utf8String!)
}

到目前为止,这么好。现在,我该如何继续?

typealias CHAR_ARRAY = UnsafeMutablePointer<CHAR?>

这似乎是正确的类型。但我不能做实例化。并且知道我和我缺乏低级编程:即使是上面的CHAR解决方案也不是理想的。你会如何调用parseArgs函数?

0 个答案:

没有答案