Linux-C
YinXinLion
这个作者很懒,什么都没留下…
展开
-
Linux之文件操作(1)
Linux下文件分类 (1)普通文件(regular file):这是最常见文件类型,这种文件包含了某种形式的数据。至于这种数据是文本还是二进制文件,对内核并无区别。对普通文件内容的解释由处理该文件的应用程序完成。 (2)目录文件(directory file):目录文件就是目录,目录也有访问权限,目录内容就是该目录下的文件和子目录信息,对一个目录文件具有读许可权的任意进程都可以读该目录的内容,原创 2015-07-27 16:45:59 · 417 阅读 · 0 评论 -
Linux之文件操作(2)
1.文件的输入输出 1.open(函数)#include #include int open(const char *pathname, int flags);int open(const char *pathname,int flags,mode_t mode);pathname是要打开或创建的含路径的文件名,第二个参数flags表示打开文件的方式。 O_RDONLY:以只读方原创 2015-08-07 10:32:27 · 555 阅读 · 0 评论 -
Linux编程—进程
1.进程的概念 进程是一个动态的实体,是程序的一次执行过程。进程是操作系统资源分配的基本单位。 Linux下可通过ps或pstree查看当前系统中的进程。 查询正在运行的程序 ps -eo pid,command,cmd PID:每个进程都有唯一的PID代表自己的身份。 COMMAND:进程的简称。 CMD:进程所对应的程序以及运行过程中所带的参数。 init是系统创建的第一个进程,该原创 2015-08-10 16:13:19 · 703 阅读 · 2 评论 -
fork()&&fork()||fork()
先回忆一下fork()函数 由fork创建的新进程被称为子进程(child process)。fork函数被调用一次,但返回两次。 1.在父进程中,fork返回新创建子进程的进程ID。 2.在子进程中,fork返回0。 3.如果出现错误,fork返回一个负值。子进程和父进程继续执行fork调用之后的指令。子进程是父进程的副本。例如,子进程获得父进程数据空间,堆和栈的副本。注意,这是子进程所拥原创 2015-08-27 23:20:07 · 2935 阅读 · 2 评论 -
Linux之文件操作(3)
文件属性操作 1.获取文件属性 stat/fstat/lstat函数#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>int stat(const char *file_name,struct stat *buf);int fstat(int filedes,struct stat *buf);int lstat原创 2015-08-07 21:38:01 · 633 阅读 · 0 评论 -
适配器模式(C++)
适配器:你什么样的需求,就给你提供什么样的服务虚函数(Warning) 1.一个虚函数,在派生类层界面相同的重载函数都保持虚特性 2.虚函数必须是类的成员函数 3.不能将友元说明为虚函数,但虚函数可以是另一个类的友元 (因为一个类里声明友元时 由于友元不是自己的成员函数,所以参考 注意事项2 ) 4.析构函数可以是虚函数,但构造函数不能是虚函数 如图(适配器模式) 简单的代码#incl原创 2016-03-16 21:30:31 · 355 阅读 · 0 评论 -
动态库和静态库
首先要理解 当程序运行时,该运行function这个函数,那么要进行跳转(1.绝对地址2.相对地址) 1.绝对地址:固定的地址,函数地址是0x1000,那么就跳到0x1000 2.相对地址:当前位置,到function函数定义差多少条指令,那么就从当前地址减去x条指令就能跳到function那。 动态库=共享库gcc -fPIC -c a.c //-fPIC 凡是用到地址的地方用相对地原创 2016-04-28 22:22:05 · 362 阅读 · 0 评论 -
Redis之链表
链表的介绍链表提供高效的节点重排能力,以及顺序性的节点访问方式,并通过增删节点来灵活调整链表长度。链表在Redis中的应用,例如,列表键的底层实现之一是链表。(当列表键包含的数量比较多的元素,或者包含的元素逗比比较长的字符串时,Redis就会使用链表作为列表键的底层实现)redis>LLEN integers(integer)1024redis>LRANGE integers 0 10 //从原创 2017-04-29 09:44:04 · 682 阅读 · 0 评论