zoukankan      html  css  js  c++  java
  • OC/Swift/C/C++混合使用的编程姿势

    一,OC调用C语言方法
    1.OC中的.m文件对C语言完全兼容,可以直接导入C头文件,进行使用
    2.定义一个.c的C语言文件,在.m文件中导入,就可以使用。
     
    二,OC调用C++语言方法
    1.需要将.m文件后面再加一个m,改成.mm文件,.mm文件对C/C++完全兼容,导入C/C++头文件就可以使用
    2.定义一个.cpp的C++文件,在.mm文件中导入就可以使用了。
     
     
    三,C++调用OC语言方法
    1.在定义的OC类中,若想让C++文件成功进入OC文件,就需要将OC类的.h文件中涉及到OC中的方法全部删掉。然后在.h文件中定义C/C++语言的方法名。在.mm文件中可以用OC/C/C++语言来实现。
     
     
    四,swift调用C语言方法
    swift语言无法直接使用C语言方法,需要通过桥接头文件使用。
    1.在swift工程下创建一个C文件同时生成bridging-header桥接头文件。
    2.在C语言.h文件中声明方法名,在.c文件中实现方法,在桥接文件中导入C语言文件#include “a.h”
    3.在swift文件中使用
     
    五,swift调用C++语言方法
    1.在swift工程下创建一个OC文件同时生成bridging-header桥接头文件。
    2.在OC语言.h文件中声明方法名,在.mm文件中实现方法,在桥接文件中导入C语言文件#include “a.h”
    3.在swift文件中使用
     
     
    六,bridging-header桥接头文件说明
    bridging-header桥接头文件的作用是让swift语言执行oc语言的方法的。
    所以里面是oc类的引入#include “oc.h”
    同时系统也会创建一个不可见的桥接文件供oc调用swift语言的方法。
    这个桥接文件是:工程名-Swift.h。
    可以通过在oc类中导入这个头文件,使用swift类中的方法(现在不导入这个文件也可以使用,估计是Xcode做了优化)。
  • 相关阅读:
    idea.vmoption文件修改之后,Idea无法打开的问题
    py学习:namedtuple 具名元组
    py学习:可变对象作为函数参数默认值
    图解Python变量与赋值(转)
    github 提交的认证方式
    让 IDEA 忽略某个文件夹的方式
    在 Windows 上开启 telnet 功能
    Java原生日志 Java.util.logging
    转:Python简史
    Maven无法下载fastdfs-client-java依赖,Dependency 'org.csource:fastdfs-client-java:1.27-SNAPSHOT' not found.
  • 原文地址:https://www.cnblogs.com/zhou--fei/p/8906545.html
Copyright © 2011-2022 走看看