- 博客(22)
- 收藏
- 关注
原创 使用共享内存实现IPC通信
共享内存的使用流程参考博文:https://www.cnblogs.com/LiuYanYGZ/p/14292524.html1.向内核申请一块指定大小的内存2.如果有两个进程,需要通信,可以使用这块共享内存来完成,先创建出这两个进程。进程A进程B3.进程A和进程B分别和共享内存进程关联,拿到共享内存的地址——>首地址。4.两个进程可以通过这个首地址对共享内存进行读/写操作。5.如果这个进程不再使用这块共享内存,需要和共享内存断开关联。进程退出,对共享内存是没有任何影响的。6.
2022-04-15 14:39:08
834
原创 使用pipe()创建无名管道例子
使用pipe()创建无名管道利用管道进行通信时,管道中无数据时,读操作会阻塞,管道满时,写操作会阻塞。即保证了一次只有一个进程访问管道,满足了互斥的需求。此程序,四个子程序共用一个管道,实现十万个数相加,每个进程实现两万个数相加,并把结果传递给父进程,父进程再把四个子进程的结果相加/*使用pipe()创建无名管道利用管道进行通信时,管道中无数据时,读操作会阻塞,管道满时,写操作会阻塞。即保证了一次只有一个进程访问管道,满足了互斥的需求。此程序,四个子程序共用一个管道,实现十万个数相加,每
2022-04-07 11:22:40
599
原创 memset()函数笔记
https://blog.youkuaiyun.com/qq_27522735/article/details/53374765?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164921520516780357272367%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164921520516780357272367&
2022-04-06 14:41:55
423
转载 open函数的参数和作用
参考:https://blog.youkuaiyun.com/ArchyLi/article/details/78937937?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164920877216780264013378%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164920877216780264013378&
2022-04-06 09:56:36
425
原创 系统调用与库函数的关系
系统调用与库函数1、系统调用操作系统负责管理和分配所有的计算机资源。为了更好地服务于应用程序,操作系统提供了一组特殊接口——系统调用。通过这组接口用户程序可以使用操作系统内核提供的各种功能。例如分配内存、创建进程、实现进程之间的通信等。用户程序向操作系统提出请求的接口就是系统调用。所有的操作系统都会提供系统调用接口,只不过不同的操作系统提供的系统调用接口各不相同。Linux 系统调用接口非常精简,它继承了Unix 系统调用中最基本的和最有用的部分。这些系统调用按照功能大致可分为进程控制、进程间
2022-04-02 16:39:00
1494
原创 多进程创建的fork()函数
多进程创建fork()fork在英语中是“分叉”的意思。为什么取这个名字呢?因为一个进程在运行中,如果使用了fork函数,就产生了另一个进程,于是进程就“分叉”了。fork函数会返回两次,一次是在父进程中返回,另一次是在子进程中返回,这两次的返回值是不一样的。fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值:(1)在父进程中,fork返回新创建子进程的进程ID;(2)在子进程中,fork返回0;(3)如果出现错误,fork返回一个负值。调用fork之后,
2022-04-02 11:29:12
438
原创 pid_t pid = fork()
讲一下pid_tpid_t pid = fork();这句的意思是,父进程创建一个子进程,返回值为子进程的编号用pid_t类型的变量pid 来记录这个fork()返回值子进程编号。pid_t其实是一个typedef定义类型,用它来表示进程ID类型,在头文件sys/types.h中,typedef short pid_t ;pid_t就是一个short类型变量,就是一个short的数字而已,实际表示的是内核中的进程表的索引。头文件里也不过是个typedef而已,使用pid_t而不使用int 是为了
2022-04-02 09:46:50
4440
1
原创 Linux下c语言多线程编程
创建线程函数pthread_create()和等待线程函数pthread_join()的用法。注意:在创建线程pthread_create()之前,要先定义线程标识符:pthread_t 自定义线程名;例子1:创建线程以及等待线程执行完毕。#include <stdio.h>#include <stdlib.h>#include <pthread.h>//线程要运行的函数,除了函数名myfunc,其他全都是固定的。void* myfunc(){ p
2022-03-30 18:01:54
11825
1
原创 vim代码提示和自动补全以及括号的自动补全
代码提示和自动补全装一个 Autocomplpop插件首先,从http://www.vim.org/scripts/script.php?script_id=1879处 下载autocomplpop文件。我在window上下载下来然后通过共享文件夹搬到Linux里面去。下载的是一个zip文件。解压unzip vim-autocomplpop.zip解压后会有三个文件夹,分别是autoload,doc,plugin。sudo mv autoload/ /usr/share/vim/vim81
2022-03-30 13:52:20
6464
1
原创 多线程编程的基本函数
参考文档:1.https://blog.youkuaiyun.com/mybelief321/article/details/9377379?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164860089616782089355481%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=1648600896167820893554
2022-03-30 09:00:41
122
原创 多文档开发的概念以及Makefile的基本编写
多文档开发:一人写一个.h文件,然后gcc -c成.o文件,最后总的gcc main.o add.o sub.o -o math.exe链接生成可执行文件。main.c#include "add.h"#include "sub.h"#include <stdio.h>int main(){ int n = 10,m = 20; printf("%d+%d = %d\n",n,m,add(n,m)); printf("%d-%d = %d\n",n,m,sub(n,m));
2022-03-28 17:46:23
108
原创 vim永久显示行号
vim永久显示行号如果想让vim永久显示行号,则需要修改vim配置文件vimrc。如果没有此文件可以创建一个。在启动vim时,当前用户根目录下的vimrc文件会被自动读取,因此一般在当前用户的根目录下创建vimrc文件,即使用下面的命令:https://blog.youkuaiyun.com/electrocrazy/article/details/79035216在打开的vimrc文件中最后一行输入:set number ,然后保存退出。再次用vim打开文件时,就会显示行号了...
2022-03-25 17:13:27
1160
原创 打开虚拟机电脑就重启和虚拟机不兼容hyper - v无法开启的解决方案。
解决方法:打开控制面板中程序与功能中的启用和关闭windows功能,找到Windows虚拟机监控程序平台并打开,然后重启,这样就可以解决虚拟机一打开电脑就显示报错并立即重启的问题。问题二:虚拟机不兼容hyper - v无法开启解决方法:搜索power shell,输入以下命令,即可关闭hyper-v,然后重启即可解决。bcdedit /set hypervisorlaunchtype off意为虚拟机监控程序启动类型关闭参考:https://www.cnblogs.com/-xuan/articl
2022-03-25 17:11:08
5807
1
原创 安装及配置Samba的过程和遇到的问题解决
安装及配置Samba我的主机:192.168.11.63我的虚拟机:192.168.74.128过程中的参考文章:https://blog.youkuaiyun.com/LoserFei/article/details/1065605891.安装sambasudo apt-get install sambasudo apt-get install smbclientSamba在安装和配置上很简单,难的在于它的网络环境上的配置,涉及到防火墙、子网、路由等地方出问题。大部分原因不是安装上的问题,而是防火墙、
2022-03-25 17:07:57
4483
原创 用链表实现学生信息管理系统
#include <stdio.h>#include <stdlib.h>#include <string.h>//学生信息结构体typedef struct Student{ int id; //4位编号 int num; //6位学号 char name[50]; //姓名 double score; //成绩 } STU; //链表节点的结构体typedef struct NODE{ STU date; //数据
2022-03-25 16:53:31
5945
2
原创 链表尾插法
//尾插法自练#include <stdio.h>#include <stdlib.h>//建立节点的结构体 typedef struct NODE{ int date; struct NODE *next; }NODE;//函数声明 NODE *Create_list(NODE *head);void Print(NODE* head);int main(){ NODE *head = NULL;//声明NODE结构体类型的头指针并初
2022-03-24 14:17:29
2907
原创 链表头插法
#include <stdio.h>#include <stdlib.h>typedef struct Node{ int date; //数据域 struct Node *next; //存储节点的地址 }LNode,*Linklist; Linklist Creat_list(Linklist head); void Illustrate(Linklist head)//输出每个节点的数据域 函数 { Linklist tem = head;//
2022-03-23 15:30:33
4107
原创 tensorflow2.1成功安装检验
之前看了很多其他的博文,关于sess的报错问题,原因是sess是旧版的tensorflow的模块,而2.1版本的已经没有这个模块了。下面给出旧版本的检验安装成功程序,以及2.1版本的。tensorflow运行出现AVX警告报错问题:import tensorflow as tfimport os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' # 忽略...
2020-04-30 17:53:19
2125
原创 python截取图片的ROI+OpenCV 在坐标中显示图片+鼠标点击图片显示点坐标
又来做下笔记了。现在我的毕业设计进行到数据处理的阶段,要在乳腺图像上截取4张相同大小的1024*1024图片,并且每张图片都必须覆盖微钙化点,以下是我现在用到的一些简单程序。1.首先是截图程序如下:import numpy as npimport cv2img = cv2.imread('E:\desktop\cal\mdb209ll.pgm',1)#加载图片cutimg = img[...
2020-04-30 17:50:49
3836
原创 用python截取图片
import numpy as npimport cv2img = cv2.imread('E:\desktop\cal\mdb209ll.pgm',1)#加载图片cutimg = img[0:2354,0:2638]# 其中截取的是[y1:y2,x1:x2],x1y1为左上角顶点坐标,x2y2为右下角顶点坐标#在图像里,都是以原图的左上顶点为原点,行对应的是y坐标,列对应的是x坐标。...
2020-04-29 23:37:14
649
原创 python+opencv生成给定点坐标和半径的mask掩膜
为了毕业设计刚学的一丁丁点的python还有opencv库的一些函数,下面这个网页有介绍最基本的图像处理的函数,给了身为小白的我很大的帮助。https://www.itread01.com/content/1550307786.html程序如下:import cv2import numpy as np# 输入图片imgName = 'E:/desktop/cal/mdb209.pgm'...
2020-04-21 02:04:54
2239
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人