系统编程
文章平均质量分 80
算了咯,还能咋样
这个作者很懒,什么都没留下…
展开
-
系统调用和库函数调用的区别
Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。系 统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底层调用的意思。面向的是硬 件。而库函数调用则面向的是应用开发的,相当于应用程序的api,采用这样的方式有很多种原因 ,第一:双缓冲技术的实现。第二,可移植性。第三,底层调用本身的一些性能方面的缺陷。第转载 2018-02-01 11:24:55 · 309 阅读 · 0 评论 -
进程间通讯之消息队列
#include #include #include #include #include struct msg_buf { int mtype;/*标识位*/ char data[255]; }; int main() { key_t key; int msgid;原创 2018-01-30 09:53:43 · 187 阅读 · 0 评论 -
进程间通信——管道部分
int filedes[2]; pipe(filedes);//这样这个含有两个元素的int型数组就变成了管道 无名管道只能用于父子进程间的通信 filedes[1]用于向管道中写入数据 filedes[2]用于从管道中读出数据 ssize_t read(int fd,void *buf/*buf所指向的那一块区域*/ size_t count/*fd所指向的文件传送count个字节到b原创 2018-01-30 11:44:59 · 150 阅读 · 0 评论 -
聊天室2.0.4
主要实现的功能: 普通成员:注册,登录,私聊,群聊,保存聊天记录,改密码,下线,注销账号, 查询在线人员名单,查询离线人员名单,查询在线人员人数, 查询离线人员人数等 ...原创 2018-02-15 18:08:07 · 279 阅读 · 0 评论 -
进程中线程同步的四种方式
1、 临界区(CCriticalSection) 当多个线程访问一个独占性共享资源时,可以使用临界区对象。拥有临界区的线程可以访问被保护起来的资源或代码段,其他线程若想访问,则被挂起,直到拥有临界区的线程放弃临界区为止。具体应用方式: 1、 定义临界区对象CcriticalSection g_CriticalSection; 2、 在访问共享资源(代码或变量)之前,先获得临界区...转载 2018-09-05 19:26:17 · 752 阅读 · 0 评论 -
Windows 下C++ 利用管道通信获得子进程的输出
下面是父进程的代码,注意创建管道时CreatePipe()函数的第三个参数一定要有,否则从管道中度不输数据 #include <iostream> #include <windows.h> #include <tchar.h> using namespace std; int main() { STARTUPINFO si = {0}; PROCESS_...原创 2019-09-26 20:59:23 · 1745 阅读 · 0 评论