問題タブ [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.

0 投票する
2 に答える
1280 参照

perl - Perl を使用して .obj から .h に変換する

Blender を使用して obj ファイルを生成しましたが、オブジェクト ファイルをヘッダー ファイルに変換したいと考えています。Perl と opj2opengl.pl をインストールしましたが、どのコマンド ラインを使用すればよいか、どのようなコマンドを記述すればよいかわかりません。「opj2opengl.pl abc.obj」と書くことを提案しているサイトもありますが、これはうまくいきません。私はあなたの助けに感謝します。

0 投票する
2 に答える
1347 参照

c++ - 2 つのオブジェクト ファイルをリンクする場合、#ifndef は関数を 2 回定義することを防ぎますか?

2 つのクラス実装があります ( .cpp files)

headerどちらも(.h) ファイルに実装された関数が必要です。どちらの .cpp ファイルにも .h ファイルが含まれています。コンパイル後、2 つのファイルは 2 つの.cppファイルになり.oます。

2 つのオブジェクト ファイルをリンクするときに、関数が 2 回定義されていませんか?

#ifndefこの状況を防ぐことはできますか?

使用#ifndefしましたが、次のメッセージが表示されました。

0 投票する
2 に答える
1817 参照

c++ - C/C++: 静的にリンクされたライブラリとオブジェクト ファイルの違いは何ですか?

コンパイル時に実行可能ファイルに含まれるコードは、オブジェクト ファイル (.o ファイル) および静的にリンクされたライブラリ (.lib/.a ファイル) から取得できることを理解しています。これら2つの根本的および概念的な違いは何ですか? 「オブジェクト コード」と「静的にリンクされたライブラリ」の概念が異なるのはなぜですか? それぞれの長所と短所は何ですか? また、一方を他方とは対照的に使用する理由は何ですか? 静的にリンクされたライブラリをオブジェクト ファイルから作成できますか? 逆に、静的にリンクされたライブラリからオブジェクト ファイルを作成できますか?

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

assembly - オブジェクトファイルのシンボルテーブルと再配置テーブル

私が理解していることから、オブジェクトファイル内の命令とデータにはすべてアドレスがあります。最初のデータ項目はアドレス 0 から始まり、最初の命令もアドレス 0 から始まります。

再配置テーブルには、ファイル内のアドレスが変更された場合 (たとえば、ファイルが別のファイルとリンクされている場合) に更新する必要がある命令に関する情報が含まれています。以下の例の行 A は、再配置テーブルにあります。ラベル「等しい」のアドレスはBに関連しているため、Bが再配置テーブルにあるとは思いません.これらの正しい仮定はありますか?

シンボル テーブルには、ファイルのラベルと解決されていないラベルが表示されます。しかし、シンボル テーブルには他にどのような情報が含まれているのでしょうか?

また、アセンブラが命令をバイナリに変換するとき、未解決の参照を持つ命令には何が配置されますか? この例では B.

0 投票する
0 に答える
103 参照

c++ - 他のオブジェクト ファイルに依存するオブジェクト ファイルの構築 (C++)

いくつかのクラス メソッド定義とその他の関数を含むファイル Matching.cxx があります。他の多くのクラスへの呼び出しが含まれています。私のメイクファイルでは、最初に他のすべてのクラスのオブジェクト ファイルを作成してから、Matching.o を作成しようとします。ただし、これを行うと、これらの他のクラスが出現するたびにエラーが発生します。コンパイル エラーをスローする領域で、抽象ベース オブジェクトを作成し、いくつかの条件に基づいて派生オブジェクトから継承していることも重要な場合があります。オブジェクトファイルを正しくリンクしていないことに関係していると感じています。現在、他のクラスのmakefileをそれぞれ作成し(これはうまくいきます)、次にMatching.oを作成し(これは失敗します)、次にリンクしますそれらをすべてまとめて最終的な実行可能ファイルにします。明らかに何かがおかしい!

どんなアドバイスでも大歓迎 乾杯ジャック

詳細:

エラーは次のようになります。

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

android - .o ファイルを Android ndk ビルドに追加する方法

サードパーティ ライブラリの .o ファイルがあります。そのための .c ファイルがなく、それらにアクセスすることもできません。通常、これは問題ではありません。これをリンクするファイルのリストに追加するだけです。ただし、ビルド スクリプトを変更せずに NDK でコンパイルせずにファイルをリンクする方法が見つかりません。助言がありますか?

0 投票する
2 に答える
1277 参照

c - 他のオブジェクト ファイルに依存するオブジェクト ファイルの構築

編集:私のmakefileへのリンクを含む

他のソース ファイルで定義された一連の関数を呼び出すメイン プログラムがあります。cc -c functionSource.c メインプログラムをコンパイルする前にfunctionHeader.hを使用してオブジェクトファイルを生成しているため、これは問題ではありませんcc main.c func1.o func2.o .... -o test.o

関数の 1 つが別の関数に依存している場合に問題が発生します。例: 私のメイン プログラムは、独自のソース ファイルで定義されているシャッフル関数を呼び出し、シャッフル関数は、独自のソース ファイルで定義されているスワップ関数を呼び出します。

を使用してメイン プログラムの shuffle.o ファイルを生成しようとするとcc -c shuffle.oundefined reference to swapエラーが発生します。

しようとするとcc shuffle.c swap.oundefined reference to mainエラーが発生します。

ここに私のメイクファイルがあります

これを修正するにはどうすればよいですか? 問題が見つかりました。insertSort.h と shuffle.h 内で宣言されたスワップ関数がありましたが、実装はありませんでした。