linux c程序基础与...,Linux下的C编程基础 pdf.pdf

Linux下的C编程基础 pdf

“黑色经典”系列之《嵌入式Linux 应用程序开发详解》

3 章 Linux 下的C 编程基础

本章目标

在熟悉了Linux 常见命令,能够在Linux 中熟练操作之后,本章将带领读者学习在Linux

中进行C 语言编程的基本技能。学习了本章后,读者能够掌握如下内容。

熟悉Linux 系统下的开发环境

熟悉Vi 的基本操作

熟练Emacs 的基本操作

熟悉Gcc 编译器的基本原理

熟练使用Gcc 编译器的常用选项

熟练使用Gdb 调试技术

熟悉Makefile 基本原理及语法规范

熟练使用autoconf 和automake 来生成Makefile

Linux公社(LinuxIDC.com) 是包括Ubuntu,Fedora,SUSE技术,最新IT资讯等Linux专业类网站。

3.1 Linux 下C 语言编程概述

3.1.1 C 语言简单回顾

C 语言最早是由贝尔实验室的Dennis Ritchie 为了UNIX 的辅助开发而编写的,它是在B

语言的基础上开发出来的。尽管C语言不是专门针对UNIX 操作系统或机器编写的,但它与

UNIX 系统的关系十分紧密。由于它的硬件无关性和可移植性,使C 语言逐渐成为世界上使

用最广泛计算机语言。

为了进一步规范C 语言的硬件无关性,1987 年,美国国家标准协会(ANSI)根据C 语

言问世以来各种版本对C 语言的发展和扩充,制定了新的标准,称为ANSI C 。ANSI C 语言

比原来的标准C 语言有了很大的发展。目前流行的C 语言编译系统都是以它为基础的。

C 语言的成功并不是偶然的,它强大的功能和它的可移植性让它能在各种硬件平台上游

刃自如。总体而言,C 语言有如下特点。

C 语言是 “中级语言”。它把高级语言的基本结构和语句与低级语言的实用性结合起

来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工

作单元。

C 语言是结构化的语言。C 语言采用代码及数据分隔,使程序的各个部分除了必要的

信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语

言是以函数形式提供给用户的,这些函数可方便地调用,并具有多种循环、条件语句控制程

序流向,从而使程序完全结构化。

C 语言功能齐全。C 语言具有各种各样的数据类型,并引入了指针概念,可使程序效

率更高。另外,C 语言也具有强大的图形功能,支持多种显示器和驱动器,而且计算功能、

逻辑判断功能也比较强大,可以实现决策目的。

C 语言可移植性强。C 语言适合多种操作系统,如DOS、Windows 、Linux ,也适合

多种体系结构,因此尤其适合在嵌入式领域的开发。

3.1.2 Linux 下C 语言编程环境概述

Linux 下的C 语言程序设计与在其他环境中的C 程序设计一样,主要涉及到编辑器、编

译链接器、调试器及项目管理工具。现在我们先对这4 种工具进行简 介绍,后面会

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
宋宝华嵌入式 C/C++语言精华文章集锦 C/C+语言 struct 深层探索 ............................................................................2 C++中 extern "C"含义深层探索........................................................................7 C 语言高效编程的几招...............................................................................11 想成为嵌入式程序员应知道的 0x10 个基本问题 .........................................................15 C 语言嵌入式系统编程修炼...........................................................................22 C 语言嵌入式系统编程修炼之一:背景篇 ............................................................22 C 语言嵌入式系统编程修炼之二:软件架构篇 ........................................................24 C 语言嵌入式系统编程修炼之三:内存操作 ..........................................................30 C 语言嵌入式系统编程修炼之四:屏幕操作 ..........................................................36 C 语言嵌入式系统编程修炼之五:键盘操作 ..........................................................43 C 语言嵌入式系统编程修炼之六:性能优化 ..........................................................46 C/C++语言 void 及 void 指针深层探索 .................................................................50 C/C++语言可变参数表深层探索 .......................................................................54 C/C++数组名与指针区别深层探索 .....................................................................60 C/C++程序员应聘常见面试题深入剖析(1) ..............................................................62 C/C++程序员应聘常见面试题深入剖析(2) ..............................................................67 一道著名外企面试题的抽丝剥茧 ......................................................................74 C/C++结构体的一个高级特性――指定成员的位数 .......................................................78 C/C++中的近指令、远指针和巨指针 ...................................................................80 从两道经典试题谈 C/C++中联合体(union)的使用 ......................................................81 基于 ARM 的嵌入式 Linux 移植真实体验 ................................................................83 基于 ARM 的嵌入式 Linux 移植真实体验(1)――基本概念 ...........................................83 基于 ARM 的嵌入式 Linux 移植真实体验(2)――BootLoader .........................................96 基于 ARM 的嵌入式 Linux 移植真实体验(3)――操作系统 ..........................................111 基于 ARM 的嵌入式 Linux 移植真实体验(4)――设备驱动 ..........................................120 基于 ARM 的嵌入式 Linux 移植真实体验(5)――应用实例 ..........................................135 深入浅出 Linux 设备驱动编程 .......................................................................144 1.Linux 内核模块..............................................................................144 2.字符设备驱动程序 ...........................................................................146 3.设备驱动中的并发控制 .......................................................................151 4.设备的阻塞与非阻塞操作 .....................................................................157

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值