概要 前回はCからSwiftの関数を呼び出してみる方法を書いたけど、swift.hというヘッダを別に用意する必要があって面倒だし1、@_silgen_name("...")というattributeもなんだか怪しげな匂いがするし、…というわけで、Swiftの関数やクロージャをC言語の関数ポインタとして処理するという方法もあるので書いてみる。 要約 @convention(c)を使う。 以上(これだけで解った貴方はこの記事を読む必要はありません) 環境 OS X = OS X El Capitan + Xcode 7.3 (Swift 2.2) Linux = CentOS 7 + Swift 2.2.1 $ clang --version Apple LLVM version 7.3.0 (clang-703.0.29) Target: x86_64-apple-darwin15.5.0 T