問題タブ [stdcall]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
162 参照

c++ - QtConcurrent::run() は __stdcall/WINAPI 関数を受け入れません

__stdcallを使用して呼び出し規則を持つ DLL 関数を実行しようとしましたがQtConcurrent::run()、コンパイル エラーが発生します。

問題を次のコード例に減らしました。

コードを削除する__stdcallと、コンパイルして正常に実行されます。そうしないと、次のコンパイル エラーが発生します。

なぜこのようなことが起こるのでしょうか? また、最善の回避策は何ですか?

0 投票する
1 に答える
233 参照

c++ - QT - サードパーティのコールバック コールバックしない?

私が使用しているサードパーティのライブラリ用のテスト アプリケーションを作成しました。コンパイルは問題なく行われますが、__stdCall WriteDone にはヒットしないようです。

サンプルコードから、この関数のように見えます

このコードを呼び出しますが、私の知る限りでは、ここに到達することはありません。

これはテストアプリケーション全体です

0 投票する
1 に答える
451 参照

c++ - GNU inline asm: __stdcall によって破壊されるレジスタはどれですか?

callC++ コードで GNU のインライン アセンブラを介して命令を使用して、__stdcall規則を使用していることがわかっている関数を呼び出す場合、すべてのレジスタを clobbered としてリストする必要がありますか?

私はインターネット上で優れたガイダンスを見つけていませんが%eax、 、%edx、およびのように見えます%ecxが、前の 2 つは戻り値用に予約されています。

これが私のコードです。3 番目のコロンの後に何を入力する必要があるか知りたいです。

このメッセージ スレッドは、インターネット上で見つけることができる最高のものですが、「これは、__stdcall保存せずに変更できることを前提としています」というものを見つけることができませんでした...

0 投票する
1 に答える
1942 参照

c - Delphi/Free Pascal/Lazarus DLL の C ヘッダーの作成方法 - データ型

私のアプリケーションでは、stdcallを使用して、Delphi から DLL を作成する必要があります (より正確には、Lazarus IDE 内で記述された Delphi 互換コードであり、Linux でフリー パスカルによってコンパイルされます) 。
その DLL を (たとえば、Matlab などで) 使用する場合、もちろん、引数を渡すためのメタ情報が必要です。多くの場合、ヘッダー ファイルで実現されます。Delphi ソース コードで実行するツールを探しています。-リバースのようなh2pasもの。
私の研究では結果が得られませんでした。私が思うに、そのようなツールはありません。表またはその他の情報、Delphi/Pascal データ型が C 型にどのようにマッピングされるか、およびレコードを操作する方法を見つけたいと思います。