zoukankan      html  css  js  c++  java
  • linux与Windows使用编译区别及makefile文件编写

    一、Windows与;Linux嵌入式开发区别

    Windows下编辑、编译、执行  

      编辑: sourceInsight;ADS;

      编译:指定链接地址,指定链接顺序,编译

      执行:烧写到单板再启动

    Linux下编辑、编译、执行

      编辑可在Windows下编写上传

      编译:链接脚本(lds),用命令行链接时,文件顺序(makefile)gcc -o ;由makefile执行可以得到结果

      执行make

    gcc、ld、objcopy、objdump等,编译出来的在x86上运行

    arm-linux-gcc,arm-linux-ld,arm-linux-objcopy,arm-linux-objdump在ARM上运行

    arm-linux-objcopy被用来复制一个目标文件的内容到另一个文件中,可以使用不同源文件的格式来输出目的文件,即可以进行格式转换,常用来将ELF格式的可执行文件转换为二进制文件。

    arm-linux-objdump用于先生二进制信息,本书用来查看反汇编代码

      -c 预处理、编译和汇编,但不连接,生产obj文件

      -S编译胡即停止,不进行汇编

      -E预处理后即停止,不进行编译

      -o file指定输出文件为file,无论是预处理、编译、汇编还是连接,这个文件都可以使用。默认输出为a.o

      -v显示制作GCC工作自身时的配置命令,同时显示编译器驱动程序、预处理器、编译器的版本号

      -Wall基本打开了所有需要注意的警告信息

    二、makefile介绍

      (规则,依赖)

      目标:依赖1 依赖2     hello :hello.c a.c

      TAB 命令                   gcc -o hello hello.c a.c

    makefile 命令能被执行的条件:

    1目标不存在           hello :hello.c a.c

    2依赖已更新             gcc -o hello hello.c a.c

          没有hello这个文件

          hello.c或者a.c更新了(修改)

      

  • 相关阅读:
    2021,6,10 xjzx 模拟考试
    平衡树(二)——Treap
    AtCoder Beginner Contest 204 A-E简要题解
    POJ 2311 Cutting Game 题解
    Codeforces 990G GCD Counting 题解
    NOI2021 SDPTT D2T1 我已经完全理解了 DFS 序线段树 题解
    第三届山东省青少年创意编程与智能设计大赛总结
    Luogu P6042 「ACOI2020」学园祭 题解
    联合省选2021 游记
    Codeforces 1498E Two Houses 题解 —— 如何用结论吊打标算
  • 原文地址:https://www.cnblogs.com/xubeiping0930/p/4567719.html
Copyright © 2011-2022 走看看