- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux下的C编程基础概要1
3.6.1 Makefile基本概念 Makefile 文件相当于程序编译过程中的批处理文件。是工具程序make 运行时的输入数据文件。只要在含有Makefile 的当前目录中键入make 命令,它就会依据Makefile 文件中的设置对源程序或目标代码文件进行编译、连接或进行安装等活动。 1.Makefile变量 Makefile变量名是不包括“:”、“#”、“=”前置空白和尾空白的任何字符串。同时,变量名中包含字母、数字以及下划线以外的情况应尽量避免,因为它们可能在将来被赋予特别的含义。变量名是大小写敏感的。 Makefle中的变量使用均使用格式为:$(VAR)。 Makefile变量分为用户自定义变量、预定义变量、自动变量及环境变量。 2.Makefile基本结构 Makefile是Make读入的唯一配置文件,在一个Makefile中通常包含如下内容: (1)需要由make工具创建的目标体(target),通常是目标文件或可执行文件; (2)要创建的目标体所依赖的文件(dependency_file); (3)创建每个目标体时需要运行的命令(command)。 3.Makefile规则 一般的,Makefile中的一条语句就是一个规则。make还定义了隐式规则和模式规则 。 (1)隐式规则 隐含规则能够告诉make怎样使用传统的技术完成任务,这样,当用户使用它们时就不必详细指定编译的具体细节,而只需把目标文件列出即可。 (2)模式规则 模式规则是用来定义相同处理规则的多个文件的。模式规则能引入用户自定义变量,为多个文件建立相同的规则,从而简化Makefile的编写。 3.6.2 Make管理器的使用 使用make管理器非常简单,在make命令后键入目标名即可建立指定的目标:make target。 通过命令行选项中的target ,可指定make要编译的目标,并且允许同时定义编译多个目标,操作时按照从左向右的顺序依次编译target选项中指定的目标文件。 3.7 使用autotools autotools的使用流程 (1)手工编写Makefile.am这个文件。 (2)在源代码目录树的最高层运行autoscan,然后手动修改configure.scan文件,并改名为configure.ac或configure.in。 (3)运行aclocal,它会根据configure.ac的内容生成aclocal.m4文件。 (4)运行autoconf,它根据configure.ac和aclocal.m4的内容生成configure这个配置脚本文件。 (5)运行automake --add-missing,它根据Makefile.am的内容生成Makefile.in。 (6)运行configure,它会根据Makefile.in的内容生成Makefile这个文件。 实验内容 在Linux环境下编写计算1+2+…+N之和的C语言程序。然后,用gcc编译后运行。要求写出步骤和执行结果,并附程序清单。 在Linux环境下编程实现实验7中两个链表中的任一个。要求先将链表初始化,然后按链接顺序依次打印各个PCB的值。要求写出步骤和执行结果,并附程序清单。 陈英 梁建武主编 中国水利水电出版社 Linux基础及应用 第3章 Linux下的C编程基础 3.1 Linux下C语言编程概述 3.1.1 C语言简单回顾 C语言的特点 : (1)简洁紧凑、灵活方便 (2)运算符丰富 (3)数据结构丰富 (4)C是结构式语言 (5)C语法限制不太严格,程序设计自由度大 (6)C语言允许直接访问物理地址,可以直接对硬件进行操作 (7)C语言程序生成代码质量高,程序执行效率高 (8)C语言适用范围大,可移植性好 3.1.2 Linux下C语言编程环境概述 (1)编辑器 Linux下的编辑器就如Windows下的word、记事本等一样,完成对所录入文字的编辑功能。Linux中最常用的编辑器有Vi(Vim)和Emacs,它们功能强大,使用方便,广受编程爱好者的喜爱。 (2)编译器 编译是指源代码转化生成可执行代码的过程。可见,在编译过程是非常复杂的,它包括词法、语法和语义的分析、中间代码的生成和优化、符号表的管理和出错处理等。在Linux中,最常用的编译器是Gcc编译器。 (3)调试器 Gdb是绝大多数Linux开发人员所使用的调试器,它可以方便地设置断点、单步跟踪等,足以满足开发人员的需要。 (4)项目管理器 Linux中的项目管理器“Make”有些类似于Wi
文档评论(0)