最近在制造需求。 必须将用c编写的方法封装为面向对象的形式,以便于解读和调用。 但是,因为之前没有接触过这方面,所以不知道如何应对如何导入和调用,寻找了各种各样的信息,网络上说的两个歧义,最后终于解决了,所以在这里分享给需要的伙伴。
首先要引入的是将cpp文件添加到项目中,然后在#include " "中引入头文件。 先别急。 这里也说别的东西。 引入cpp文件也不能直接调用里面的方法,所以这里说的是新的hpp文件。 如果您自己写C文件,请用Xcode创建一组C文件。
下一步后:
请务必选中also create a header文件。 这个header file是我们用于转换的hpp文件。 您可以直接调用cpp中的方法,方法是在hpp文件中声明cpp中的方法名称,然后在hpp文件中向oc类传递include。 如果已经有cpp,请创建hpp文件。 请参照上述内容
声明示例:
cpp文件voidmymethod(char*path ) HPP文件voidmymethod(char*path ); 在oc中键入mymethod(Helloworld ); //将调用此c方法的类. m文件转换为. mm//ps:需要特别注意其中的类型。 大多数情况下,在char和字符串的转换中,字符串会转移到char类型。 - (char * ) stringtochar:(nsstring* ) string{char} return TermConfig; }此外,建议将using namespace std添加到hpp文件中;
这是因为使用c字符串时,它与iOS的字符串类型不匹配。 这个可以转换。
以上,欢迎提问。