- 博客(13)
- 收藏
- 关注
原创 进程间通信和同步—管道
半双工管道管道:将某个进程的输出和另一个进程的输入相连接的单向通信的方法。故称为“半双工” 在shell 中管道用“|”表示pipe()函数#include <unistd.h>int pipe(int filedes[2]);// filedes 文件描述符数组,用于保存管道返回的两个文件描述符。(第一个读,第二个写)// 成功返回0 否则 -1.例子在这里插入...
2019-07-15 23:32:11 526
原创 进程的产生方式
进程号每个进程初始化时,系统都分配一个ID号,用来标识进程,具有唯一性。getpid()函数#include <sys/types.h>#include <unistd.h>pid_t getpid(); // 获取当前进程IDpid_t getppid(); // 获取父进程ID通过命令 ps -x |grep 进程号, 可查询该进程。进程复制f...
2019-07-15 15:57:49 575
原创 进程
进程的产生过程。复制父进程的环境配置。在内核中建立进程结构将结构插入到进程列表,便于维护。分配资源给此进程。复制父进程的内存映射信息。管理文件描述符和链接点。通知父进程。终止方式(5种)终止进程时,系统会释放所有进程所拥有的资源。(如:内存,文件符,内核结构等。)从Main()返回调用exit. (在stdlib.h中,C的库函数)调用_exit.(在unistd.h...
2019-07-09 16:46:04 113
原创 read() / write()函数
Read()原型#include <unistd.h> 这个头文件 不加好像也不报错。ssize_t read(int fd,void* buf,size_t count);错误返回-1 成功返回 0; count 不能超过最大值SSIZE_MAX (32,767).见http://blog.chinaunix.net/uid-26858322-id-3311624.ht...
2019-07-04 14:56:09 238
原创 打开创建文件Open()、Create()函数
Linux中open() 用于打开已经存在的文件或者创建一个新文件create() 用于创建一个新文件。原型int open(const char *pathname,int flag);int open(const char *pathname,int flag,mode_t mode);...
2019-07-03 16:31:35 11315
转载 函数返回局部指针变量的问题
我们大家都知道指针函数的返回指针不能指向函数内的自动变量,如果需要返回函数的内部变量的话,就需要将该变量声明为静态变量。为什么函数能够返回 静态变量的地址而不能返回局部自动变量的地址,到底什么样的对象能够返回其地址,而什么样的对象不能够返回其地址?静态变量与局部自动变量的主要区别是什 么? 要想明白这些就需要理解程序的内存布局情况 程序的存储区域分为:代码段、只读数据段、已...
2018-12-03 15:20:38 723
原创 tuple元组
tuple 元组是一个固定大小的不同类型值得集合。是泛化的std::pair。可以将其当作一个通用的结构体来用,不需要创建结构体又获取结构体的特征,基本用法:tuple<const cha*,int>tp = make_tuple(sendPack,nSendSize);等价于struct A{ char* p; int len;}用std::tie,会创建一...
2018-06-07 00:07:38 582
原创 lambda表达式
含义lambda表达式定义了一个匿名函数,并可以捕获一定范围内的变量。语法:[capture] (params) opt -> ret {body};capture : 捕获列表。params : 参数列表。opt : 函数选项。ret : 返回类型。body : 函数体。当函数返回值很明显时可省略 返回值定义 。 auto p =[](int i){return i;}Capture ...
2018-06-06 23:33:49 143
转载 获取扩展屏以及CreateDC的使用
void CMulti_DisplayDlg::GetAllMonitors(){ std::list<DISPLAY_DEVICE> devices; std::list<DEVMODE> modes; int devId = 0; bool ret = false; bool isPrimary = false; //list all DisplayDevices (M...
2018-05-15 14:06:36 2251 1
转载 C++ 在Windows下截取整个屏幕 和 指定句柄窗口的屏幕
#include <windows.h>#include <stdint.h>#include <stdio.h>void ShootScreen(const char* filename, HWND hWnd){ HDC hdc = CreateDC("DISPLAY", NULL, NULL, NULL); int32_t Scr...
2018-05-15 14:02:52 6438 1
转载 Shlwapi介绍
Windows中有一个Shlwapi.dll文件,包含了大量的Windows字符串处理方法,这些方法,在通常的程序应用中,经常会用到,有一部分处理方法,在CRuntime中也存在,但不方便使用。有一部分函数,也有相关的Windows API函数,如StrCpy对应的lstrcpy之类的字符串处理函数。从Shlwapi名称看,这个应该是Windows的Shell API函数。 不管怎么说,Shl...
2018-04-23 11:23:30 3961
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人