タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

Cに関するhirocuekiのブックマーク (1)

  • 続・徒然開発記: DLLでextern "C"でstdcall

    とあるソフトのプラグインを作る事にしました。 このプラグインは普通のDLLの拡張子を変更したものなので、普通にDLLを作ります。 DLLを作るには、Visual C++ならプロジェクト作成時にDLLを作る指定をするだけなので、何も問題ありません。 後は、普通にプログラムを書いて、外部に公開する関数に「_declspec(dllexport)」と付けるだけです。 _declspec(dllexport) void func() { .... } これで、外部からDLL内のfunc関数を呼び出せるようになります。 ところが、C++の場合は関数のオーバーロード(引数が違えば同じ名前の関数を定義できる機能)がある所為で、内部では関数名が違う名前に置き換えられています。 ソースファイルにはfuncと書いてあるのに、実はfuncではないという事態になるのです。 DLLの場合、関数名を頼りにアクセスする

  • 1