
linux系统编程
东晋偏安
天行健,君子以自强不息!
展开
-
[Linux] [阅读] [APUE] - 第一章 UNIX基础知识
程序清单1-1:列出指定目录中所有文件的名字,即命令ls的简要实现 #include "apue.h" #include <dirent.h> int main(int argc, char *argv[]) { DIR *dp; struct dirent *dirp; if (argc != 2) ...原创 2019-01-31 14:42:25 · 235 阅读 · 0 评论 -
STDIN_FILENO/STDOUT_FILENO与 stdin/stdout 的区别
STDIN_FILENO的作用及与stdin 的区别 1.STDIN_FILENO的作用 STDIN_FILENO属于系统API接口库,其声明为 int 型,是一个打开文件句柄,对应的函数主要包括 open/read/write/close 等系统级调用。 操作系统一级提供的文件API都是以文件描述符来表示文件。STDIN_FILENO就是标准输入设备(一般是键盘)的文件描述符。 2.区别...转载 2019-02-01 10:27:43 · 634 阅读 · 0 评论 -
Linux系统中动态库和静态库的区别
Linux系统中“动态库”和“静态库”那点事儿 今天我们主要来说说Linux系统下基于动态库(.so)和静态(.a)的程序那些猫腻。在这之前,我们需要了解一下源代码到可执行程序之间到底发生了什么神奇而美妙的事情。 在Linux操作系统中,普遍使用ELF格式作为可执行程序或者程序生成过程中的中间格式。ELF(Executable and Linking Format,可执行连接格式)是UNIX系...转载 2019-02-22 09:32:11 · 234 阅读 · 1 评论 -
Linux IO模式及 select、poll、epoll详解
Linux IO模式及 select、poll、epoll详解 注:本文是对众多博客的学习和总结,可能存在理解错误。请带着怀疑的眼光,同时如果有错误希望能指出。 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。 本文讨论的背景是Linux环境下的network IO。 一 概念说明 在进行...转载 2019-02-25 15:14:29 · 183 阅读 · 0 评论 -
[Linux] [阅读] [APUE] - 第三章 文件I/O
本章需要关注的是 文件共享的描述(File Sharing),如下。 The UNIX System supports the sharing of open files among different processes. Before describing the dup function, we need to describe this sharing. To do this, ...原创 2019-02-20 14:23:30 · 159 阅读 · 0 评论 -
linux硬链接和软链接的区别
linux硬链接和软链接的区别 一、原理、使用限制和命令上的区别 1.原理上: 硬链接(hard link):A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的...转载 2019-03-02 09:10:45 · 229 阅读 · 0 评论