13

gcc でコンパイルする私の c コードはエラーを出していますCannot find entry symbol _start defaulting to 00000。誰かが理由とそれを修正する方法を教えてもらえますか?

コマンド ラインはarm-none-eabi-gcc -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp file path、ターゲット プラットフォームは、-8 シタラ Cortex プロセッサです。

4

2 に答える 2

8

コンパイラが上記のエラーをスローした唯一の理由は、コードを実行するために OS によって生成された開始コード (_start 関数) がデフォルトまたは登録済みの関数 main を見つけられないためです。したがって、main 関数の代わりに _start 関数を使用できますが、コンパイル コマンドは gcc -nostartfiles filename.c である必要がありますが、_start を使用すると多くの例外が発生するため、代わりに main を使用することをお勧めします。

于 2015-05-13T12:59:23.437 に答える
7

-none- の部分は、ツールチェーンが特定のオペレーティング システム用にビルドされないことを意味するため、_start エントリ ポイントを定義する必要があります。特定のオペレーティング システム用にビルドされる非ベアメタル ツールチェーンの場合、_start は標準ライブラリによって提供され、すべてがセットアップされると main が呼び出されます。

于 2012-07-21T19:01:50.247 に答える