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更新了(修改)
linux与Windows使用编译区别及makefile文件编写的更多相关文章
- 【转载】LINUX 和 WINDOWS 内核的区别
LINUX 和 WINDOWS 内核的区别 [声明:欢迎转载,转载请注明出自CU ACCESSORY http://linux.chinaunix.net/bbs/thread-1153868-1-1 ...
- 从Docker在Linux和Windows下的区别简单理解Docker的层次结构
上篇文章我们成功在Windows下安装了Docker,输出了一个简单的Hello World程序.本文中我们将利用Docker已有的云端镜像training/webapp来发布一个简单Python的W ...
- Linux Makefile文件编写详细步骤与实践
Linux Makefile文件编写详细步骤与实践 1.makefile概述 Windows环境下IDE会帮你完成makefile文件的编写,但在UNIX环境下你就必须自己写makefile了,会不会 ...
- Linux工具入门:make工具与Makefile文件
1. make工具 利用make工具可以自动完成编译工作,这些工作包括: 如果修改了某几个源文件,则只重新编译这几个源文件 如果某个头文件被修改了,则重新编译所有包含该头文件的源文件 利用这种自动编译 ...
- Linux和Windows的遍历目录下所有文件的方法对比
首先两者读取所有文件的方法都是采用迭代的方式,首先用函数A的返回值判断目录下是否有文件,然后返回值合法则在循环中用函数B直到函数B的返回值不合法为止.最后用函数C释放资源. 1.打开目录 #inclu ...
- 转:SYNOPSYS VCS Makefile文件编写与研究
SYNOPSYS VCS Makefile文件编写与研究 这个Makefile是synopsys提供的模板,看上去非常好用,你只要按部就班提供实际项目的参数就可以了.我们来看这个文件的头部说明:mak ...
- 一个简单的makefile文件编写
下午闲来无聊,就打开很久没动过的linux系统想熟悉熟悉在linux上面编译代码,结果一个makefile文件搞到晚上才搞定,哈哈! 先把代码简单贴上来,就写了一个冒泡排序: sort.h: #ifn ...
- 【OpenWRT】【RT5350】【三】MakeFile文件编写规则和OpenWRT驱动开发步骤
一.Makefile文件编写 http://www.cnblogs.com/majiangjiang/articles/3218002.html 可以看下上面的博客,总结的比较全了,在此不再复述 二. ...
- 深度剖析Linux与Windows系统的区别
当我们每个人接触Linux之前,应该先接触的都是windows吧?但我们一般接触Linux后,习惯linux的管理和使用方法后,我们再回过头再来使用windows的时候,内心其实是拒绝的.我们会觉得图 ...
随机推荐
- 性能测试-12.Web页面性能指标与建议
1.页面加载时间 从页面开始加载到页面onload事件触发的时间.一般来说onload触发代表着直接通过HTML引用的CSS,JS,图片资源已经完全加载完毕. 2.全部页面加载时间 全部页面载入时间指 ...
- 二进制数值Byte [] 转Base64字符串
将二进制数据转换成Base64字符串: String base64String = new String(byteArray).replaceAll("\n","&quo ...
- quartz储存方式之JDBC JobStoreTX
这篇单单记录一下个人配置使用quartz的JDBC JobStoreTX的过程以及其中遇到的问题,这里的quartz是version2.2.1,数据库使用的MySQL. JDBCJobStore储存是 ...
- php字符编码转换之gb2312转为utf8(转)
在php中字符编码转换我们一般会用到iconv与mb_convert_encoding进行操作,但是mb_convert_encoding在转换性能上比iconv要差很多哦.string iconv ...
- TCP三次握手及释放连接详解(转)
一.TCP头部简介 ACK :即确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符.表示发来的数据已确认接收无误.TCP报文格式中的控制位由6个标志比特构成,其中一个就是ACK,ACK为1表 ...
- Python之路,第十七篇:Python入门与基础17
python3 面向对象编程 面向对象编程 什么是对象? 一切皆对象: 面向对象是思想: 描述思想的语言有:C++/Java/Python/Swift/C# 两个概念: 类 class 对象 ob ...
- 九度OJ1450题-产生冠军-MAP的使用
题目1450:产生冠军 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:2839 解决:1161 题目描述: 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛.球赛的规则如 ...
- jQuery 中json字符串与对象互转
json字符串转json对象:jQuery.parseJSON(jsonStr); json对象转json字符串:JSON.stringify(jsonObj);
- [LeetCode&Python] Problem 447. Number of Boomerangs
Given n points in the plane that are all pairwise distinct, a "boomerang" is a tuple of po ...
- Elasticsearch Docker环境下安装
Elasticsearch Docker环境下安装 Daemon镜像配置的是https://registry.docker-cn.com Linux:vi /etc/docker/daemon.jso ...