linux C学习笔记02--共享内存
调试了下午,终于调通啦! 运行./c.out 输出共享内存中的内容,运行 ./c.out arg1 对共享内存区进行修改
下面先贴上main的代码:
#include <signal.h> //head file of define signal #include <pthread.h> #include <static_lib.h> #include <errno.h> #include <fcntl.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <sys/mman.h> extern int create_shm(char **shmptr); int main(int argc,char* argv[]) { //IPC share memory char *shmptr; if(create_shm(&shmptr) == -1) { printf("create_shm error \n"); return -1; } if(argc > 1) { //do the second thing for share memory while(1) { printf("input str to share memory:"); gets(shmptr); } } else { memcpy(shmptr,"hello",5); while(1) { sleep(2); printf("share memory is %s \n",shmptr); } } return 0; }
下面是共享内存创建的代码:
运行效果:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。