- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.1 LINUX下C语言编程概述 3.3 Gcc编译器 # 2 hello.c 2 int main() { printf(Hello! This is our embedded world!\n); return 0; } 由此可见,Gcc确实进行了预处理,它把“stdio.h”的内容插入到hello.i文件中。 Gcc编译器 Gcc编译器 头文件 头文件是用来提供常量的定义和系统和函数调用的声明,这些头文件通常放在/usr/include和其子目录中。根据不同的Linux版本,头文件可能放在/usr/include/sys和/usr/include/linux. #include stdio.h 库函数 库函数是一些预先编译好的函数的集合,这些函数可以有很好的重用性。通常来讲,它们包含有相关的函数集合来完成一项常用任务。典型的库函数有屏幕处理函数 (curses和ncurses库)和数据库访问函数(dbm库)。 标准系统函数通常存放在/lib和/usr/lib中。C编译器需要被告知搜索哪个库,否则缺省情况下只搜索标准库。 传统静态库 .a Examples are /usr/lib/libc.a and /usr/X11/lib/libX11.a for the standard C library and the X11 library 共享库 .so On a typical Linux system, the shared version of the standard math library is /usr/lib/libm.so 2. make工程管理器 2.1 为什么要使用make? 工作量问题:对于拥有多个(上百个)源文件的软件项目,只需编写一次编译过程,而不需要在每次源文件修改后重复输入众多的文件名和编译命令进行编译; 效率问题:make能够根据文件的时间戳自动发现更新过的源文件,并通过读入Makefile文件来对更新的源文件进行编译而对其它文件只进行链接操作。 * 2. make命令 2.2 Makefile的格式 Makefile是make读入的唯一配置文件,Makefile文件通常包含如下内容: 需要由make创建的目标体(target),通常是目标文件或可执行文件; 要创建的目标体所依赖的文件(dependency_file); 创建每个目标体时需要运行的命令(commmand)。 Makefile格式: target: dependency_file command command之前必须有个“tab” * 4. 链接特殊函数库 /*filename is temp.c */ # include stdio.h int main(int argc,char *argv) { double value; value=log(argc); printf(Value:%f \n,value); } 用命令:gcc –o temp temp.c 编译时出错。修改命令: gcc –o temp temp.c –lm 这里指明编译时与数学库libm.a相链接,则可正确编译。 假设有程序temp.c如下: Unix Programming Unix operating system Unix operating system 第四章 UNIX下的C语言开发环境 6.1 程序设计环境 学习程序设计从程序语言开始,但还应了解程序执行和程序与外界的交互问题。 1.理想态的程序运行环境 用户程序直接控制和使用各种设备,完成各种操作。 针对一个简单程序: main() { int c; while ( ( c=getchar()) != EOF ) putchar(c); } 认为执行过程为: 在单用户单任务环境中基本符合。 2. 多任务环境下程序执行 多任务中每一时刻都会有多个用户程序提出访问请求,因此会有: 如此混乱的情况,程序将无法运行。 为使多道环境中的程序正确执行,需要OS管理。 用户程序需要系统核心区程序的管理,达到各自任务的执行。 6.2 基于系统支持的程序设计 1. 建立系统编程的思想 理解多道环境程序执行状况,转换用户程序是执行主体的认识。 了解OS可提供的服务及服务方式。 充分利用OS提供服务功能解决实际问题。 尽量使编写的程序最大限度的满足系统平台的支持能力。 1. gcc 与 gdb 1.1 UNIX和C语言 C?是一种在?UNIX?操作系统的早期就被广泛使用的通用编程语言,它最早是由贝尔实验室的?Dennis?Ritchie
您可能关注的文档
- Spartan-3E入门实验板幻灯片.pdf
- Spring和ibatis整合配置介绍.docx
- spring配置文件各个属性详解教案.doc
- 第四章 微机控制系统的选择与接口设计.ppt
- SPSS 简介与数据库建立.ppt
- 第四章 系统软件与常用操作系统.ppt
- spss多重响应分析解析.ppt
- IXUS870IS_说明书课件.pdf
- 第四章 现代操作系统的设计及实现.pdf
- SPSS-多重响应-频率及交叉表案例分析(问卷调查分析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
最近下载
- 宏观经济学计算题大全.doc VIP
- 苏教版数学四年级上册第八单元认识射线、直线和角(课件).pptx
- 某市棚户区改造中区市政道路建设工程路面天然砂砾垫层施工方案.doc
- 淀粉制品公司风险分级管控与隐患排查治理双体系双控手册2022-2024.doc
- 福建省 政和县志.pdf
- 知识产权对策、研究成果管理及合作权益分配.pdf VIP
- 人工智能对学习、教学和教育的影响-The Impact of Artificial Intelligence on Learning, Teaching, and Education.docx
- 中越边广西龙邦镇护龙村跨国婚姻问题研究及对策.doc VIP
- 小学道德与法治六年级下册《我们生存的家园》教学设计及反思.doc
- 宏观经济学计算题.docx VIP
文档评论(0)