嵌入式linux系统开发工具.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式linux系统开发工具

Linux上程序编写 Vi/Vim的使用 Vi用于修改操作系统的配置文件,编写脚本,以及编程和修改程序代码,在各种UNIX/Linux都是相应版本,甚至可以在嵌入式开发板运行。 Vim是增强版Vi, 自动支持对 配置文件,C程序,Shell脚本和Makefile脚本的语法高亮。 Vim没有菜单,只能通过命令操作,有三种工作模式: 命令行模式:用于命令快捷键 输入模式:用于文本输入 末行模式:用于辅助操作,如行号、查找、保存、退出等 Linux上程序编写 Vi/Vim的使用 Vi用于修改操作系统的配置文件,编写脚本,以及编程和修改程序代码,在各种UNIX/Linux都是相应版本,甚至可以在嵌入式开发板运行。 Vim是增强版Vi, 自动支持对 配置文件,C程序,Shell脚本和Makefile脚本的语法高亮。 Vim没有菜单,只能通过命令操作,有三种工作模式: 命令模式:用于命令快捷键 插入模式:用于文本输入 末行模式:用于辅助操作,如行号、查找、保存、退出等 Linux上程序编写 Vi/Vim模式切换 Linux上程序编写 Vi/Vim编辑命令 命令行模式下 (n)dd - 剪切n行,n不给则剪切当前行 (n)yy - 拷贝n行,n不给则拷贝当前行 p - 粘贴 u - 撤销当前操作,退回到上一次输入状态 /+字符串+回车 - 查找指定字符串 gg=G -对文件排版 插入模式下 ctrl+n - 自动补全 Linux上程序编写 Vi/Vim编辑命令 末行模式下 w+回车 - 保存当前输入; wq+回车-保存并退出; q!+回车 - 不保存退出 行号+回车 - 定位到指定行 %s/被替换字符串/替换字符串/g+回车 -执行全局替换 e+文件路径名 -打开指定文件 sp - 拆分窗 ctrl+w-切换窗口 Linux上程序编写 Vi/Vim配置 支持自主配置,支持插件 全局配置文件/etc/.vimrc 根用户配置文件/root/.vimrc; 插件目录/root/.vim 课程安排 Linux常用命令 Linux上编写C程序 Linux上程序编译 Linux上程序调试 嵌入式Linux交叉开发过程 Linux上程序编译 Gcc简介 GNU CC(简称为gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序 gcc功能强大,而且可以编译如C、C++、Object C、Java、Fortran、Pascal、Modula-3和Ada等多种语言。 gcc又是一个交叉平台编译器,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,因此尤其适合在嵌入式领域的开发编译 Linux上程序编译 Gcc编译过程 Linux上程序编译 Gcc支持的文件惯用后续名 Linux上程序编译 预处理阶段 在该阶段,对包含的头文件(#include)和宏定义(#define、#ifdef等)进行处理 。 使用gcc的选项“-E” 让gcc在预处理结束后停止编译过程: gcc –E hello.c –o hello.i 编译阶段 gcc首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作 在检查无误后,gcc把代码翻译成汇编语言 使用“-S”选项来进行查看,该选项只进行编译而不进行汇编,生成汇编代码: gcc –S hello.i –o hello.s Linux上程序编译 汇编阶段 把编译生成的“.s”文件(汇编码)转换成目标文件(机器码) 使用gcc的选项“-c” 只汇编,不链接: gcc –c hello.s –o hello.o 链接阶段 这里涉及到一个重要概念:库函数 例如“printf”函数:在预处理中包含进”stdio.h”中只有函数声明,没有定义函数实现 系统把这些函数的实现都放到名为libc.so.6的库文件中去 Gcc会到系统默认的库搜索路径”/usr/lib”下查找,链接到libc.so.6函数库,从而调用”printf” 函数库有静态库(“*.a”)和动态库(“*.so”),默认使用动态库 链接动态库:gcc hello.o –o hello 链接静态库: gcc –static hello.o –o hello Linux上程序编译 Gcc常用选项 Linux上程序编译 Gcc告警选项 Linux上程序编译 Gcc优化选项

文档评论(0)

gz2018gz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档