VS2005でwin32のdll作成を行っています。cの関数を作成して

extern "C" BOOL PASCAL EXPORT をつけ、コンパイルすると無効な修飾子と言われます。どうしてでしょうか。どのようになおせばよろしいでしょうか?

教えてください。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/05/16 19:12:59
  • 終了:2010/05/23 19:15:03

回答(2件)

id:wack1234 No.1

wack1234回答回数24ベストアンサー獲得回数32010/05/17 05:11:20

ポイント35pt

C++は分からないのでお役に立てるか分かりませんが、少し探して見ました。

VB.NETでプロシージャのアドレスを取得する方法。

http://dobon.net/vb/bbs/log3-8/4379.html

ここでPASCAL EXPORTを使っている方がいるのでサポートはされていると思います。



Win32 APIやDLL関数を呼び出すには?

http://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.ht...

ここの型の対応を見ると

BOOL (long)は bool (System.Boolean)になっていますが、前回のソースを見るとVB側をIntegerで定義してるけど問題ないの?



スタックのつみ方はこちらが参考になるかな?

関数の呼び出し形式

http://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.ht...



関数呼び出しの内部を理解する(2)

http://konuma.txt-nifty.com/blog/2006/01/post_1fd3.html

id:ko8820 No.2

ko8820回答回数1221ベストアンサー獲得回数692010/05/17 20:41:58

ポイント35pt

http://yamatyuunet.bne.jp/pc/win/sample/dll/index.htm

こんな感じに作ればよい

  • id:mai_mai_mail
    extern "C" BOOL PASCAL EXPORT をextern "C" BOOLとしたらコンパイルが通りました。また、DEFファイルを書いたらVBからアクセスできました。PASCAL EXPORTに問題があったようです。単にPASCAL EXPORTがサポートされてないのでしょうか?また、PASCALを指定しなかったときにはスタックへのつみ方はどうなるのでしょうか?また、VBでのスタックのつみ方はどのようなのでしょうか?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません