![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux 普通编程
文章平均质量分 80
liduxun
这个作者很懒,什么都没留下…
展开
-
linux ar命令
当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量。这里介绍命令ar,用来对库操作。1.ar基本用法 ar命令可以用来创建、修改库,也可以从库中提出单个模块。库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组转载 2014-07-22 16:57:03 · 472 阅读 · 0 评论 -
一个例子叫你理解缓冲输入与非缓冲输入,以及流的概念:论read与fget open与fopen的区别
首先讲一下基本概念本文假设你已经基本了解标准IO库函数fopen fgets setbuf等和非缓冲IO库函数open write read lseek等。这里只就他们的区别加以阐述,并以最简单的程序实现他们之间差异的体现。让你理解流,缓冲,非缓冲的概念。 一、缓冲输入与非缓冲输入。fopen,fgets等属于缓冲输入,open,write,read系列属于非缓冲。 APU原创 2014-08-14 10:32:31 · 1941 阅读 · 0 评论 -
信号量互斥量解析
在计算机操作系统中,PV操作是进程管理中的难点。首先应弄清PV操作的含义:PV操作由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下: P(S):①将信号量S的值减1,即S=S-1; ②如果S³0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。 V(S):①将信号量S的值加1,即S=S+1;转载 2014-10-31 10:09:09 · 3756 阅读 · 0 评论 -
文件共享表
文件描述符 File Descriptors文件描述标志 File Descriptors Flag文件状态标志 File Status Flag原创 2014-10-10 10:49:08 · 509 阅读 · 0 评论 -
fcntl()应用
fcntl函数(改变打开文件的属性):(用man fcntl看fcntl的帮助文档)#include//这个头文件在/usr/include/bits/fcntl.h#include #include int fcntl(int filedes,int cmd,...);上边一行等价于:int fcntl(int filedes,int cmd,long arg);in转载 2014-10-10 10:45:09 · 673 阅读 · 0 评论 -
Git 基本概念解释
1. Working Directory(工作目录)Git的工作目录是保存当前正在工作的文件所在的目录,和working tree是相同的意思。在这个目录中的文件可能会在切换branch时被GIT删除或者替换。这个目录是个临时目录,临时存储你从GIT库中取出的文件,这些文件一直会被保存,直到下次提交。原创 2014-09-29 13:22:55 · 585 阅读 · 0 评论 -
linux 环境变量
1. 显示环境变量HOME $ echo $HOME /home/redbooks 2. 设置一个新的环境变量hello $ export HELLO="Hello!" $ echo $HELLO Hello! 3. 使用env命令显示所有的环境变量 $ env HOSTNAME=redbooks.safe.org PVM_RSH=/usr/bin/转载 2014-07-22 11:36:32 · 459 阅读 · 0 评论 -
堆和栈的区别 (转贴)
堆和栈的区别 (转贴) 非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由转载 2014-07-25 14:59:45 · 460 阅读 · 0 评论 -
GCC常用命令总结
在Linux环境下,我们通常用gcc将C代码编译成可执行文件,如下就是一个简单的例子: 代码文件:hello.c #include #include void main(void) { printf("hello world!\r\n"); }可以通过如下指令来编译出一个可执行文件:转载 2014-08-19 09:37:51 · 570 阅读 · 0 评论 -
同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO
同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blocking IO是一个东西。这其实是因为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(context)也不转载 2014-08-04 16:53:51 · 3186 阅读 · 0 评论 -
Linux epoll详解
Linux epoll详解一、什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linuxkernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O转载 2014-08-11 14:54:05 · 527 阅读 · 0 评论 -
Linux - select详解
Linux - select详解(二) Part 1: Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须 等待某个事件的发生,如果事件没有发生,进程或线程就被阻转载 2014-08-11 15:26:11 · 452 阅读 · 0 评论 -
vim配置及插件安装管理
转载地址: http://blog.csdn.net/namecyf/article/details/7787479转载 2014-07-21 09:47:07 · 533 阅读 · 0 评论 -
头文件,链接库,编译汇总
在linux下代码开发过程中,一个程序从编译生成,到运行过程中必须不能忽略的地方: 1.程序在编译时,源码所需要的库(静态库和动态库)及头文件编译器是去哪找的?(库及头文件的查找) 2.当输入一个命令时,系统时如何找到这个命令的?(命令的查找) 3.程序在运行时,它所需要的转载 2016-02-15 15:22:47 · 1548 阅读 · 0 评论