- ベストアンサー
C++の関数をCで呼ぶには??
C++の関数をCで呼ぶには、「extern C」を使用することが有名だと思いますが、これだとC++で記述したソースコードにextern Cを追加することにあると思います。 では、C++のほうはまったく手をつけず、C++の関数をCで呼ぶことは可能なのでしょうか? 知っている方がいましたらよろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
C++の関数をCで呼ぶには、「extern C」を使用することが有名だと思いますが、これだとC++で記述したソースコードにextern Cを追加することにあると思います。 では、C++のほうはまったく手をつけず、C++の関数をCで呼ぶことは可能なのでしょうか? 知っている方がいましたらよろしくお願い致します。
お礼
jactaさん、回答ありがとうございます。 やはり、C++の方にextern Cを記述したほうがよいのですね。
補足
現在,C++言語で記述された下位ライブラリから、C言語で関数を呼び出さなければならない状態にあります。 しかし、下位のライブラリがMinGWで実装されたものであり、.soファイルや.oファイルなどのライブラリファイルとC++ソースコードからなるという複雑な構造をしています。 しかも、上位のC言語プログラムはVisual Studioで動作させなければなりません。 どのようにすればこのような要求を満足できるソードを作成できるかを教えていただければ幸いです。