想找一个小型的linux发行版 需要有完整的shell命令,python,gcc等编程环境

Linux C程序设计大全 txt免费下载_读后感_在线阅读_读书人图书资料库
Linux C程序设计大全
基本信息?出版社:清华大学出版社 ?页码:872 页 ?出版日期:2009年02月 ?ISBN:/4 ?条形码:4 ?版本:第1版 ? ...
Linux C程序设计大全
Linux C程序设计大全
基本信息?出版社:清华大学出版社 ?页码:872 页 ?出版日期:2009年02月 ?ISBN:/4 ?条形码:4 ?版本:第1版 ?装帧:平装 ?开本:16 ?正文语种:中文 ?丛书名:原创经典,程序员典藏 内容简介 《Linux C程序设计大全》讲述Linux是一个开放源代码的操作系统,其稳定性与低廉的价格使其在服务器、嵌入式领域以及桌面应用中逐渐占有越来越大的市场份额。因此,对Linux环境下的程序开发人员的需求也就越来越大了。C语言是Linux操作系统中的核心语言,掌握Linux环境下的C语言开发是至关重要的。《Linux C程序设计大全》共分为6篇,循序渐进地讲述了Linux环境下的C语言编程技术,从基本概念到具体实践、从系统函数接口的认识到具体操作都进行了详细的阐述,并对具体知识点进行了详细的实例讲解。《Linux C程序设计大全》的特点是详细介绍了Linux的系统接口函数、Linux的编程环境以及C语言程序开发的辅助技术。《Linux C程序设计大全》通过大量实例,详细描述了Linux系统提供的系统函数接口,以及代码编写技巧,以方便读者实践。《Linux C程序设计大全》适合想全面学习Linux环境下C语言编程的读者,并可作为开发人员的参考手册。 作者简介 吴岳,毕业于北京航空航天大学,获硕士学位,具有多年的LiNUX环境开发经验,精通Linux系统函数接口、Linux内核、POSIX TCP/IP协议,对Linux内核以及基于Linux的分布式系统有深入研究,目前致力于基于Linux的分布式系统的优化和并行算法的研究十分喜爱开源项目,业余时间从事开源项目的普及和推广工作,曾经参与IBM公司的手写笔项目、北京顺潮电子有限公司的GPS车载终端项目等。 编辑推荐 《Linux C程序设计大全》全面讲解Excel VBA精髓及应用的宝典秘籍彻底理清Excel VBA的各种概念、开发技术及开发思想大部分内容适用于Excel 2000/XP/等多个版本从零开始讲解,每个知识点都配典型实例讲解,可轻松上手全面覆盖VBA基础、Excel对象模型、用户界面设计等内容详细介绍如何使用外部数据,如用ADO访问、处理文件等深入讲解加载宏,操作VBE、调用Windows API、制作帮助系统等高级内容提供301个实例、37个案例、214个技巧,可作为案头必备的查询手册重点内容及特色:《Excel VBA开发技术大全》全面介绍了VBA基础、Excel对象模型、用户界面设计、创建自定义对话框、使用标准控件、使用ActiveX控件和处理文件等内容。《Excel VBA开发技术大全》介绍了其他Excel书籍很少涉及,但实际应用中又会经常会遇到的一些技术,如使用RibbonX,制作COM加载宏、操作VBE、制作帮助系统、在Excel中调用Windows API、使用ADO访问、控制其他Office应用程序等。《Excel VBA开发技术大全》最后介绍了一个进销存管理系统的实现,以综合应用前面所学的内容。该系统具有很强的应用价值,稍加修改便可用到商用系统的开发当中。《Excel VBA开发技术大全》中的每个知识点都以典型实例来讲解,必要时给出代码及解释。《Excel VBA开发技术大全》中的代码都给出了详细的注释,阅读起来非常容易理解。和国外的一些经典相比,《Excel VBA开发技术大全》无论是对知识点的讲解还是对实例的选择都更贴近中国读者,符合国人的阅读思维,可以称之为本土化的Excel VBA技术宝典。 目录 第1篇 Linux下C语言基础第1章 Linux简介21.1 GNU简介21.2 Linux简介21.2.1 Linux发展史21.2.2 Linux发行版41.2.3 Linux内核版本51.2.4 Linux与UNIX的关系51.2.5 Linux在服务器方面的发展51.2.6 Linux在嵌入式系统方面的发展61.2.7 Linux在桌面系统方面的发展71.3 Linux环境下的其他编程语言71.3.1 C++71.3.2 Java101.3.3 Perl121.3.4 Python131.3.5 Ruby141.3.6 PHP14第2章 控制结构172.1 goto语句172.1.1 C语言中的无条件跳转172.1.2 使用goto语句进行出错处理182.1.3 出错处理的一般模型202.2 C语言中的分支结构212.2.1 分支结构的翻译222.2.2 使用goto语句实现分支结构232.3 短路计算242.3.1 短路计算242.3.2 &&运算的短路计算252.3.3 ||运算的短路计算262.4 C语言中的循环结构282.4.1 while循环282.4.2 do…while循环302.4.3 for循环322.5 switch语句342.5.1 switch语句的应用342.5.2 使用goto语句实现switch语句352.6 优化控制结构372.6.1 表达式优化――使用替换程序中的乘除法372.6.2 表达式优化――常量折叠382.6.3 表达式优化――使用数学公式382.6.4 表达式优化――存储问题402.6.5 分支优化――改变判断顺序402.6.6 分支优化――使用switch语句442.6.7 循环优化――一次性计算46第3章 C语言中的函数493.1 函数的本质493.2 变量的作用域和生命期503.2.1 全局变量503.2.2 局部变量513.3 变量的初始值533.3.1 全局变量的初始值533.3.2 局部变量的初始值543.4 与函数有关的优化553.4.1 函数调用与程序优化553.4.2 变量存储优化583.5 编写多文件程序――变量的存储类别603.5.1 存储类别603.5.2 static变量的作用――改变变量的生命期603.5.3 static变量的作用――实现封装和模块化设计633.6 编写多文件的程序――链接的作用663.6.1 链接多个文件663.6.2 链接时符号解析规则683.6.3 链接规则的应用683.7 可变参数723.7.1 可变参数的概念723.7.2 实现一个简单的可变参数的函数733.7.3 可变参数实例753.7.4 关于printf函数的疑问――缺少整型参数803.7.5 关于printf函数的疑问――缺少字符串地址参数81第4章 C语言中的指针与字符串844.1 sizeof运算符844.1.1 sizeof运算符的应用――得到内置类型的大小844.1.2 sizeof运算符的应用――得到复合类型的大小854.2 指针的应用864.2.1 指针与别名陷阱864.2.2 数组的指针884.2.3 指针的指针904.2.4 指针与参数传递914.2.5 指针类型的意义984.2.6 void*型指针1004.3 函数的指针1034.3.1 C语言中的函数指针1034.3.2 函数指针的应用――回调函数1064.3.3 函数指针数组1114.4 字符串1134.4.1 字符串与字符数组1134.4.2 字符串与指针1144.4.3 限定修饰符const1164.4.4 const关键字修饰指针――在指针定义之前1174.4.5 const关键字修饰指针――在指针定义之中1174.4.6 const关键字修饰指针――在指针定义之前和定义之中1184.4.7 使用const关键字的意义119第5章 C语言的高级技术1225.1 结构体与共同体1225.1.1 结构体中成员变量的存储分布1225.1.2 内存对齐1235.2 位运算1265.2.1 掩码运算1275.2.2 不安全的位运算1295.2.3 异或运算的特性1305.2.4 移位运算的陷阱1335.2.5 移位运算的实例1345.3 预处理1365.3.1 常用的代码组织形式1365.3.2 调试开关1425.4 C99新标准关键字详解1455.4.1 inline关键字的概念1455.4.2 inline关键字实例1455.4.3 inline关键字使用总结1465.4.4 restrict关键字的概念1475.4.5 restrict关键字的应用148第2篇 C语言开发环境第6章 vi与vim编辑器1526.1 vi编辑器入门1526.1.1 vi简介1526.1.2 vi的工作模式1526.2 vi一般操作1536.2.1 进入vi1536.2.2 文本插入操作1566.2.3 文本删除操作1586.2.4 文本复制操作1596.2.5 撤销命令1616.2.6 重复命令1626.2.7 退出vi1626.3 vi的增强操作1646.3.1 替换命令1646.3.2 光标移动1656.3.3 按行移动光标1666.3.4 按字移动光标1676.3.5 按句移动光标1686.3.6 按段移动光标1696.3.7 文本行的移动1696.3.8 文本的异行移动1706.3.9 屏幕滚动1716.3.10 查找命令1716.3.11 替换命令1736.3.12 窗口的切分1756.3.13 设置环境176第7章 gcc编译器1777.1 初探gcc编译器1777.1.1 从经典的hello world开始1777.1.2 gcc编译流程1787.2 gcc常用选项1797.2.1 gcc常用选项汇总1797.2.2 -c选项1797.2.3 -S选项1807.2.4 -E选项1827.2.5 -o选项1827.2.6 -I选项1837.2.7 -g选项1837.3 链接原理1837.3.1 链接器的任务1837.3.2 目标文件1847.3.3 ELF格式的可重定位目标文件1857.3.4 目标文件中的符号表1877.3.5 重定位的概念1917.3.6 符号的重定位信息1927.4 关于库1927.4.1 使用库的优势1927.4.2 静态库的概念1947.4.3 创建静态库1947.4.4 使用静态库1957.4.5 动态库的概念1977.4.6 创建动态库1977.4.7 使用动态库1997.5 gcc工具链201第8章 makefile2038.1 makefile文件入门2038.1.1 makefile文件的组成内容2038.1.2 makefile文件包含2038.1.3 make工具的退出码2048.2 书写makefile规则2058.2.1 使用基本规则2058.2.2 使用隐式规则2068.2.3 使用伪目标2078.2.4 使用通配符2098.2.5 搜索源文件2098.3 使用命令2108.3.1 显示命令2118.3.2 执行命令2118.3.3 命令出错2128.4 使用变量2138.4.1 使用普通变量2138.4.2 变量中的变量2158.4.3 追加变量的值2178.4.4 自动化变量2188.5 使用条件判断2198.5.1 条件表达式2198.5.2 表达式实例2218.6 使用函数2218.6.1 函数调用的语法2228.6.2 字符串处理函数2228.6.3 文件名操作函数2298.6.4 foreach函数2338.6.5 if函数2338.6.6 call函数2348.6.7 origin函数2358.6.8 shell函数2358.7 makefile实例2368.7.1 makefile实例――项目中的总makefile2368.7.2 makefile实例――makefile模板238第9章 gdb2409.1 列出源程序2409.1.1 不带参数的list命令2409.1.2 带一个参数的list命令2419.1.3 带两个参数的list命令2429.2 运行程序的命令2439.3 操作断点的命令2449.3.1 设置断点2449.3.2 显示当前gdb的断点信息2479.3.3 删除指定的断点2479.3.4 禁止或启用断点2489.3.5 清除断点2489.3.6 观察点2499.3.7 设置断点实例2509.4 查看运行时数据2549.4.1 数据观察命令2549.4.2 对程序中函数的调用2569.4.3 查看表达式的值2569.4.4 查看数组的值2579.4.5 变量的输出格式2579.4.6 查看内存2589.4.7 自动显示变量2599.4.8 设置显示选项2639.4.9 显示变量的历史记录2659.4.10 查看寄存器2669.4.11 查看使用gdb环境变量2679.4.12 查看数据实例2689.5 改变程序的执行2739.5.1 修改变量的值2739.5.2 跳转执行2749.5.3 信号的产生及处理2759.5.4 强制调用函数2769.5.5 强制函数返回2769.6 gdb高级应用2789.6.1 产生core文件2789.6.2 跟踪栈上数据2789.6.3 绑定运行进程2819.6.4 源文件搜索2839.6.5 机器语言工具2839.6.6 其他有用的调试命令284第3篇 Linux进程操作第10章 进程环境28810.1 程序的启动和退出28810.1.1 在shell中启动一个程序28810.1.2 加载一个程序28910.1.3 加载地址29010.1.4 退出程序29110.1.5 进程终止处理函数29210.2 Linux进程内存管理29410.2.1 数据的内部存储29410.2.2 C程序的存储布局――代码段29610.2.3 C程序的存储布局――数据段和缓冲段29810.2.4 C程序的存储布局――栈29910.2.5 C程序的存储布局――堆30110.2.6 常量的存储30210.2.7 动态内存管理30210.2.8 动态内存分配的深入研究30510.3 shell环境30910.3.1 命令行参数31010.3.2 得到程序文件名31110.3.3 环境变量31210.3.4 得到指定的环境变量31410.3.5 设置一个环境变量31510.3.6 得到进程结束状态32010.3.7 使用errno调试程序32210.3.8 输出错误原因32410.4 全局跳转32510.4.1 局部跳转的局限性32610.4.2 使用全局跳转32710.4.3 使用全局跳转代替局部跳转329第11章 进程控制33211.1 进程标识符33211.1.1 进程ID33211.1.2 进程中重要的ID值33311.2 进程操作33511.2.1 创建一个进程33511.2.2 父子进程的共享资源33711.2.3 fork函数的出错情况34011.2.4 创建一个共享空间的子进程34111.2.5 在函数内部调用vfork函数34211.2.6 退出进程34411.2.7 使用exit函数检查进程出错信息34511.2.8 exit函数与内核函数的关系34611.2.9 设置进程所有者34611.2.10 调试多进程――设置跟踪流34811.2.11 调试多进程――使用gdb的attach命令34811.3 执行程序34911.3.1 执行一个新程序35011.3.2 执行解释器文件35211.3.3 在程序中执行shell命令35511.3.4 实现system函数35611.4 关系操作35811.4.1 等待进程退出35811.4.2 等待指定的进程36211.4.3 僵尸进程的概念36411.4.4 产生一个僵尸进程36411.4.5 避免僵尸进程的产生36611.4.6 输出进程统计信息369第12章 时间和日历历程37212.1 系统时间37212.2 日历时间374第13章 信号及信号处理37813.1 信号的基础37813.1.1 信号的基本概念37813.1.2 产生信号37913.1.3 处理信号37913.1.4 常用信号的使用方法38013.2 信号的影响38213.2.1 重入38213.2.2 原子操作38513.2.3 中断系统调用38713.3 信号处理函数38713.3.1 设置信号处理函数38713.3.2 发送信号39113.3.3 向进程本身发送信号39213.3.4 设置Linux定时器39313.3.5 定时等待I/O39513.3.6 挂起进程39713.3.7 进程休眠39913.4 信号集与屏蔽信号40213.4.1 信号集和信号集处理函数40213.4.2 屏蔽信号40413.4.3 处理未决信号40613.4.4 高级信号注册函数40913.4.5 信号选项实例――SA_NOCLDWAIT选项41013.4.6 信号选项实例――SA_NODEFFER选项41213.4.7 信号选项实例――SA_RESETHAND选项414第14章 进程间通信41614.1 进程间通信概述41614.1.1 进程间通信简介41614.1.2 进程间通信的难点41714.1.3 IPC的多种方式41714.2 管道41814.2.1 管道的概念41814.2.2 匿名半双工管道41814.2.3 匿名半双工管道的读写操作42014.2.4 创建管道的标准库函数42314.3 FIFO管道42614.3.1 FIFO的概念42614.3.2 创建FIFO42714.3.3 FIFO的读写操作42814.3.4 FIFO的缺点43214.4 System V IPC/POSIX IPC43314.4.1 IPC对象的概念43314.4.2 IPC对象的问题43514.4.3 IPC对象系统命令43514.5 共享内存43614.5.1 共享内存的概念43614.5.2 共享内存的创建43714.5.3 共享内存的操作43914.5.4 共享内存使用注意事项44214.6 信号量44214.6.1 信号量的概念44214.6.2 信号量的创建44314.6.3 信号量集的操作44614.7 消息队列44814.7.1 消息队列的概念44814.7.2 创建消息队列44914.7.3 读写消息队列452第15章 线程45615.1 线程与进程45615.1.1 线程的概念45615.1.2 线程的优势45715.2 线程标识符45815.3 线程基本操作45815.3.1 创建线程45815.3.2 向线程体函数传递参数46015.3.3 线程访问资源的限制46215.3.4 终止线程46615.3.5 正确得到线程退出信息的方法47015.3.6 取消一个线程的运行47315.3.7 线程退出函数476第16章 线程高级操作48016.1 线程同步――使用互斥量48016.1.1 初始化与销毁互斥量48016.1.2 得到与释放互斥量48116.1.3 使用互斥量的实例48216.2 线程同步――使用读写锁48916.2.1 初始化与销毁读写锁48916.2.2 得到与释放互斥锁49016.2.3 使用互斥量与读写锁的比较49116.3 线程属性49916.3.1 创建和销毁属性结构49916.3.2 线程的分离状态50016.3.3 分离一个已经创建的线程50216.3.4 线程栈的属性503第4篇 Linux文件操作第17章 文件I/O50817.1 文件描述符的概念50817.2 文件I/O操作50817.2.1 打开一个文件50817.2.2 打开文件的出错情况51217.2.3 关闭一个文件51317.2.4 创建一个新文件51417.2.5 文件定位51517.2.6 文件截短51717.2.7 清空一个文件52117.2.8 文件的读写操作52317.2.9 文件同步52717.3 文件描述符操作52917.3.1 复制文件描述符52917.3.2 I/O重定向概念及其应用53117.3.3 控制文件53417.3.4 修改打开文件的文件状态53517.4 非阻塞文件I/O53817.4.1 非阻塞I/O的概念53817.4.2 以非阻塞方式打开文件53917.4.3 将一个打开文件设置为非阻塞方式54117.5 内存映射I/O54317.5.1 内存映射I/O的概念54317.5.2 创建一个内存映射54417.5.3 撤销一个内存映射54717.5.4 内存映射同步54917.5.5 更改内存映射的权限552第18章 文件管理55518.1 文件状态55518.2 文件类型55618.3 文件权限55918.3.1 访问权限55918.3.2 设置用户ID位和设置组ID位56118.3.3 设置用户ID位的作用56218.3.4 使用设置用户ID位的实例56218.4 文件权限操作56618.4.1 测试文件访问权限56618.4.2 设置用户ID位与文件权限测试56818.4.3 使用文件权限屏蔽字56918.4.4 在shell中使用文件权限屏蔽字57018.4.5 在程序中使用文件权限屏蔽字57018.4.6 改变文件访问权限57218.4.7 在shell中改变文件权限57318.4.8 在程序中改变文件权限57418.4.9 改变一个打开的文件权限57518.5 文件系统结构57918.6 文件的硬链接58318.6.1 创建一个硬链接58418.6.2 删除一个硬链接58518.7 改变文件所有者58918.8 操件的时间593第19章 目录操作59719.1 目录的权限59719.1.1 目录的访问权限59719.1.2 测试目录的访问权限59819.2 目录操作59919.2.1 创建一个目录59919.2.2 删除一个目录60019.2.3 目录项结构60119.2.4 打开与关闭目录60219.2.5 读目录60319.2.6 读目录操作的实例――实现自己的ls命令60619.2.7 得到目录文件的读写位置60819.2.8 定位目录61019.2.9 回卷目录文件61119.3 进程的工作目录61219.3.1 工作目录的概念61319.3.2 改变进程的工作目录61319.3.3 得到进程的当前工作目录61519.3.4 子进程工作目录对父进程的影响618第20章 特殊文件62220.1 符号链接操作62220.1.1 符号链接62220.1.2 符号链接的功能62220.1.3 创建符号链接62320.1.4 创建指向不存在文件的符号链接62520.1.5 读写符号链接的目的文件62620.1.6 读写多重符号链接的目的文件62820.1.7 读写符号链接63020.1.8 取得符号链接的状态63320.1.9 更改符号链接的所有者63720.2 proc文件系统64220.2.1 proc文件系统64220.2.2 常用的内核信息64220.2.3 读取内核信息64420.2.4 进程状态信息65220.2.5 读取进程状态65320.2.6 proc文件系统变成实例――实现自己的ps命令655第21章 基于流的I/O65821.1 流与缓冲65821.2 基于流的文件操作66021.2.1 打开和关闭流66021.2.2 文件内容的冲洗66221.2.3 以字符为单位读写数据66421.2.4 以行为单位读写数据66621.2.5 gets函数的漏洞66721.2.6 逐行读取文件内容66821.2.7 输出xml形式的配置文件66921.2.8 读写数据块67121.2.9 文件读写实例――实现cp命令67221.2.10 文件读写实例――字符统计67421.2.11 文件读写实例――目录下所有文件的字符统计675第5篇 Linux网络编程第22章 TCP和UDP协议68022.1 的体系结构简介68022.1.1 体系结构简介68022.1.2 OSI 参考模型中各层功能描述68022.1.3 TCP/IP参考模型的各层功能描述68122.1.4 面向连接服务和无连接服务68222.2 客户/服务器方式简介68222.3 用户数据报协议UDP68322.3.1 用户数据报的格式68322.3.2 用户数据报检验和的计算68422.3.3 UDP用户数据报的特性及用途68622.4 传输控制协议 TCP68622.4.1 TCP简介68622.4.2 TCP报文段的首部68622.4.3 TCP数据编号与确认68822.4.4 TCP的流量控制与拥塞控制68822.4.5 TCP的运输连接管理690第23章 网络编程基础69323.1 套接字概念69323.2 准备工作69423.2.1 字节序69423.2.2 地址格式69523.2.3 地址形式转换69723.2.4 获得主机信息69823.2.5 地址映射70023.3 套接字基础编程70123.3.1 建立和销毁套接字描述符70123.3.2 地址绑定70323.3.3 建立一个连接70423.3.4 最简单的网络应用程序――服务器端70723.3.5 最简单的网络应用程序――客户端71023.3.6 使用文件读写函数读写套接字71323.3.7 使用完整读写函数的网络应用程序71623.3.8 面向连接的数据传输72023.3.9 面向连接的网络应用程序――服务器端72123.3.10 面向连接的网络应用程序――客户端72423.3.11 无连接的数据传输72723.3.12 无连接的网络应用程序――服务器端72923.3.13 无连接的网络应用程序――客户端73123.4 非阻塞套接字73423.4.1 非阻塞网络应用程序――服务器端73423.4.2 非阻塞网络应用程序――客户端737第24章 网络编程进阶74024.1 套接字编程深入74024.1.1 bind函数的作用74024.1.2 并发服务器74124.1.3 UDP协议的connect函数应用74324.2 多路选择I/O74624.2.1 多路选择I/O的概念74624.2.2 实现多路选择I/O74724.2.3 使用多路选择I/O处理多个连接75024.2.4 屏蔽信号的多路选择I/O75424.2.5 对比select函数和pselect函数75524.2.6 轮询I/O75824.3 非网络通信套接字75924.3.1 非命名UNIX域套接字75924.3.2 命名UNIX域套接字76124.3.3 UNIX域套接字实例――服务器端76224.3.4 UNIX域套接字实例――客户端766第25章 网络编程实例――实现文件传输程序76925.1 程序设计76925.1.1 整体程序设计76925.1.2 客户端程序设计76925.1.3 服务器端程序设计77025.2 文件传输程序的实现77325.2.1 客户端程序的实现――头文件77325.2.2 客户端程序的实现――程序主函数77425.2.3 客户端程序的实现――命令拆分函数77725.2.4 客户端程序的实现――命令处理模块77925.2.5 服务器端程序的实现――头文件79025.2.6 服务器端程序的实现――程序主函数79125.2.7 服务器端程序的实现――客户端命令处理模块79425.3 测试和验证801第26章 网络编程实例――简单的Web服务器80226.1 程序设计80226.1.1 整体程序设计80226.1.2 步骤1――解析客户端发送的内容80326.1.3 步骤2――寻找客户端需要的文件80426.1.4 步骤3――将客户端信息返回80426.2 Web服务器的实现80526.2.1 Web服务器程序的实现――头文件80626.2.2 Web服务器程序的实现――程序主函数80626.2.3 Web服务器程序的实现――请求处理模块81126.3 测试和验证816第6篇 shell脚本知识第27章 shell脚本基础81827.1 编写最简单的shell脚本81827.1.1 使用shell脚本的原因81827.1.2 脚本内容81927.1.3 运行一段脚本82027.2 shell中的变量82127.2.1 用户自定义变量82127.2.2 引用变量82327.2.3 为表达式求值82427.2.4 变量的类型82627.2.5 操作自定义变量82827.2.6 位置变量83027.2.7 重新分配位置变量83127.3 退出状态83327.4 条件测试83527.4.1 测试文件状态83527.4.2 测试时使用逻辑操作符83727.4.3 字符串测试83927.4.4 测试数值841第28章 shell脚本中的控制结构84428.1 shell脚本中的命令替换84428.2 分支结构84528.2.1 if/else分支结构84528.2.2 多重分支结构84728.2.3 使用case结构的分支语句84828.2.4 在case语句中使用逻辑表达式85128.3 条件测试命令的值85328.3.1 测试整数与字符串85328.3.2 测试字符串和空值85428.3.3 测试未初始化的变量85528.3.4 测试“false”的值85628.4 循环结构85728.4.1 while循环结构85828.4.2 until循环结构86128.4.3 for循环结构86428.4 4 break和continue命令86628.5 定义函数和使用函数869…… 序言 随着技术的高速发展,Linux系统在服务器解决方案中的优势越来越被开发者认同。在就业市场上,基于Linux系统开发的人员需求量也不断增加。其中,对Linux系统环境下C语言开发人员的需求尤为明显。由于C语言本身在语法结构、语言风格和编程思想上的特点,使C语言一直被公认为难以学习、轻松掌握。尽管Linux环境下C语言开发越来越被企业和开发人员认同,关注的人数也越来越多,但实际上,真正了解和掌握C语言开发的人却很少。因此,笔者总结亲身学习Linux系统函数接口的经验,并结合自己多年从事Li 文摘 插图:第1章 Linux简介Linux是一个开放源代码的操作系统,本章将主要介绍GNU的发展简史、Linux的发展简史,以及Linux环境下的编程语言。1.1 GNU简介GNU是GNU’SNotUNIX的递归缩写。之所以取这个名字,主要是为了表明其不同于UNIX操作系统。GNU计划最早是由Richard Stallman在1983年9月份公开发起的,其主要目标是开发一个非私有的、开放的操作系统。GNU计划中有一个著名的条款GPL(General Public License)。该条款的主要目的是保证GNU可以被自由地传播和使用,使用者不必向者付费,且使用者可以自由地修改,并可以将修改后的再发布出去。当然,发布后的软件也必须遵守GPL条款。除了操作系统内核之外,一个完整的操作系统还应该有编辑器、浏览器、音乐播放器、编译器、电子邮件等多种软件。到了20世纪90年代的时候,GUN已经开发出了很多很成功的软件,例如,功能强大的文字编辑器emacs、bash shell程序、gcc编译程序、gdb调试程序等,就是缺少一个操作系统的内核,Linux就是在这样的背景下产生的。GNU为Linux的产生提供了重要的条件,而Linux则大大丰富了GUN软件。1.2 Linux简介Linux是一个类UNIX的操作系统,是当今世界的主流操作系统之一。Linux是一个多用户和多任务的操作系统,完全符合POSIX标准,具有很高的可靠性和稳定性,而且是免费和开源的。
(作者:bkbk936477 编辑:kind887)
本文网址:
读书人精选相关软件 /中文/ /中文/ /中文/ /中文/ /中文/ /中文/ /中文/ /英文/ /英文/ /英文/顶好评:50%踩坏评:50%请简要描述您遇到的错误,我们将尽快予以修正。轮坛转帖HTML方式轮坛转帖UBB方式
49.0M/中文/4.5
73M/中文/6.0
14.7M/中文/5.0
14.8M/多国语言[中文]/4.0
30.3M/中文/9.1
9.4M/中文/7.3
如果想学习UNIX/LINUX的编程,这里是西西为大家整理的一共15本电子书,全部是chm格式,包括linux命令手册等,希望能给大家在学习和使用Linux的时候带来帮助。电子书列表&Linux_Mint11官方中文手册.pdf&Linux命令大全(修改版).chm&Linux命令学习.chm&Linux基础命令教程(豪华版).chm&Linux基础命令教程豪华版.chm&LINUX安全加固手册.doc&Linux常用命令全集.CHM&Linux常用命令大全.chm&史上最牛Linux教程.chm&大学生攻克Linux系统教程(又名天下没有难学的Lin (1).CHM&大学生攻克Linux系统教程(又名天下没有难学的Lin.CHM&学习Linux编程的一套好方法.htm&学成Linux快手.chm&深入理解Linux内核(第三版).chm&鸟哥的Linux私房菜.chm&鸟哥的linux私房菜第二版包括基础和服务器.chm
安卓官方手机版
IOS官方手机版
注意: chm 文件在打开的时候会提示请一定要把 打开此文件前总是询问的这里去掉,要不然里面的内容无法显示出来
linux 学全大全(15部最全面的CHM文档) linux命令手册
下载帮助西西破解版软件均来自互联网, 如有侵犯您的版权, 请与我们联系。}

我要回帖

更多关于 linux发行版 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信