0

すみません、私は Android/Linux プラットフォーム用の C プログラムに精通しています。現在、 を使用しSourcery G++ Lite Edition for ARMてサンプル C プログラムをビルドし、それを Android プラットフォームの Linux にデプロイしようとしています。以下は、私が従う指示です。これまでのところ、問題なく動作しています。でも、よくわからないことがありました。見直してください。ありがとう。

ソース コードは、Hello World プログラムです。

#include <stdio.h>
int main(int argc,char * argv[])
{
  printf("Hello, Android!\n");
  return 0;
}

開発マシンのコマンド コンソール。次のコマンド ラインを実行します。

arm-none-linux-gnueabi-gcc hello.c -static -o hellostatic
adb push hellostatic /data/test
adb shell
cd /data/test
.hellostatic

Hello, Android!

だからここに私の質問があります。

gcc は ac ソース コード ファイルから実行可能ファイルをビルドできますか? リンクツールは必要ないようです。そうですか?ありがとう。

4

2 に答える 2

2

gcc は ac ソース コード ファイルから実行可能ファイルをビルドできますか?

はい、もちろん。

リンクツールはいらないみたい?

いいえ、gcc マニュアルから次の文を抽出します。GCC は、複数のファイルを前処理して、複数のアセンブラー入力ファイルまたは 1 つのアセンブラー入力ファイルにコンパイルすることができます。次に、各アセンブラ入力ファイルがオブジェクト ファイルを生成し、リンクによってすべてのオブジェクト ファイル (新しくコンパイルされたもの、および入力として指定されたもの) が実行可能ファイルに結合されます。

デフォルトでは、次のような特定のオプションを入力しない限り、gcc はコンパイルおよびリンク操作を行います。

gcc -c file.c

これは、file.c を file.o にコンパイルするか、次のようにします。

gcc -o file file.c

これにより、file.c が file.o にコンパイルされ、リンクされて最終的に実行可能ファイルが作成されます。

于 2013-11-14T08:48:15.187 に答える
0

yanchong はすでに良い答えを出していましたが、ここから良い読み物も見つけました。の概念を理解するのに役立つと思いますCompile, Link and Build。ありがとう。

于 2013-11-14T08:53:46.220 に答える