C++ ⇒ VBA 書いて覚えるための初心者自己中記事

C++ ⇒ VBA 勉強の履歴を付けるというかノート代わりに使ってます

C++  extern"C" 書いて覚えるための初心者自己中記事

C言語で作られたライブラリをC++で使う場合には注意が必要。

CとC++では関数名の内部表現が違う。

内部表現はコンパイラ後の名前みたいなものか。

これがCとC++で違うってことはコンパイル後にお互いがわからなくなるのか。

これを解決するのがextern "言語名"

C言語で作られた関数を呼ぶとして、extern"C"をその関数のプロトタイプの先頭につける。自身の言語を主張する感じ。

 

逆にC++の関数はC言語で呼び出せない。

ただし、C++でextern"C" とつけた関数はよびだせる。

extern"C" はブロックで関数プロトタイプをまとめられる。

 

ここまで。