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必须是大写哦

相关文章
相关标签/搜索