![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux下c语言开发细节
BirdFSS
谦逊平和,生活有常
展开
-
linux下的目录操作(未完成版)
需要对目录进行什么样的操作?1.创建和删除目录2.获取目录信息3.改变目录的访问权限4.获取、改变当前目录5.以后有的话再补充。1.创建和删除目录头文件#include<sys/stat.h>#include<sys/types.h>#include<unistd.h>函数int mkdir(const char *pathname, ...原创 2019-05-20 09:25:55 · 115 阅读 · 0 评论 -
MMAP使用(一、基本接口)
提问:mmap是什么?有什么用? mmap的接口怎么使用?每个参数又有什么作用?回答:1.mmap是什么?有什么用?mmap将一个文件或者其它对象映射进内存。mmap操作提供了一种机制,让用户程序直接访问设备内存,这种机制,相比较在用户空间和内核空间互相拷贝数据,效率更高。在要求高性能的应用中比较常用。mmap映射内存必须是页面大小的整数倍,面向流的设备不能进行mmap,mmap的...原创 2019-06-03 22:33:54 · 2230 阅读 · 0 评论 -
IPC之共享内存
1.提问1.什么是共享内存?2.使用环境(用来解决什么问题)是什么?3.接口是什么样的?如何使用?2.什么是共享内存?1. 两个或多个进程共享物理内存的同一块区域(通常被称为段)。由于一个共享内存段会成为一个进程用户空间内存的一部分,因此这种IPC机制无需内核介入。所有需要做的就是让一个进程将数据复制进共享内存中,并且这部分数据会对其他所有共享同一个段的进程可用。2. 优点...原创 2019-05-24 10:30:29 · 252 阅读 · 0 评论 -
Linux之异步I/O
提问:异步I/O(AIO)有哪些接口?如何使用? 为什么需要异步I/O?优缺点是什么?基本概念:在异步非阻塞 I/O 中,我们可以同时发起多个传输操作。这需要每个传输操作都有惟一的上下文,这样我们才能在它们完成时区分到底是哪个传输操作完成了。在 AIO 中,这是一个aiocb(AIO I/O Control Block)结构。这个结构包含了有关传输的所有信息,包括为数据准备的用户缓冲...原创 2019-06-05 10:49:24 · 313 阅读 · 2 评论 -
MMAP使用(二、参数相关分析)
1.内存保护和文件访问模式交互mmap映射需要文件描述符的读权限(即open时需要加上读权限),不然不能使用。 所有内存保护组合与使用O_RDWR标记打开文件是兼容的。 一些硬件架构不允许对一个分页的只写访问。prot值 描述 PROT_NONE 区域无法访问 PROT_READ 区域内容可读取 PROT_WRITE 区域内容可修改 PROT_EX...原创 2019-06-02 11:32:39 · 557 阅读 · 0 评论 -
Linux之网络编程(一)
提问:什么是网络编程?为什么需要网络编程? c语言提供了哪些结构体和接口?如何使用? TCP和UDP的区别?Linux之网络编程(一)(参考代码)https://blog.csdn.net/birdunderastarrysky/article/details/90631822使用SELECT实现即时聊天小程序目录提问:基本常识:英文缩写与全称:L...原创 2019-05-28 08:55:06 · 196 阅读 · 0 评论 -
Linux之线程同步——nptl线程库(二)(施工中)
Linux之线程同步——nptl线程库(二)(基础代码)https://mp.csdn.net/postedit/90573953提问:线程同步是什么意思?为什么需要线程同步?不同步会导致什么后果? 线程同步有什么方法,接口?如何使用? 如何使用线程条件变量?基本常识:临界区(critical section)是指访问某一共享资源的代码片段。 原子操作(atomic ...原创 2019-05-26 21:05:44 · 213 阅读 · 0 评论 -
Linux下基于文件描述符的文件操作
文件打开与关闭int open(const char* pathname, int flags);//文件名,打开方式int open(const char* pathname, int flags, mode_t mode);//文件名,打开方式 权限int create() //不常用int close(int fd);open出错时返回-1。flag表示打开或创建的方式...原创 2019-05-17 09:19:57 · 399 阅读 · 1 评论 -
消息队列
消息队列的原理消息队列允许进程以消息的形式交换数据。 消息队列进行的通信是面向消息的,即读者接收到写者写入的整条消息。读取一条消息的一部分而让剩余部分遗留在队列中或一次读取多条消息都是不可能的。这一点与管道不同,管道提供的是一个无法区分的字节流(即使使用管道时读者一次可以读取任意数量的字节数,不管写者写入的数据块大小是什么)。 除了包含数据外,每条消息还有一个用整数表示的类型。从消息队列中...原创 2019-05-22 09:30:54 · 97 阅读 · 0 评论 -
Linux之线程——nptl线程库(一)
提问:什么是线程?为什么需要线程? 如何使用线程?线程的使用接口? 线程的实际应用有哪些?可以与哪些技术结合?(这个以后我用了再来补充,或新开一节)基本常识:并发当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。.这种方式我...原创 2019-05-24 16:50:21 · 1769 阅读 · 5 评论 -
文件权限
提问:如何看linux中文件的权限?r,w,x,t,s五种权限分别表示什么意思?对于文件和目录有什么区别?如何修改linux中文件的权限?1.如何看linux中文件的权限?ls -l2.r,w,x,t,s五种权限分别表示什么意思?对于文件和目录有什么区别?r表示read,即可读,也就是可以访问该文件或者目录。w表示write,即可写,也就是可以修改该文件;可以增添或删改目...原创 2019-05-20 22:09:20 · 747 阅读 · 0 评论 -
Linux之利用文件描述符进行通知的定时器:timerfd API
目录提问:系统调用:1、创建2、设置3、获取定时器时间间隔和剩余时间4、timerfd与fork()及exec()之间的交互5、通过read()从timefd文件描述符读取到期信息测试代码:何时使用?参考资料:提问:如何使用timerfd API? 什么时候需要使用?系统调用:1、创建#include <sys/timerf...原创 2019-07-19 11:44:36 · 312 阅读 · 0 评论