ARM-LINUX學習筆記-1

安裝完linux以後記得系統更新,更新使用apt命令,以下(記得使用以前使用sudo -i 指令切換到root用戶模式)linux

apt-get update  更新系統軟件源,至關於查找更新c++

apt-get upgrade  更新系統所有待更新的軟件ubuntu

apt-get dist-upgrade 更新系統內核ssh

apt-get clean 清除系統中無用的包函數

apt-get autoclean 每次安裝軟件完成以後自動清除無用的包工具

apt-get install packagename 安裝指定名稱的軟件flex

apt-get remove package name 卸載指定名稱的軟件ui

apt-cache search packagename 從軟件元中查找指定軟件編碼

apt-get source packagename 獲取軟件的源代碼rest

apt-get -f install 修復安裝軟件

apt-get reinstall 從新安裝軟件

 

系統安裝完成以後記得安裝三個服務

1.vsftpd

apt-get install vsftpd

安裝完成以後打開配置文件,配置文件在

/etc/vsftpd.conf中,打開兩個註釋(最新版的默認打開了)

local_enable=YES

write_enable=YES

對服務進行控制使用service vsftpd restart...

第一個容許本地用戶登陸 第二個容許上傳

2.安裝ssh服務

apt-get install openssh-server

安裝完成以後配置文件在/etc/ssh/sshd-config,不須要修改

對服務狀態進行修改

service ssh restart

3.安裝nfs服務

apt-get nfs-kernel-server portmap

配置文件

/etc/exports,該文件決定那些目錄共享,能夠添加本身的目錄,以下

/work/nfs_root *(rw,sync,no_root_squash,no_subtree_check)

最後一個若是不添加會有警告

修改服務狀態

service nfs_kernel_server restart

 

而後在主機中添加基本工具鏈,使用

apt-get install build-essential

添加語法詞法分析器

apt-get install bison flex

安裝C函數庫手冊

apt-get install manpage-dev

查看安裝好的gcc與gdb的版本

gcc --version

gdb --version

安裝額外的加強型軟件

apt-get install autoconf automake  //生成工程makefile的工具

apt-get install binutil-doc cpp-doc gcc-doc glibc-doc stl-manual  //其餘程序的用戶手冊

查看手冊使用man 函數名的方法,退出按q

 

解壓獲得gcc-3.4.5-glibc-2.3.6,將解壓後的文件的bin目錄記錄下來,最好不要直接添加到環境變量中,用的時候添加,這樣可讓系統中有多個不一樣版本的交叉工具鏈

系統環境變量的路徑爲

/etc/environment 在該文件中能夠直接添加環境變量

第二種方法是在/etc/profile文件中添加

export PATH=/home/work/gcc-3.4.5-glibc-2.3.6/arm-linux/bin:$PATH,保存以後調用source /etc/profile便可,等號兩邊不能有空格

第三種方法是打開終端,手動輸入以上命令,僅僅對這一次有效,退出命令窗口的時候自動失效

 

編譯linux的時候make menuconfig須要使用ncurses工具包,ubuntu添加該工具的方法是

apt-get install libncurses 通常已經自帶了

apt-get install linncurses-dev 安裝

 

一個c,c++文件通過四部才能變成可執行文件

1.預處理

arm-linux-cpp工具,將宏定義和條件編譯展開,生成的是後綴i結尾的文件

2.編譯

cc1(不是arm-linux-cc1),將高級語言編譯成彙編代碼,生成.s結尾的文件

3.彙編

arm-linux-as 將彙編碼編譯成ELF文件,生成.o文件

4.連接

arm-linux-ld 將多個elf文件連接,生成可執行的文件,生成最終.o文件或者.out文件

可是使用

arm-linux-gcc可以一次性完成上述所有步驟

arm-linux-gcc -o hello hello.c

生成目標文件hello.o,-o參數指定生成目標文件文件名

arm-linux-gcc -v -o hello hello.c

-v能夠在編譯中顯示編譯的細節

 

 

能夠經過各類選項來控制arm-linux-gcc的動做

-c 預處理 編譯 彙編 可是不作連接,默認生成文件名.o的文件,要想指定文件名,記得用-o 文件名,並放在-c前面

-S 編譯以後當即中止,不進行彙編,生成.s文件,要想指定文件名,記得用-o 文件名,並放在-S前面,能夠用於查看彙編代碼

-E 與處理以後中止,生成.i文件,忽略任何不須要預處理的源文件

-v 顯示GCC工具自身的版本號以及編譯時候的詳細過程

-o 指定目標文件名,不然可執行文件默認a.out,其餘默認原文件名.o

舉例說明

gcc -c -o main.o main.c

gcc -c -o sub.o sub.c

gcc -o test sub.o main.o

main.c中調用了sub.c的內容,可是不鏈接是能經過的當.o文件都生成成功以後就能夠一次性生成目標文件了

直接生成某個文件的彙編文件

gcc -S -o name.s name.c

注意S必須是大寫哦

相關文章
相關標籤/搜索