64 ビット プラットフォームでサポートされていないアセンブリ コードを含む C++ プロジェクトの 32 ビットから 64 ビットへの移行に取り組んでいます。移行する必要があるプロジェクトに関する基本的な情報を提供したいと思います。
プロジェクトの出力は、別の C++ プロジェクトで使用される lib ファイルです
アセンブリ コードを含むコンテキストは次のとおりです。
int* a = Begin_args; int* b = End_args; (where Begin_args and End_args are int*) while (b > a) { int test = *(--b); __asm push test }
したがって、基本的にはステートメントを置き換える必要があります
__asm push test
私が直面している問題は次のとおりです。
同じ push ステートメントの pop ステートメントを見つけることができません
プロジェクトの出力が lib ファイルであるため、プロジェクトをデバッグできません。
スタック、配列、キューを使用してみましたが、うまくいきませんでした。コンパイル エラーは発生しませんが、アプリケーションを起動するとクラッシュします。
だから私の質問は:
出力が lib ファイルである C++ プロジェクトをデバッグできますか?
他のフォーラムでもこの質問をしました。誰かが試してみるように言いましたが、代わりに
va_list
どのように機能するか理解できません。va_list
__asm push test
最後に、この Asm コードを C++ に置き換える方法/この Asm コードを置き換えるにはどうすればよいですか?
私は長い間この問題に悩まされているので、どんな助けも大歓迎です.