2016-08-26 7 views
5

私はいくつかのcppファイルを持っており、FFIを使ってそれらをLuaJitと組み合わせたいと思っています。関数 `extern"を "` `にすることはできますか?

しかし、問題は、私がFFIがそれらにアクセスすることを可能にするために、ほぼすべての機能にextern "c"シンボルを追加する必要があることです。

これを行うための簡単な方法はありますか?

+7

すべての機能を1つのextern Cブロックにまとめることができます。十分ではありませんか? –

+1

cppファイルは自分で作成されたものではなく、その機能以外は何も分かりません。私はちょうどそれらをルアを通して使いたいです。 –

+0

まず、すべての関数が 'extern" C "' -readyであることをチェックしましたか?私。彼らはC型(参照もクラスもない)だけを使用していますか? 'extern" C "'は名前のmanglingを止めるだけです。 – Sergio

答えて

0

複数の機能を1つのextern "C"ブロック内に配置することができます。これにより、ヘッダーファイルごとに1回だけextern "C"と入力することができます。

extern "C" { 
    void function1(); 
    void function2(); 
} 
関連する問題