編譯程式

From Jollen's Wiki

Jump to: navigation, search

請直接在src/hello/目錄下執行make即可:

# make

[ -- Start to compile hello.c to hello.o -- ] /opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu-gcc -nostdinc -I/opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/include -I/opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/lib/gcc/arm-9tdmi-linux-gnu/3.4.1/include -c hello.c

[ -- Start to link hello.o to hello.gdb -- ] /opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu-gcc -Wl,-nostdlib -Wl,-L,/opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/lib -Wl,-L,/opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/lib/gcc/arm-9tdmi-linux-gnu/3.4.1 -Wl,-rpath,/opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/lib -Wl,-rpath,/lib -Wl,-rpath-link,/opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/lib -nostartfiles -nodefaultlibs /opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/lib/crt1.o /opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/lib/crti.o /opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/lib/gcc/arm-9tdmi-linux-gnu/3.4.1/crtbegin.o hello.o /opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/lib/gcc/arm-9tdmi-linux-gnu/3.4.1/crtend.o /opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/arm-9tdmi-linux-gnu/lib/crtn.o -lgcc -lgcc_eh -lc -lgcc -lgcc_eh -o hello.gdb

[ -- Start to strip hello.gdb and produce hello -- ] /opt/crosstool/gcc-3.4.1-glibc-2.3.3/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu-strip -R .note -R .comment hello.gdb -o hello

編譯後產生檔案如下:

  • hello:ELF格式的二進位執行檔,包含relocation資訊。
  • hello.gdb:編譯所產生的原始執行檔,含除錯資訊(debug sections)與符號表(symbol table)。
  • hello.o:hello.c的object file。

其中hello檔案才是我們所想要的執行檔,將hello下載到實驗板中即可執行。hello是由hello.gdb經’arm-9tdmi-linux-gnu-strip’處理後所得到的執行檔。

Views
個人工具
導航
工具