
Linux程序设计
文章平均质量分 77
Furney
人的一生中,最光辉的一天并非是功成名就那天,而是从悲叹与绝望中产生对人生的挑战,以勇敢迈向意志那天。
展开
-
Linux程序设计——文件操作(底层文件访问)
Linux底层文件访问主要包括以下几个方面的系统调用:1、write系统调用#include size_t write(int fildes, const void *buf, size_t nbytes); 功能:把缓冲区buf的前nbytes个字节写入与文件描述符fildes关联的文件中。 返回值:实际写入的字节数。#include #include原创 2012-03-29 15:04:04 · 2394 阅读 · 0 评论 -
Linux程序设计——信号量、共享内存和消息队列
1、信号量多线程程序中总有一部分临界代码,编程人员必须确保只有一个进程可以进入临界代码并拥有对资源的独占式访问权。使用信号量机制可以确保进程之间的并发执行。信号量是一个特殊的变量,只允许对它进行等待(wait)和发送信号(signal)这两种操作,即PV操作:P——用于等待V——用于发送信号》》》PV操作的定义P(sv)——sv > 0,sv -= 1。sv = 0挂起进程的执原创 2012-05-15 15:38:22 · 1907 阅读 · 0 评论 -
Linux程序设计——进程间通信:管道
使用信号在进程间通信,传送的信息只限于一个信号值。更多的数据交换需要使用一种新的机制——管道。管道(pipe)把一个进程的输出连接到另一个进程的输入。对shell命令的连接就是通过管道实现的,使用管道符号"|"连接。1、进程管道使用popen和pclose创建和关闭管道。popen允许一个程序将另一个程序作为新进程启动,并可以传递数据给它或者通过它接收数据。#include原创 2012-05-09 09:52:49 · 2884 阅读 · 2 评论 -
Linux程序设计——C语言连接MySQL数据库
MySQL是Linux系统下广泛使用的开源免费数据库,是Linux应用程序数据存储的首选。许多发布的Linux版本是自带MySQL的,但是也有些发布版本是不带的(比如我现在用的Ubuntu),那就需要手动安装。在Synaptic Packet Management中搜索“mysql”,可以找到“mysql-client"包,点击安装即可。安装好的MySQL是在命令行下运行的,这对于许多原创 2012-04-19 18:26:56 · 5933 阅读 · 0 评论 -
Linux程序设计——shell
Linux是一个开源的操作系统,支持C/C++、Java、Ruby等程序设计语言,使用这些开发语言可以实现许多强大的功能,同样使用Linux系统本身提供的工具——shell也可以轻松实现这些强大的功能。相对于其他编程语言shell可以快速、简单地完成编程,而且易于配置、维护,具有较好的可移植性。但是shell也有一定的缺点,因为shell程序的特点使得其不适合用于完成时间紧迫型以及处理器忙碌型的任原创 2012-03-28 21:34:00 · 2088 阅读 · 0 评论 -
Linux程序设计——POSIX线程
在Linux中,进程控制系统几乎所有的活动,是系统很重要的组成部分。Linux系统同时支持通过进程创建新的进程,但是创建新进程的代价较高,因为新进程有自己的数据空间、环境和文件描述符。因此,如果想让一个进程同时做两件事件,那就需要线程发挥作用。线程是一个进程内部的控制序列,所有进程都至少有一个执行线程。当在进程中创建一个新的线程时,新的执行线程将拥有自己的栈,但与它的创建者共享全局变量、文件描原创 2012-04-30 13:59:45 · 1394 阅读 · 1 评论 -
Linux程序设计——进程和信号
进程和信号在Linux系统中无处不在,它掌控着Linxu的活动,确保系统的正常运行,其重要性不言而喻。1、进程进程是指运行着一个或多个线程的地址空间和这些线程所需要的系统资源。在Linux中每个正在运行的程序实例都可以被看作是进程,这些进程之间可以共享程序代码和系统函数库,因此在任何时刻系统内存中只有代码的一份副本。系统中的每个进程在创建时都会被分配一个唯一的数字编号,称之为进程标识符原创 2012-04-23 22:24:53 · 1460 阅读 · 2 评论 -
VMware 7安装Ubuntu
由于先前的Linux崩溃,所以需要重新在虚拟机下安装。但是在安装过程中却遇到了一些问题,其中最为麻烦是在虚拟机系统启动时提示找不到floppy,在网上找了很多方法尝试都没用,后来将VMware设置为“以管理员身份运行”并且更改运行时的兼容性,再启动VMware,便可以正常运行。这个问题解决后,下面是具体步骤:Step1:新建虚拟机Step2:选择配置方式,默认配置和高级配置,这里我原创 2012-03-21 13:27:29 · 1695 阅读 · 0 评论 -
Linux程序设计——文件操作(标准I/O库)
Linux中定义了与底层文件访问对应的函数库即标准I/O库,这些库函数在头文件stdio.h中定义。1、fopen函数#include FILE *fopen(const char *filename, const char *mode);与底层文件访问中的open相对应。调用成功时返回一个非空的FILE指针,失败时返回NULL值。2、fread函数及fwrite原创 2012-03-30 14:52:49 · 1539 阅读 · 0 评论 -
Linux程序设计——套接字
进程间通信的机制包括信号量、共享内存、管道和消息队列等,但是这些机制只能实现在一台计算的进程间通信。本文将介绍另外一种进程间通信的机制——套接字,可以实现计算机网络中的通信。1、套接字套接字是一种通信机制,通过使用这种通信机制,客户/服务器系统的开发既可以在本地单机上进行,也可以跨网络进行。套接字明确地将客户和服务器区分开来,可以实现将多个客户连接到一个服务器。2、套接字连接套接字原创 2012-05-16 12:29:10 · 2154 阅读 · 0 评论