zoukankan      html  css  js  c++  java
  • Swift3.0 调用C函数-_silen_name

    一般情况下Swit要想调用obj-c,c或c++代码必须通过obj-c以及桥接文件才可以办到,但是使用@_silgen_name,可以对于某些简单的代码,直接跳过桥接文件和.h头文件与C代码交互。

    创建.c文件

    #include <stdio.h>
    int add(int i, int j){
        return i + j;
    }
    
    int mul(int i, int times){
        return i * times;
    }
    

    创建.swift文件,引用.c文件函数

    // 在全局作用域下进行声明
    // swift 2.2使用关键字@asmname
    import Foundation
    @_silen_name("add") func c_add(_ num1: Int, _ num2: Int) -> Int
    @_silgen_name("mul") func c_mul(_ num: Int, _ times: Int) -> Int
    
    // 调用函数
    print(c_add(90, 23))
    print(c_mul(3, 20))
    
    // 结果
    113
    60


    作者:HCong
    链接:https://www.jianshu.com/p/233afa939614
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    鸡哥的限币令(有上下限的网络流/费用流问题)
    AtCoder Regular Contest 128 部分题题解
    一道题
    2021CCPC河南省赛
    10.26训练赛
    博弈论和SG函数
    10.24训练赛
    10.22训练赛
    CF #749
    atcoder ABC233
  • 原文地址:https://www.cnblogs.com/feng9exe/p/10196798.html
Copyright © 2011-2022 走看看