自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DSs

学习博客,很多都是从大神处抄来的,供自己学习之用,没有申明出处的,请大神见谅。万分抱歉

  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 IPC - Unix - 共享内存

1、共享内存共享内存允许两个或多个进程共享一给定的存储区,是最快的一种进程间通信机制。对于像管道和消息队列等通信方式,需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据:一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,再重新建立共享内存区域。而是保持共享区域,直到通信完毕为止,这样,数据内容一直保存在共享内存中,并没有写回文件。共享内存中的内容往往是在解除映射时才写回文件的。因此,采用共享内存的通信方

2021-02-24 18:50:21 291

原创 iPC - Unix - 信号

1、signal - 捕获信号signal 函数的使用方法简单,但并不属于 POSIX 标准,在各类 UNIX 平台上的实现不尽相同,因此其用途受到了一定的限制。 功能 简单的信号处理函数(信号捕捉函数) 头文件 #include <signal.h> 原型 typedef void (*sighandler_t)(int); //信号处理函数的 指针 sighandler_t signal(int signum, sighan...

2021-02-22 15:49:34 206

原创 IPC - Unix - 消息队列

1、消息队列消息队列是一个存放在内核中的消息链表,每个消息队列由消息队列标识符标识。与匿名管道不同的是消息队列存放在内核中,只有在内核重启(即操作系统重启)或者显式地删除一个消息队列时,该消息队列才会被真正的删除。用户可以从消息队列中读取数据和添加消息,其中发送进程添加消息到队列的末尾,接收进程在队列的头部接收消息,消息一旦被接收,就会从队列中删除。和FIFO有点类似,但是它可以实现消息的随机查询,比FIFO具有更大的优势(比如按消息的类型字段取消息)。2、msqid_dsLinux内核中,每个

2021-02-20 15:51:38 304

原创 文件管理 - C/C++,Window/Linux

C 语言#include <stdio.h>//相关APIFILE *fopen( const char * filename, const char * mode );int fclose( FILE *fp );int fputc( int c, FILE *fp );int fputs( const char *s, FILE *fp );int fgetc( FILE * fp );char *fgets( char *buf, int n, FILE *fp );

2021-01-29 17:32:08 112

原创 线程 - Window

#include "stdafx.h"#include <Windows.h>#include <iostream>using namespace std; DWORD WINAPI ThreadFuncFirst(LPVOID param){ int iCount = 50; while(iCount--){ cout<<"\nThreadFuncFirst:"<<iCount; } return 0;}DWORD WINA.

2020-12-31 14:46:09 57

原创 同步 - 信号量

#include "stdafx.h"#include<windows.h>#include<iostream>using namespace std; int number = 1; //定义全局变量HANDLE hSemaphore; //定义信号量句柄 unsigned long __stdcall ThreadProc1(void* lp){ long count; while (number < 100) { .

2020-12-31 14:40:25 542 1

原创 同步 - 概念

关于线程同步线程之间通信的两个基本问题是互斥和同步。线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。 线程互斥是指对于共享的操作系统资源(指的是广义的”资源”,而不是Windows的.res文件,譬如全局变量就是一种共享资源),在各线程访问时的排它性。当有若干个线程都要使用某一共享资源时,任何时刻最多只允许一个线程去使用,其它要使用该资源的线程必须等待,直到占用资源者释放该资源。线程互斥是一种特殊的线程同

2020-12-31 13:47:02 1159

原创 同步 - 互斥量

//main.cpp#include <windows.h>#include <iostream>DWORD WINAPI Fun_1(LPVOID p);DWORD WINAPI Fun_2(LPVOID p);HANDLE h_mutex;unsigned int counter = 0;int main(){ h_mutex = CreateMutex(nullptr, false, nullptr); HANDLE h1 = Creat.

2020-12-31 13:43:30 92

原创 同步 - 事件

//main.cpp#include <windows.h>#include <iostream>DWORD WINAPI Fun_1(LPVOID p);DWORD WINAPI Fun_2(LPVOID p);HANDLE h_event;unsigned int counter = 0;int main(){ h_event = CreateEvent(nullptr, true, false, nullptr); SetEvent(h_.

2020-12-31 11:48:33 446

原创 同步 - 临界区

//header.h#ifndef CRTC_SEC_H#define CRTC_SEC_H#include "windows.h"class RAII_CrtcSec{private: CRITICAL_SECTION crtc_sec;public: RAII_CrtcSec() { ::InitializeCriticalSection(&crtc_sec); } ~RAII_CrtcSec() { ::DeleteCriticalSection(&...

2020-12-31 11:43:51 138

转载 Zlib库-1.2.11 的函数说明

zlib库函数的使用1、int compress(Bytef *dest, uLongf *destLen, const Bytef* source, uLong sourceLen);compress函数将source缓冲区的内容压缩到dest压缩区。sourceLen表示source缓冲区的大小(以字节计)。destLen是传址调用,当调用函数的时候,destLen表示dest缓冲...

2018-08-17 13:54:26 919

转载 已编译 Zlib库-1.2.11(zip解压库)- 加载到项目中及其使用方法

第一个版本:通过加载静态链接库zlibstat.lib使用zlib   1). 打开Visual Studio 2010,建立一个Win32 Console Application工程,假设名字是test   2). 打开"zlib-1.2.5-2\contrib\testzlib\testzlib.c",打开,将其内容复制到新建工程的test.cpp中。       注意保留 #...

2018-08-17 13:45:27 5083 3

转载 VS2010 编译 Zlib库-1.2.11(zip解压库)

第一个版本:本文主要介绍在Windows 7 64bit操作系统下,利用Visual Studio 2010,如何安装,生成,并使用zlib 1.2.5。(1). 首先,使用Visual Studio 2010编译生成zlib 1.2.5版本的静态和动态链接库。(2). 然后,通过加载静态链接库zlibstat.lib,实现对简单txt文档的压缩与解压缩。(3). 最后,通过调用动态链接...

2018-08-17 13:41:20 4872 2

C++的帮助文档

C++的帮助文档,内容还算完整。C++的帮助文档,内容还算完整。C++的帮助文档,内容还算完整。C++的帮助文档,内容还算完整。C++的帮助文档,内容还算完整。

2018-06-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除