アプリ版:「スタンプのみでお礼する」機能のリリースについて

コマンドラインからcl.exe /LDでDLLを作成し、同様に生成したEXEから使う分には問題ありません。
DLLはLoadLibrary()で動的に呼び出しています。

ところが、EXEをVisualStudio2010で作ったRelease版やDebug版で使おうとすると、
「ESPがなんちゃら」
メッセージが出て正常に動作しません。

回避方法はあるでしょうか。

質問者からの補足コメント

  • 画像を添付できないので、次にアップロードしました。
    http://fast-uploader.com/file/7080598410275/
    デバッグモードとリリースでは動作が違うのも不思議です。

    修正:
    ところが、EXEをVisualStudio2010で作ったRelease版やDebug版で使おうとすると、

    ところが、そのDLLをVisualStudio2010のIDEで作ったRelease版やDebug版のEXEでLoadLibrary()して使おうとすると、

      補足日時:2018/04/30 08:04

A 回答 (5件)

まず基本を学びましょう。

そうすれば自ずとわかります。

https://msdn.microsoft.com/ja-jp/library/k2b2ssf …
    • good
    • 0

>具体的には、どうすれば良いのでしょうか。



呼び出し規約を揃えて下さい。
どれに揃えるかは…自分で判断してくださいとしか。おすすめはVisualStudio2010のデフォルト設定でしょうか。
設定画面開けばデフォルトはどれになっているのか書かれているかと。
で、cl.exeでどう指定するのかはオプションスイッチのヘルプ見て下さい。

Win32APIだと…APIENTRYとかのdefineが設定されていたような記憶がありますが。


ああ、エラーメッセージで検索したときにはスタックオーバフローで発生したっぽいように書かれているページもありましたな。
念の為。
    • good
    • 0
この回答へのお礼

わかりませんでした。

具体的には、どうすれば良いのでしょうか

お礼日時:2018/05/04 21:10

エラーメッセージに呼び出し規約が合っていなさそうだ


と書いてありますよ。
    • good
    • 0
この回答へのお礼

具体的には、どうすれば良いのでしょうか。

お礼日時:2018/05/03 09:58

「vc run-time check failure #0」でWeb検索するといくつかみつかるかと。


cl.exeでDLL作成する際に呼び出し規約指定していないため、VisualStudio2010のデフォルト指定と異なるのでしょう。
    • good
    • 0
この回答へのお礼

具体的には、どうすれば良いのでしょうか。

お礼日時:2018/05/03 09:58

>「ESPがなんちゃら」


>メッセージが出て正常に動作しません。

なんちゃらだとか、動作しませんだとかでなく、メッセージはちゃんと掲示すべきかと。
同じ状況になった人しか回答できませんよ?

仕様に沿ったDLLならコンパイラとぎ変わったくらいで使えなくなる。なんてことはないかとおもいますが…。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!