优就业开发教程-精通Unix下C语言编程与项目实践

  

  当前软件业开发工具日新月异,从C到C++,从Java到.net,新构架、新组件层出不穷,今天刚学习到的知识,也许明天就已经过时了。要想在激烈的竞争中站稳脚跟,在知识大爆炸中跟上时代的步伐,软件开发者一般会有两种应对方式:

  1. 疯狂的学习,每天恶补新知识以适应知识发展的需要。

  2. 打牢基础,选择一个相对稳定的平台和相对稳定的开发语言,以不变应万变。

  在Unix下C语言编程是一种相对稳定的开发平台下的开发语言,掌握了它,就可以轻松完成当前Unix服务器下疯狂增长的各式各样的功能需求。

  为什么选择Unix编程

  在工业领域,Unix的应用范围非常广泛,采用Unix系统的服务器性能更稳定,资源利用率更高,更易于维护。选择Unix编程的理由如下:

  1. Unix是现今大中型企业级应用的最佳支持方案

  当前,银行、电信、证券等大型数据库需求商无一例外的选择了Unix操作系统。固然这里存在设备的原因(这些企业选择的大、中、小型机一般只支持厂家配套的Unix操作系统),但另一方面也与Unix超强性能分不开。

  Unix操作系统具有安全、稳定和多用户等多方面的特点,可以充分发挥设备的性能,尤其适用对系统性能、文件I/O吞吐量、并发能力、安全认证、网络吞吐和交易时间等有着极高要求的大型网络服务器和数据库服务器。诸如现今流行的网络游戏,其后台服务器的支持也首选Unix操作系统。

  2. Linux为小型企业级应用提供了优质性价比的支持方案

  Linux的出现为X86型主机运行Unix成为了可能,也为小型企业提供优质的应用支持方案。运行Linux(或其它支持X86的Unix)的服务器,也被广泛的应用于网站、中小型网络游戏和其它应用系统中。

  3. Unix的分时多用户功能极大地方便了主机共享和远程维护

  与Windows的独占性操作系统不同,Unix是分时多用户系统,它允许多人同时登陆主机。共享主机的不同用户之间相互并发,互不影响,就像每个用户都在使用自己单独的主机一样。

  Unix的网络终端远程登陆功能为零距离维护提供了可能,维护人员无论何时何地,只要有网络,就可以凭借Unix对TELNET协议或SSH协议的支持,以极少的系统资源消耗登陆主机,真正做到了运筹帷幄之中,决胜千里之外。

  Unix编程的内容

  Unix下C语言编程的基本思想与普通C语言编程无异,只是加入了大量的系统调用和特殊应用处理,其主要内容如下:

  1. 文件I/O系统调用

  包括Unix文件系统基础知识、标准I/O编程库、Unix文件系统调用库等。

  2. 时间与信号系统调用

  包括时间获取与设置、定时器的使用、信号系统的调用等。

  3. 进程与线程系统调用

  包括进程与线程的系统控制与生命周期,利用进程或线程设计并发程序的方法等。

  4. 进程间通讯系统调用

  包括管道和IPC(消息队列、信号量和共享内容等)的系统调用等。

  5. SOCKET通讯应用

  包括SOCKET通讯的各种模式和SOCKET与多进程、多线程的联合并发程序设计的方法等。

  6. Curses字符界面应用

  包括利用Curses函数库操作网络终端和物理终端的方法,以及Curses库与SOCKET的联合程序设计的方法等。

  7. 数据库编程应用

  包括利用数据库提供的API函数和嵌入式SQL直接操作数据库的方法等。

  怎样学习Unix编程

  编程是一门细致的工作,对于Unix下C语言编程来说更是如此。无论读者是因为兴趣爱好选择Unix编程,还是由于工作压力被迫选择Unix编程,耐心和细致都是必不可少的;另外熟能生巧是学习知识永远的捷径:

  1. 勤操作,熟练Unix应用

  很多第一次接触Unix的读者在编程时,常常有种无从下手的感觉,不是看不懂程序,或者不会编程序,而是不知道该如何进入Unix系统,不知道该如何编辑程序,也不知道该如何编译程序。的确,Unix编程初学者的瓶颈常常不是程序本身,而是诸如安装机器、安装系统软件和shell操作等一系列表面上与编程毫不相关的事务。所以熟练使用Unix的各种操作,可以大大提高Unix的编程效率。

  事实上,Unix编程与Unix操作息息相关,初学者可以通过安装操作系统、安装数据库软件、安装文件系统、IPC控制、启停应用软件等各种操作增加自己的对Unix编程的理解。

  Unix的基本操作见本书第$1.2小节,或者请查阅相关书籍。

  【实践经验】只有真正熟练应用Unix操作系统的开发者才可以真正的理解Unix编程。

  2. 勤编程,提高动手能力

  眼高手低是人们学习时的特点之一,很多读者可能会遇上这样的疑惑:为什么书上的程序我都看得懂,可实际编程时就是不能灵活应用呢?其实这是一个熟练的过程,将书中的实例运行几次,把书后的习题解答几次,也许你会发现成功驾驭Unix编程不再是虚无飘渺的梦。数学家华罗庚曾经说的“苦战猛攻埋头干,熟练生出百巧来”就是这个道理。

  本书的读者可以从以下几个方面实践:

  (1) 学习书中实例,并且编译和执行之。

  (2) 理解实例,举一反三,,并联系实践,思考实例在实践生产中的应用。

  (3) 按部就班完成附录C中的《精通Unix下C语言编程100例》的代码。

  【实际经验】虽然随书代码中会附带本书全部实例的源代码,但请读者务手工输入、编译并且执行全部程序。因为:

  · 输入代码过程将加深记忆和理解。

  · 手工输入过程中肯定会产生一些笔误,导致程序不能编译通过,或者不能正常运行;而对程序调试的过程其实就是一种最好的实践。

  · 亲自输入代码并且测试通过,会产生一种成就感,极大地提高学习兴趣。

  3. 多思考,举一反三掌握知识

  在实际应用中,存在多种多样的情况,不是书中的实例可以穷尽的。因此读者在学习完一个实例后,可以根据所在企业的实际情况,编写出具有企业特色的实例来,即学习了Unix编程,又提前为实践生产做了准备。

  总之,学习Unix编程最重实践,读者请务必亲自调试书中实例,完成书后习题,只有这样才能尽快到达“众里寻他千百度,暮然回首,那人却在灯火阑栅处”的境界。

拼图海报 http://www.biyinjishi.com/products/a65-b6510/d100121/
照片墙 http://www.biyinjishi.com/products/a65-b6510/d100122/
挂历 http://www.biyinjishi.com/products/a65-b6520/d100122
台历 http://www.biyinjishi.com/products/a65-b6520/d100122
普通台历 http://www.biyinjishi.com/products/a65-b6520/d100124/
创意台历 http://www.biyinjishi.com/products/a65-b6520/d100125/
高端台历 http://www.biyinjishi.com/products/a65-b6520/d100126/
分月挂历 http://www.biyinjishi.com/products/a65-b6520/d100127/
单张年历 http://www.biyinjishi.com/products/a65-b6520/d100128/
相册 http://www.biyinjishi.com/products/a65-b6530/d100128
简装照片书 http://www.biyinjishi.com/products/a65-b6530/d100130/
精装照片书 http://www.biyinjishi.com/products/a65-b6530/d100131/
高端照片书 http://www.biyinjishi.com/products/a65-b6530/d100132/
相册影集 http://www.biyinjishi.com/products/a65-b6530/d100133/
木版画 http://www.biyinjishi.com/products/a65-b6535/d100135/
水晶版画 http://www.biyinjishi.com/products/a65-b6535/d100136/
照片相框 http://www.biyinjishi.com/products/a65-b6535/d100137/
创意家居 http://www.biyinjishi.com/products/a65-b6550/d100137
杯子 http://www.biyinjishi.com/products/a65-b6550/d100139/

时间: 2024-11-16 01:40:15

优就业开发教程-精通Unix下C语言编程与项目实践的相关文章

UNIX下C语言编程静态库的生成

1.设计库源码 pr1.c 1 void print1() 2 { 3 printf("This is the first lib src \n"); 4 } pr2.c 1 void print2() 2 { 3 printf("This is the second lib src \n"); 4 } 2.编绎.o文件 gcc -O -c pr1.c pr2.c 3.链接静态库 ar -rsv libpr.a pr1.o pr2.o

UNIX下C语言编程静态库的应用模型

接上篇 (1)调用库函数代码 1 void main() 2 { 3 print1(); 4 print2(); 5 } (2)编绎链接选项 1 gcc -O -o main main.c -L./ -lpr (3)执行目标程序 ./main

linux 操作系统下c语言编程入门

2)Linux程序设计入门--进程介绍 3)Linux程序设计入门--文件操作 4)Linux程序设计入门--时间概念 5)Linux程序设计入门--信号处理 6)Linux程序设计入门--消息管理 7)Linux程序设计入门--线程操作 8)Linux程序设计入门--网络编程 9)Linux下C开发工具介绍 1)Linux程序设计入门--基础知识 Linux下C语言编程基础知识 前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将 会学到以下内容: 源程序编

LINUX下C语言编程基础

实验二 Linux下C语言编程基础 一.实验目的 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用gdb调试技术 6. 熟悉makefile基本原理及语法规范 7. 掌握静态库和动态库的生成 二.实验步骤 1. 快捷键 Ubuntu中: 2. vim VIM是一个非常好的文本编辑器,很多专业程序员使用VIM编辑代码,即使以后你不编写程序,只要跟文本打交道,都应该学学VIM,可以浏览参考一下普通人

Linux下C语言编程基础学习记录

VIM的基本使用  LINUX下C语言编程 用gcc命令编译运行C语言文件 预处理阶段:将*.c文件转化为*.i预处理过的C程序. 编译阶段:将*.i文件编译为汇编代码*.s文件. 汇编阶段:将*.s文件转化为*.o的二进制目标代码文件. 链接阶段:将*.o文件转化为可执行文件. 生成可执行文件:将*.o转换为可执行文件. 执行可执行C语言文件. gcc常用选项列表 -c      只编译不链接,生成目标文件“.o” -S      只编译不汇编,生成编码代码 -E      只进行预编译,不做

这些Linux操作系统下C语言编程注意事项,你都注意到了吗?

以下这些Linux操作系统下C语言编程注意事项,你都注意到了吗? 1工具的使用 1.学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找.定位.替换等.新手的话推荐使用vim,这也是我目前使用的文本编辑器. 2.学会makefile文件的编写规则,并结合使用工具aclocal.autoconf和automake生成makefile文件. 3.掌握gcc和gdb的基本用法.掌握gcc的用法对于构建一个软件包很有益处,当软件

LINUX下C语言编程调用其他函数、链接头文件以及库文件

LINUX下C语言编程经常需要链接其他函数,而其他函数一般都放在另外.c文件中,或者打包放在一个库文件里面,我需要在main函数中调用这些函数,主要有如下几种方法: 1.当需要调用函数的个数比较少时,可以直接在main函数中包含该文件,比如一个文件夹下包含add.c和main.c文件: 方法一: 文件add.c定义两个整数相加的函数,code如下: #include <stdio.h> #include <math.h> int add(int a,int b) { int z;

linux下C语言编程,include的默认搜索路径

C语言编程时,发现细节的魅力很大.较为详细了看了一下关于include的知识,发现了几点新知: 1.include<头文件名>和include"头文件名" 如:include<stdio.h>和include"stdio.h" 前者(使用<>),来引用stdio.h文件,是首先检索标准路径,看看这些文件夹下是否有该头文件:如果没有,也不会检索当前文件所在路径,并将报错. 后者(使用""),来引用stdio.h文

Swift开发教程--mac os下如何保存纯文本文件

1.在文本编辑器的菜单的"格式"选项中我们可以找到"制作纯文本"这个选项,对应的快捷键是shift?+command?+T 2.在xcode中,新建一个文本文件就ok了. 版权声明:本文为博主原创文章,未经博主允许不得转载.