問題タブ [object-files]
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.
c - オブジェクトファイルから単一のプロシージャを抽出しますか?
単一のプロシージャを抽出する必要がある64ビットのCOFFオブジェクトファイル(ソースコードやデバッグ情報はありません)があります。
手順は比較的短く、依存関係は次のとおりです。
- 1つのグローバル変数。
- インポートされたプロシージャのカップル。
私はすでにコードの逆アセンブルと再アセンブルを試みました。ただし、奇妙な理由で、デバッガーと逆アセンブラーでコードが同じように見えても、同じように動作しません。(実行可能セクションに正しいフラグなどがあることを確認しようとしましたが、私の知る限り、これらはすべて正しく、値は実行時に「あるべき」値とも一致します。)
では、プロセスでコードを逆アセンブルして再アセンブルすることなく、関数を新しいオブジェクトファイルに直接コピーする(またはその関数以外のすべてを削除する)方法はありますか?
c++ - オブジェクトファイルと実行可能ファイルのさまざまなフィールドのサイズの違い
サンプルのc++プログラムについて、Linuxでsizeコマンドを使用して次の情報を取得しました。
出力はサイズであることを読みました。textは実際のコードであり、bssには初期化されていないグローバル変数が含まれ、データは初期化されたセグメントと初期化されていないセグメントの両方の追加として含まれます。私の質問は、ソースコードがメモリ内で一般的であるため、オブジェクトファイルと実行可能ファイル、特にテキストでサイズが異なるのはなぜですか?グローバル変数がない場合、bssのサイズが表示されるのはなぜですか?
サンプルコードファイルには以下が含まれます。
ありがとう!
linux - 共有オブジェクトに静的ライブラリを含めますか?
一連の静的ライブラリを共有オブジェクトにコンパイルしたいと思います。これまでのところ、
上記の objs/*.o には、ar を使用してさまざまな静的ライブラリから抽出されたすべてのオブジェクト ファイルが含まれています。
更新: 基本的に、.a ファイルを抽出せずにコマンド ラインで直接使用できるかどうか疑問に思っています。
eclipse - Eclipse と GCC を使用してデバッグ/リリース出力に .o ファイルをコピーまたは保持する
オブジェクト (.o) ファイルを含むライブラリ プロジェクトがあります。ファイルがビルドに含まれていることを確認するために、次のビルド後のコマンドがあります。
ただし、これは、デバッグとリリースで AdHocObject.o ファイルを手動でコピーする必要があり、プロジェクトをクリーンアップできないか、最初からやり直してデバッグとリリースで AdHocObject.o をコピーする必要があることを意味します。
これは、ライブラリを (インクルードとして) 使用して再構築する 2 つ目のプロジェクトがあり、AdHocObject.o が最初に消去されていることを確認すると、さらに面倒になります。
私はここで少し迷っています。いろいろな方法があると思いますが、見つけられません。私はできた:
- 2 番目のプロジェクトでライブラリを再構築しないようにしますが、方法がわかりません。
- ライブラリが AdHocObject.o をデバッグとリリースに保持するようにしますが、方法がわかりません。
- ビルド前のコマンドを追加して、AdHocObject.o を出力フォルダー (Debug または Release) にコピーしますが、ご想像のとおりです。
これらのアクションのいずれかが可能ですか?複数の場合、推奨されるアプローチは何ですか?
c - Cのオブジェクトファイルにマクロが存在するかどうかを確認する方法は?
たとえば、次のマクロを定義します。
VERSION
オブジェクトファイルに存在するかどうかを確認するにはどうすればよいですか? で逆アセンブルしようとしobjdump
ましたが、マクロの実際の値が見つかりませんでしたVERSION
。VERSION
Makefile で定義されています。
c - オブジェクトファイル(.o)に含まれる.cファイルのヘッダーファイルパス参照です。
次の行を持つexample.cファイルをコンパイルします。
コンパイラは、getexample.oファイルを作成します。ヘッダーファイルへのパスはexample.oファイルに含まれていますか?またはその情報は外部ですか?
visual-c++ - 16 ビット obj ファイル VC++
作業中のブートローダーで使用するために、VC++ プロジェクトを 16 ビット フラット オブジェクト ファイルにコンパイルするにはどうすればよいですか?
私の理解では、オブジェクト ファイルは技術的には既に「フラット」であり、リンカーはそれを目的の実行可能形式に変換します。そのオブジェクト ファイルを取得し、それとアセンブリ コード (obj 形式) をリンカーを介して渡して、フラット ブートローダーを作成できるようにしたいのです。
[ガイド][1] は、ファイルがどこにあるかについてあまり具体的ではなくcl.exe
、 、link.exe
、およびml.exe
(MASM) を使用しているとだけ述べています。
このガイドでは MASM を使用していますが、オブジェクト ファイルを NASM で出力する方法を知っています。私の主な問題は VC++ のことです。
compiler-errors - 「-fobj」を使用したNASM「org」ディレクティブ
NASM が org ディレクティブを使用してオブジェクト ファイルにコンパイルしないのはなぜですか?
これを次のようにコンパイルすると:
NASM は何らかの理由でエラーを出します:
c - 共有オブジェクトのncursesにリンクできません
何らかの理由で、ncursesを使用する共有オブジェクトのコンパイルで問題が発生しました。-lncursesをインクルードしてリンクしても、.soファイルのコンパイルは失敗します。お知らせ下さい。
Makefileは次のとおりです。
エラーは次のとおりです。
java - オブジェクトファイルの追加を回避するために、このサブクラスを具体的に実装するにはどうすればよいですか?
プログラムにオブジェクトファイルを追加するのに問題がありました。私はこのSOの答えを見つけました。
ただし、をサブクラス化する方法がわかりませんAppendableObjectOutputStream
。誰かが親切に私にどのようにもっと詳細に教えてもらえますか?