0

Qt でいくつかの asm コードのリストビューを作成する必要があります。

問題は次のとおりです。

  • asm ファイルは巨大で、QPlainTextEdit ウィジェットなどにロードできません。アプリケーションがハングアップし、スクロールが非常に遅くなるためです。
  • スクロールバーは、前方へのナビゲーションを可能にする必要があります (これは単純でなければなりません) が、後方へのナビゲーションも可能にする必要があります (また、前の命令を逆アセンブルするにはどうすればよいでしょうか? それらが何バイトあるかわかりません!)
  • 「goto address」機能は、アドレスが命令に対応している (そして命令の途中にない) と確信している場合でも実行するのは難しいでしょう。問題は前のポイントと同じです: I don'その前の命令のバイト数がわからないので、数行逆アセンブルできません

誰かがこれで私を助けることができますか?

4

1 に答える 1

2

ファイル全体をウィジェット/コントロールにロードしないでください。表示するのに十分なだけロードし(たとえば、50行または画面に収まるもの)、残りをキャッシュするか、ファイルマッピングを使用して、必要に応じて他の行にすばやくアクセスします。

逆アセンブルについては、現在の位置から離れた場所、たとえば現在のアドレス(256バイト)で逆アセンブルを開始してみてください。コードを逆アセンブルする場合、逆アセンブルはそれらの256バイト内で同期する可能性があります。コードにデータが埋め込まれている場合は、別のバイト数またはファイルの先頭に戻ろうとする以外に、これが最善の方法です。

于 2013-02-03T02:34:01.953 に答える