タグ

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

タグの絞り込みを解除

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

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

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

    jinback
    jinback 2008/01/06
  • 1