第7章Linux编程简介

ARM 应用系统设计第7章 Linux编程简介 佘黎煌 东北大学信息科学与工程学院 电子信息工程研究所 嵌入式Linux概况 现在 Linux 广泛用于各类计算应用,不仅包括 IBM 的微型 Linux 腕表、手持设备(PDA 和蜂窝电话)、因特网装置、瘦客户机、防火墙、工业机器人和电话基础设施设备,甚至还包括了基于集群的超级计算机。 嵌入式Linux概况 Linux操作系统开放源代码,可以裁剪内核,并已在x86、Alpha、Sparc、MIPS、PPC、Motorola、NEC和ARM等硬件平台上稳定、高效地运行。 Linux操作系统作为一种多任务、稳定可靠、内核可裁剪的系统,是开发嵌入式软硬件产品的优秀软件平台。 嵌入式Linux是一种开放源码、软实时、多任务的嵌入式操作系统。 Linux入门需要掌握的内容 Linux 环境的使用 会使用VI编辑器 掌握一些基本的命令 Linux编程需要掌握的内容 GNU GCC编译工具 进程 文件操作 信号处理 消息管理 线程操作 网络编程 Linux 操作系统界面 在Linux系统中打开终端的方式有以下两种: 种是在桌面上依次单击“主程序→系统工具→终端”可打开如图2-1的终端窗口;另一种是在Linux桌面上单击鼠标右键,从弹出的快捷菜单中选择“终端”命令,也可打开终端窗口。 Linux入门需要掌握的内容 GNU GCC编译工具 进程 文件操作 信号处理 消息管理 线程操作 网络编程 Linux 下C代码的编译 开发工具GNU 的介绍 GNU 软件包括C 编译器GCC,C++编译器G++,汇编器AS,链接器LD,二进制转换工具(OBJCOPY,OBJDUMP),调试工具(GDB,GDBSERVER,KGDB)和基于不同硬件平台的开发库。 在GNU GCC 支持下用户可以使用流行的C/C++语言开发应用程序,满足生成高效率运行代码的需求 Linux 下C代码的编译 /******************************************* * File Name: hello.c * Description:introduce how to compile a source file with gcc ******************************************** #include void main() { printf("Hello world\n"); } $ gcc -o hello hello.c Linux 下C代码的编译 GCC 是一个多目标的工具。GCC 最基本的用法是: gcc [options] file... , 其中的option 是以“-”开始的各种选项,file 是相关的文件名。在使用GCC 的时候,必须要给 出必要的选项和文件名。GCC 的整个编译过程,实质上是分4 步进行的,每一步完成一个特定的工作,这4 步分别是:预处理、编译、汇编和链接。它具体完成哪一步,是由GCC 后面的开关选项和文件类型决定的。 Linux 下C代码的编译 GCC 编译器有许多选项,但对于普通用户来说只要知道其中常用的几个就够了。在这里列出几个最常用的选项。 -o 选项表示要求编译器生成指定文件名的可执行文件。 -c 选项表示只要求编译器进行编译,而不要进行链接,生成以源文件的文件名命名但把其后缀由.c 或.cc 变成.o 的目标文件。 -g 选项要求编译器在编译的时候提供以后对程序进行调试的信息。 -E 选项表示编译器对源文件只进行预处理就停止,而不做编译、汇编和链接。 -S 选项表示编译器只进行编译,而不做汇编和链接。 -O 选项是编译器对程序提供的编译优化选项,在编译的时候使用该选项,可以使生成的执行文件的执行效率提高。 -Wall 选项指定产生全部的警告信息。 gcc -Wall -O -g -c main.c -o main.o Linux 下C代码的编译 GNU Make 是负责从项目的源代码中生成最终可执行文件和其他非源代码文件的工具。 $ make -f makefilename makefile 的例子。 executable : main.o io.o gcc main.o io.o -o executable main.o : main.c gcc -Wall -O -g -c main.c -o main.o io.o : io.c gcc -Wall -O -g -c io.c -o io.o 第一行称之为规则,第二行是执行规则的命令,必须要以tab 键开始 Linux 下C代码的编译

linux编程是否含7,第7章Linux编程简介.ppt相关推荐

  1. linux 【完结篇】第六章 shell编程及自动化运维--三剑客

    linux 第六章 shell编程及自动化运维–三剑客 一.正则表达式 1.前言 名词解释: 正则表达式是一种字符模式,用于在查找过程中匹配指定的字符.在大多数程序里,正则表达式都被置于2个正斜杠之间 ...

  2. 《从问题到程序:用Python学编程和计算》——第3章 基本编程技术 3.1 循环程序设计...

    本节书摘来自华章计算机<从问题到程序:用Python学编程和计算>一书中的第3章,第3.1节,作者 裘宗燕,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 第3 ...

  3. linux i2c adapter 增加设备_「正点原子Linux连载」第六十二章Linux SPI驱动实验(一)...

    1)实验平台:正点原子Linux开发板 2)摘自<正点原子I.MX6U嵌入式Linux驱动开发指南>关注官方微信号公众号,获取更多资料:正点原子 第六十二章Linux SPI驱动实验 上一 ...

  4. 【正点原子Linux连载】第三十五章 Linux内核顶层Makefile详解 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  5. 【正点原子Linux连载】第六十二章 Linux SPI驱动实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  6. 【正点原子Linux连载】第六十四章 Linux 多点电容触摸屏实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  7. Linux编程基础案例:第4章Shell编程

    案例4-1:已知/etc/passwd文件中的各项以:分隔,若使用awk命令处理/etc/passwd文件,提取其中的第1项和第3项,并使用空格分隔提取结果,则可以使用如下命令. awk -F: '{ ...

  8. Linux编程基础案例:第6章Linux进程管理

    案例6-1:使用fork()函数创建一个进程,进程创建成功后使父进程与子进程分别执行不同的功能. test_fork.c #include <stdio.h> #include <s ...

  9. 嵌入式linux系统蜂鸣器实验,「正点原子Linux连载」第四十六章Linux蜂鸣器实验

    1)实验平台:正点原子Linux开发板 2)摘自<正点原子I.MX6U嵌入式Linux驱动开发指南> 关注官方微信号公众号,获取更多资料:正点原子 大家将imx35_gpio_hwdata ...

最新文章

  1. Linux进程与线程的区别 详细总结(面试经验总结)
  2. 人类史上首张黑洞照片发布!
  3. 反应堆Reactor
  4. Bootstrap 3 与 Foundation 5 的区别
  5. @NotBlank注解地正确使用
  6. Amazon AWS创建Elastic Beanstalk,部署Tomcat,配置MySQL,发布Spring Boot应用
  7. Python基础教程,Python入门教程(非常详细)
  8. 电工模拟接线软件 app_老电工教你家装线路接线
  9. Python题库编程记录
  10. CVPR 2021最全论文开放下载!附pdf下载链接!
  11. 基于微信朋友圈实现时间显示样式
  12. swiper / 移动端触摸滑动插件 / 手机轮播插件
  13. java解析XML——Pull解析
  14. 【HUE】问题汇总(持续更新)
  15. Android自带模拟器的安装
  16. [深入研究4G/5G/6G专题-10]: 物理层-开机功能验证第一步:通过测试终端验证、调试基站的小区初始功能
  17. Eclipse安装WindowBuilder
  18. 电脑上设置wifi热点的代码
  19. 博客园设置好看的主题!站在巨人的肩膀上眺望远方!!
  20. “云游戏”让毒贩都眼馋的暴利行业

热门文章

  1. ftp文件夹错误无法访问此文件夹_你不能访问此共享文件夹,因为你组织的安全策略组织未经身份验证的来宾访问。...
  2. 清除Trojan-Dropper.Win32.Dropkit.a病毒
  3. H264码流RTP封装方式详解
  4. 干事业不是先有钱,而是先有胆
  5. 在Linux中使用Graphics、drawString在图片上写文字时,中文问题
  6. 词向量 其实就是 语义映射矩阵
  7. java stream 排序
  8. Moonraker:1靶机入侵
  9. 单列集合系列之List集合的初了解
  10. Newbit开发板(BBC micro:bit中国版)正式发布