第五讲 UNIX下的C语言开发环境.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档