
Linux
文章平均质量分 56
wdt3385
这个作者很懒,什么都没留下…
展开
-
Linux下Socket网络编程,文件传输,数据传输的C语言例子
Linux下Socket网络编程,文件传输,数据传输的C语言例子什么是SocketSocket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输转载 2012-07-04 10:57:24 · 1286 阅读 · 0 评论 -
小白学Linux之gcc的一些常见用法
1.gcc编译器对程序的编译,分为四个阶段:1>预编译(pre-processing):在预处理阶段,输入的是C语言的源文件,通常为*.c。它们一般带有*.h之类的头文件。这个阶段主要处理源文件中的#ifdef,#include,#define预处理命令。该阶段会生成一个中间文件*.i文件。这个阶段使用命令: gcc –E tiger.c –o tiger.i它通过对源文转载 2012-07-04 16:03:41 · 802 阅读 · 0 评论 -
小白学Linux之内核模块编程
http://blog.youkuaiyun.com/tigerjb/article/details/6010997Linux 内核模块编程Linux 内核模块编程是一个很重要的知识点。尤其是编写底层驱动程序时,一定会涉及到它。内核模块编程也是 Tiger 哥学习 Linux时第一节课所接触的知识。由此可以看出它的 important, 也可以看出其实它很 easy 。一前言:转载 2012-07-04 17:32:21 · 857 阅读 · 0 评论 -
Linux进程学习(一)之Linux进程的基本知识和实现
最近一周学习了Linux 进程编程的知识,现对其总结如下。在第一部分中我们先对进程的基本概念以及在Linux 中是如何来现实进程的进行介绍Tiger-John说明 :许多人在学习中只注重如何编程,却忘了注重原理,不去深究其基本原理。其实操作系统的原理就好比金庸武侠小说的内功一样,而所有的具体实现如:Linux操作系统,uc/os操作系统都只是武功招式而已。如果我们内功学的很好的话,再来转载 2012-07-04 15:50:22 · 702 阅读 · 0 评论 -
Linux进程学习(二)之fork()和vfork()的学习
http://blog.youkuaiyun.com/tigerjb/article/details/6006884 fork()和vfork()的学习通过 上一部分的学习,我们了解了进程的概念以及在Linux中进程的实现,此部分我们将具体学习如何在Linux中创建一个进程。一前言: 通过原理知识的学习,我们知道每个进程由进程ID号标识。进程被创建时系统会为其分配一个唯一的进程ID号。转载 2012-07-04 15:53:12 · 763 阅读 · 0 评论 -
Linux进程学习(四)之进程的退出
进程就好比人一样有其生命,我们通过fork()函数来创建一个进程,那么我们又是如何来中止进程呢。进程退出1.在Linux中任何让一个进程退出进程退出表示进程即将结束。在Linux中进程退出分为了正常退出和异常退出两种。1>正常退出a.在main()函数中执行return 。b.调用exit()函数c.调用_exit()函数2>异常退出a.调用about函数b转载 2012-07-04 16:00:08 · 835 阅读 · 0 评论 -
Linux 文件描述符(open,read,write,lseek,close)
http://blog.youkuaiyun.com/linuxmichael/article/details/5156790# Linux系统可以看成是一个由文件组成的系统,在linux系统中,基本上所有的设备,硬件,资源都被看成一个文件,比如,在/dev下面我们可以看到我们的硬盘sda1(我的机器是安装的SCIS硬盘的虚拟机),终端设备ttyn,在/proc目录下面我们可以看到当前的内存信息,ca转载 2012-07-04 16:06:49 · 1286 阅读 · 0 评论 -
Linux下一些常见的shell 命令
来自:http://blog.youkuaiyun.com/tigerjb/article/details/6011067 对于许多经常在XP下编程的同学,突然转到Linux下编程会很不习惯,因为以前能在XP下用鼠标完成的很多事情,现在我们都用命令来完成(虽然现在很多Linux操作系统都支持鼠标操作,但是既然学习Linux了,个人认为我们平时还时多用shell命令把,其中的原因。我想大家都会懂转载 2012-07-04 16:08:39 · 504 阅读 · 0 评论 -
Ubuntu下改写vim配置文件 vimrc来实现显示行号,语法高亮,自动缩进功能
http://blog.youkuaiyun.com/tigerjb/article/details/6873268 在UBUNTU中vim的配置文件存放在/etc/vim目录中,配置文件名为vimrc 在终端 输入以下命令来编辑vimrc配置文件:sudo vim /etc/vim/vimrc 或者 sudo gedit/etc/vim/vimrc 此文件需要用root权限来访问,转载 2012-07-04 16:18:08 · 846 阅读 · 0 评论 -
Linux进程学习(六)之程控制函数之exec()函数的学习
当我们看恐怖片时,经常会有这样的场景:当一个人被鬼上身后,这个人的身体表面上还和以前一样,但是他的灵魂和思想已经被这个鬼占有了,因此它会控制这个人做他自己想做的事情--那么在进程中也有这样的情景。那么是如何实现的呢?现在我们来学习exec()函数族 一.exec()函数 族 1.首先我们在终端输入命令:man exec 可以看到函数的原型:#includeint execl转载 2012-07-04 17:30:52 · 1303 阅读 · 0 评论 -
Linux时间函数之gettimeofday()函数之使用方法
一.gettimeofday()函数的使用方法:1.简介:在C语言中可以使用函数gettimeofday()函数来得到时间。它的精度可以达到微妙2.函数原型:#includeint gettimeofday(struct timeval*tv,struct timezone *tz )3.说明:gettimeofday()会把目前的时间用转载 2012-07-04 17:44:37 · 610 阅读 · 0 评论 -
Linux: Vi编辑器命令大全
1 vi的基本概念基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式command mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。2) 插入模式(转载 2012-06-21 14:54:11 · 816 阅读 · 0 评论 -
Linux系统下的多线程编程入门
引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还要再引入线程呢?转载 2012-06-21 15:39:44 · 549 阅读 · 0 评论 -
Linux网络编程入门
(一)Linux网络编程--网络知识介绍Linux网络编程--网络知识介绍客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户端 在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。 比如我们使用ftp程序从另外一 个地方获取文件的时候,转载 2012-06-21 15:59:03 · 863 阅读 · 0 评论 -
用GDB调试程序(一)
用GDB调试程序转自:http://blog.youkuaiyun.com/haoel/article/details/2879#GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓转载 2012-06-21 11:52:08 · 501 阅读 · 0 评论 -
跟我一起写 Makefile(二)
三、make是如何工作的在默认的方式下,也就是我们只输入make命令。那么, 1、make会在当前目录下找名字叫“Makefile”或“makefile”的文件。 2、如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“edit”这个文件,并把这个文件作为最终的目标文件。 3、如果edit文件不存在,或是edit所依赖的后面的 .o转载 2012-06-21 13:23:16 · 507 阅读 · 0 评论 -
Linux进程学习(三)之孤儿进程和守护进程
原文:http://blog.youkuaiyun.com/tigerjb/article/details/6007073通过前面的学习我们了解了如何通过fork()函数和vfork()函数来创建一个进程。现在我们继续深入来学习两个特殊的进程:孤儿进程和守护进程 一.孤儿进程 1.什么是 孤儿进程 如果一个子进程的父进程先于子进程 结束,子进程就成为一个孤儿进程,它由 init 进程收养,转载 2012-07-04 15:57:18 · 787 阅读 · 0 评论 -
linux下错误的捕获:errno和strerror的使用
原文:http://blog.youkuaiyun.com/tigerjb/article/details/6819891 linux下错误的捕获:errno和strerror的使用经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用err转载 2012-07-04 17:45:49 · 525 阅读 · 0 评论 -
Linux学习 之 perror函数,strerror函数,errno
#include // void perror(const char *msg);#include // char *strerror(int errnum);#include //errnoerrno 是错误代码,在 errno.h头文件中;perror是错误输出函数,输出格式为:msg:errno对应的错误信息(加上一个换行符);strerror 是通过参数转载 2012-07-04 17:49:13 · 856 阅读 · 0 评论 -
[转]Linux下Socket网络编程,文件传输,数据传输的C语言例子
什么是SocketSocket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数据传输是一种特殊的转载 2012-07-05 08:57:12 · 979 阅读 · 0 评论 -
网络间通信socket传输任意格式任意大小的文件
http://blog.youkuaiyun.com/hdw10/article/details/7497760 最近看到很多网友写的socket程序,试验了几个,发送"Hello,world"时都没有问题,但在传输较大文件,比如一个200M的文件时,都不能成功,即使成功了,server端也存在保存的问题, 有的是乱码,也有文件大小不对的情况,这两天工作不忙,我也草草写了一些代码,实现了可以转载 2012-07-05 09:03:02 · 1094 阅读 · 0 评论 -
手把手教你把Vim改装成一个 IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)By:吴垠Date:2007-09-07Version:0.5Email:lazy.fox.wu#gmail.comHomepage:http://blog.youkuaiyun.com/wooinCopyright:该文章版权由吴垠和他可爱的老婆小包子所有转载 2012-07-05 09:17:26 · 1678 阅读 · 0 评论 -
Linux操作系统内核编译详解
时间:2005-06-19 作者:易捷 来源:易捷http://www.uplinux.com/www/dev/02/185.shtml 内核简介 内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Linux的一个重要的特点就是其源代码的公开性,所有的内核源程序都可以在/usr/src/linux下找到,大转载 2012-07-05 09:49:28 · 943 阅读 · 0 评论 -
TCP/IP编程实现远程文件传输
在TCP/IP网络结构中,为了保证网络安全,网络人员往往需要在路由器上添加防火墙,禁止非法用户用ftp等安全危害较大的TCP/IP协议访问主机。而有时系统维护人员需要用ftp将一些文件从中心机房主机传到前端网点主机上,比如应用程序的替换升级。如果每次传输文件时都要打开防火墙,未免显得有些繁琐,要是在自己的应用程序中增加一个专门的文件传输模块,那将是十分愉快的事情。 UNIX网络程序设计一转载 2012-07-04 12:41:15 · 995 阅读 · 0 评论 -
Linux--线程编程
转自:http://www.cnblogs.com/forstudy/archive/2012/04/05/2433853.html进程 系统中程序执行和资源分配的基本单位 每个进程有自己的数据段、代码段和堆栈段 在进行切换时需要有比较复杂的上下文切换 线程 减少处理机的空转时间,支持多处理器以及减少上下文切换开销, 比创建进程小很多 进程转载 2012-06-21 10:26:01 · 632 阅读 · 0 评论 -
Linux命令整理
来自:http://blog.youkuaiyun.com/sikinzen/article/details/5503769Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系转载 2012-06-21 13:12:17 · 2638 阅读 · 0 评论 -
跟我一起写 Makefile(四)
书写规则————规则包含两个部分,一个是依赖关系,一个是生成目标的方法。在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终的目标。如果第一条规则中的目标有很多个,那么,第一个目转载 2012-06-21 13:36:40 · 589 阅读 · 0 评论 -
去掉linux中"You have new mail in /var/spool/mail/root"的提示
去掉linux中"You have new mail in /var/spool/mail/root"的提示:我们在用命令行操作linux的时候经常会出现You have new mail in /var/spool/mail/root的提示,很不爽,而且/var/spool/mail/root这个文件越来越大,占用系统资源.有没有办法屏蔽这个提示呢?答案的肯定的.下面介绍一种方法.需要修转载 2012-06-21 17:02:03 · 1231 阅读 · 0 评论 -
Linux进程学习(五)之函数waitpid函数的解析
来自:http://blog.youkuaiyun.com/tigerjb/article/details/6008062 等待进程结束wait()和waitpid()函数上一节最后我们说到若子进程先于父进程结束时,父进程调用wait()函数和不调用wait()函数会产生两种不同的结果:--如果父进程没有调用wait()和waitpid()函数,子进程就会进入僵死状态。--如果父进程调用了转载 2012-07-04 16:02:05 · 862 阅读 · 0 评论 -
Linux下常用压缩格式的压缩与解压方法
.tar解包: tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)---------------------------------------------.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName转载 2012-07-04 16:31:46 · 477 阅读 · 0 评论 -
Linux下open与fopen的区别
int open(const char *path, int access,int mode) path 要打开的文件路径和名称 access 访问模式,宏定义和含义如下: O_RDONLY 1 只读打开转载 2012-07-05 13:00:08 · 542 阅读 · 0 评论 -
多线程和多进程的区别(小结)
转自:http://blog.youkuaiyun.com/hairetz/article/details/4281931很想写点关于多进程和多线程的东西,我确实很爱他们。但是每每想动手写点关于他们的东西,却总是求全心理作祟,始终动不了手。今天终于下了决心,写点东西,以后可以再修修补补也无妨。 一.为何需要多进程(或者多线程),为何需要并发?这个问题或许本身都不是个问题。但是对于没转载 2012-06-21 11:04:33 · 556 阅读 · 0 评论 -
使用gdb调试程序详解
来自http://www.vimer.cn熟练使用gdb是一个linux下开发人员必备的一项技能,我们由浅入深的学习一下gdb的强大功能。一.gdb简单介绍名称 gdb - GNU 调试器提要 gdb [-help] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps]转载 2012-06-21 12:54:48 · 529 阅读 · 0 评论 -
跟我一起写 Makefile(三)
Makefile 总述———————一、Makefile里有什么?Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。2、隐晦规则。由于我们的make有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略转载 2012-06-21 13:29:46 · 406 阅读 · 0 评论 -
Linux操作系统内核编译详解
时间:2005-06-19 作者:易捷 来源:易捷http://www.uplinux.com/www/dev/02/185.shtml 内核简介 内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Linux的一个重要的特点就是其源代码的公开性,所有的内核源程序都可以在/usr/src/linux下找到,大部分转载 2012-07-09 10:21:41 · 493 阅读 · 0 评论 -
Linux/Unix C 编程]之代码定位:__FILE__, __FUNCTION__, __LINE__
来自:http://hi.baidu.com/longhtml/blog/item/c7bcc6383d3bdcfbb311c706.html 这是三个非常有用的全局变量,当程序需要输出一些内容,而又想知道输出的内容是在哪里输出的时候,这几个全局变量就派上用场了。__FILE__,__FUNCTION__, __LINE__ 从名字可以直接看出来了,对应的:代码文件名转载 2012-07-09 10:22:17 · 768 阅读 · 0 评论 -
Linux 的多线程编程的高效开发经验
转自:http://blog.youkuaiyun.com/maopig/article/details/6772309#转载 2012-06-28 19:22:22 · 503 阅读 · 0 评论 -
LINUX聊天室50问
==================================== LINUX聊天室50问====================================1.问题:怎么实现多个终端?监听?2.一个聊天室程序,到底会分解成哪一些步骤呢?3.开启一个 Socket,绑定到另一个端口,并且一直监听此端口。4.服务器是得有很多个SOCKET,还是一个s转载 2012-07-10 14:46:12 · 779 阅读 · 0 评论 -
深入UNIX编程:一个简单聊天室的两种实现 (fcntl 和 select)
在互联网相当普及的今天,在互联网上聊天对很多“网虫”来说已经是家常便饭了。聊天室程序可以说是网上最简单的多点通信程序。聊天室的实现方法有很多,但都是利用所谓的“多用户空间”来对信息进行交换,具有典型的多路I/O的架构。一个简单的聊天室, 从程序员的观点来看就是在多个I/O端点之间实现多对多的通信。其架构如图一所示。这样的实现在用户的眼里就是聊天室内任何一个人输入一段字符之后,其他用户都可以得到这一转载 2012-07-10 17:02:38 · 766 阅读 · 0 评论 -
linux socket的select函数的解析与事例
包含两部分:linux—select详解和linux socket的select函数例子linux—select详解 select系统调用时用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,通过socket函数的声明就明白了:int socket(转载 2012-07-10 17:20:00 · 1111 阅读 · 0 评论