• ARM-LINUX学习笔记-1


    安装完linux之后记得系统更新,更新使用apt命令,如下(记得使用之前使用sudo -i 指令切换到root用户模式)

    apt-get update  更新系统软件源,相当于查找更新

    apt-get upgrade  更新系统全部待更新的软件

    apt-get dist-upgrade 更新系统内核

    apt-get clean 清除系统中无用的包

    apt-get autoclean 每次安装软件完成之后自动清除无用的包

    apt-get install packagename 安装指定名称的软件

    apt-get remove package name 卸载指定名称的软件

    apt-cache search packagename 从软件元中查找指定软件

    apt-get source packagename 获取软件的源代码

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

  • 相关阅读:
    MQTT 连接服务端失败,报错客户机未连接(32104)
    引入其他类定义的静态变量
    Linux 中文乱码问题
    MQTT 简介
    mybatis xml 特殊字符转义
    如何科学的高效率的选择创建线程数
    【安卓自定义控件系列】自绘控件打造界面超炫功能超强的圆形进度条
    Eclipse简介和使用技巧快捷方式
    MyEclipse如何全局搜索
    JAVA面向对象-----访问修饰符
  • 原文地址:https://www.cnblogs.com/dengxiaojun/p/4480778.html
Copyright © 2020-2023  润新知