《Linux C编程从入门到精通》一第2章 在Linux中编写C语言代码2.1 Linux中C语言程序开发流程和工具介绍

简介:

本节书摘来自异步社区《Linux C编程从入门到精通》一书中的第2章,第2.1节,作者 宋磊 , 程钢,更多章节内容可以访问云栖社区“异步社区”公众号查看

第2章 在Linux中编写C语言代码

Linux C编程从入门到精通
Linux作为一个操作系统,一项重要的功能就是要支持用户编程。传统的UNIX下的程序开发语言是C语言,C语言是一种平台适应性强、易于移植的语言。Linux是用C语言写成的。反过来,Linux又为C语言提供了很好的支持,C语言编译工具gcc、调试工具gdb属于最早开发出来的一批自由软件。因此Linux与C语言形成了完美的结合,为用户提供了一个强大的编程环境,本章将介绍在Linux中编写C语言程序的流程和具体方法。

2.1 Linux中C语言程序开发流程和工具介绍

Linux C编程从入门到精通

2.1.1 C语言程序开发流程

在Linux中开发一个C语言应用程序的流程如图2.1所示,其中每个环节的详细说明如下。
image

图2.1 Linux中的C语言程序开发流程

需求分析,算法设计。先根据应用代码要实现的功能进行需求分析,并且根据需求设计出相应的算法。
程序代码编辑。在文本编辑器中输入C程序源代码并保存。
编译。把源程序编译成目标程序,并且检查其中的语法错误,如果其中有语法错误,则需要返回修改程序代码,然后再次编译。
功能逻辑调试。语法没有错误并不代表程序代码就没有错误,此时的代码并不一定能实现预先设定的功能,必须进行相应的功能逻辑测试,以确定达到了预定的目标,此时可能会借助一些调试工具或者调试手段。如果没能达到预期的目标则需要返回程序代码编辑阶段修改代码。
链接并生成可执行文件。在确定代码编写已经没有问题之后,需要通过链接生成对应的可执行文件。

2.1.2 C语言的开发工具

Linux为软件开发者提供了强大的C语言开发环境和丰富的开发维护工具,熟悉并掌握这些工具是进行Linux平台软件开发的必要条件。

编辑工具。Linux系统提供了许多文本编辑程序,比较常用的有vim和emacs等。此外,本书所介绍的Ubuntu等发行版,还自带了gedit等编辑器,它们都可以用来编辑C语言源程序。
编译工具。Linux带有功能强大的符合ANSI C标准的编译系统gcc,利用gcc可以编译C/C++语言源程序。
调试工具。利用Linux带的调试工具gdb,可以调试C语言程序。
维护工具。make程序可以对程序源文件进行有效的管理。
集成开发环境(IDE)。如果读者在Windows系统中做过开发,则一定不会对IDE感到陌生。在Linux下也有许多IDE可以用来开发C程序,如CodeBlocks、CodeLite、Anjuta、Eclipse等。其中CodeBlocks、CodeLite与Windows系统中的Visual Studio界面非常类似,比较容易上手。
Linux还提供了其他一些可以用于辅助设计和调试的工具,读者可以仔细研究。

相关文章
|
20天前
|
存储 编译器 C语言
【数据结构】C语言实现链队列(附完整运行代码)
【数据结构】C语言实现链队列(附完整运行代码)
33 0
|
20天前
|
存储 算法 程序员
【数据结构】C语言实现顺序表万字详解(附完整运行代码)
【数据结构】C语言实现顺序表万字详解(附完整运行代码)
36 0
|
24天前
|
算法 Linux C++
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
29 0
|
24天前
|
算法 Linux C++
【Linux系统编程】深入解析Linux中read函数的错误场景
【Linux系统编程】深入解析Linux中read函数的错误场景
196 0
|
24天前
|
Linux API C语言
【Linux系统编程】深入理解Linux 组ID和附属组ID的查询与设置
【Linux系统编程】深入理解Linux 组ID和附属组ID的查询与设置
30 0
【Linux系统编程】深入理解Linux 组ID和附属组ID的查询与设置
|
24天前
|
Linux 编译器 程序员
【Linux 调试秘籍】深入探索 C++:运行时获取堆栈信息和源代码行数的终极指南
【Linux 调试秘籍】深入探索 C++:运行时获取堆栈信息和源代码行数的终极指南
65 0
|
24天前
|
存储 算法 Linux
【Linux系统编程】深入理解Linux目录扫描函数:scandir目录函数(按条件扫描目录
【Linux系统编程】深入理解Linux目录扫描函数:scandir目录函数(按条件扫描目录
37 0
|
24天前
|
存储 算法 Linux
【Linux系统编程】Linux 文件系统探究:深入理解 struct dirent、DIR 和 struct stat结构
【Linux系统编程】Linux 文件系统探究:深入理解 struct dirent、DIR 和 struct stat结构
36 0
|
17天前
|
传感器 Linux API
嵌入式Linux串口编程简介
嵌入式Linux串口编程简介
15 1
|
17天前
|
小程序 Linux API
Linux用C语言模拟‘ls‘命令
Linux用C语言模拟‘ls‘命令
11 1