linux与Windows使用编译区别及makefile文件编写

摘要:
arm-linux-objdump用于先生二进制信息,本书用来查看反汇编代码-c预处理、编译和汇编,但不连接,生产obj文件-S编译胡即停止,不进行汇编-E预处理后即停止,不进行编译-ofile指定输出文件为file,无论是预处理、编译、汇编还是连接,这个文件都可以使用。

一、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更新了(修改)

免责声明:文章转载自《linux与Windows使用编译区别及makefile文件编写》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CUDA 7 流并发性优化Spring Cloud Commons教程(二)Spring RestTemplate作为负载平衡器客户端下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux环境安装jdk12-rpm

  此博客只是本人的个人学习记录,若有什么误导观看者,请不要怪我。。。 1.环境准备:   Linux环境:Centos7   jdk版本:JavaSE12      下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html     ...

一步一步带你安装史上最难安装的 vim 插件

YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim.参考:https://github.com/Valloric/YouCompleteMe#full-installation-guide本篇文章默认读者知道什么是 unix/linux,vim/...

Linux| |对于UDP的学习

# 前序 UDP(用户数据报协议)没有连接的,是面向数据报的,是不可靠 # 套接字就是IP地址+端口号 IP地址:4字节 端口号:2字节,也就是说范围是0~65536 端口号分为 知名端口号 0--1023:http,ssh,ftp,telnet等一些协议端口号都是固定的,对于操作系统来说是不能对其进行分配的 一些固定的端口号 ssh服务器,使用22端口...

JVM常用调优参数以及linux服务器启动项目命令jvm参数调优案例

我们知道:jvm的内存存储以及内存分配,主要集中在方法区、堆。针对这两块,给出的调优参数如下:   一:调优参数初始化堆大小(有的叫jvm内存): -Xms256M //256M指的是具体大小,初始化堆大小=最大堆大小,可以在一定程度上在GC后重新分配内存 最大堆大小(有的叫jvm内存): -Xmx256M //初始化堆大小=最大堆大小,可以在一定...

Linux设置默认的声卡

首先查看自己电脑上的声卡 使用命令行查看 orangepi@orangepi3:~$ ll /proc/asound/ total 0 dr-xr-xr-x 4 root root 0 Dec 23 02:58 ./ dr-xr-xr-x 178 root root 0 Jan 1 1970 ../ dr-xr-xr-x 4 root root...

Ubuntu 针对 SSD 的优化方案

. . . . . 首先看下 LZ 的分区情况: >$ sudo fdisk -l Disk /dev/sda: 120.0 GB, 120034123776 bytes 255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors Units = sectors...