自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Liunx系统进程通信方式——匿名管道与有名管道(附:进程间的简易聊天室)

本文简要概述了Linux系统中,进程间相互通信的两种方法。其中,匿名管道适合有亲缘关系的两进程通信;而有名管道可以允许任意两进程之间的通信。在介绍了匿名/有名管道的原理以及相关系统调用后,利用有名管道与多线程实现了本机两个进程间的实时聊天系统。文章目录一、匿名管道1.匿名管道简介2. 简单示例程序二、有名管道1. 有名管道简介2.示例程序(两进程间的聊天系统)一、匿名管道1.匿名管道简介管道是半双工的。一端写入,一端读取数据一旦从管道中取出,就会从管道中删除,释放空间以便于写入更多的数据。匿

2021-11-24 15:55:14 324

原创 Linux系统与进程有关的系统调用

本文主要展示了如下系统调用的使用说明,并做了演示程序。getpidgetppidforkwaitpidexec文章目录一、进程相关的系统调用1.查询进程的ID2.创建进程3.进程资源回收4.进程退出二、 exec()函数族二、示例程序1.示例程序12.示例程序2一、进程相关的系统调用1.查询进程的IDgetpid返回当前进程的pid,getppid则返回当前进程父进程的pid。pid_t实质上是int类型头文件以及函数声明如下:#include <sys/t

2021-11-20 13:56:17 2579 1

原创 Linux系统目录操作的系统调用

文章目录一、目录操作函数1. mkdir库函数2. rmdir库函数3. rename库函数4.chdir库函数5. getcwd库函数6.示例程序二、目录遍历函数1. opendir库函数2.readdir库函数3. closedir库函数4. 示例程序一、目录操作函数1. mkdir库函数在指定路径下创建一个目录,参数mode指定了该目录的权限。如果目标目录已经存在,则报错File exists。创建成功返回0,如果失败则返回-1.下面是mkdir库函数需要引入的头文件与函数声明。#incl

2021-11-14 19:38:56 1072

原创 Linux系统文件读写的系统调用

文章目录一、文件的打开与关闭1.open2.close二、文件的读和写1.read2.write三、文件指针的移动lseek5.演示程序一、文件的打开与关闭1.open需要引入头文件:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>函数声明:int open(const char *pathname, int flags);int open(const char *pathna

2021-11-13 21:39:14 1358

原创 Linux系统静态库与动态库文件的制作与使用

文章目录一、库文件二、静态库的制作与使用1.命名规范2.静态库的制作3.示例三、动态库的制作与使用1.命名规则2.动态库的制作3.示例一、库文件库文件是计算机上的一类文件,是二进制文件。库文件有两种:静态库与动态库静态库在程序的链接阶段被复制到程序中动态库在程序运行时由系统动态加载到内存中使用库的优点:代码保密C/C++反编译的还原度很低,但是Java还原度可以达到95%以上二、静态库的制作与使用1.命名规范不同的操作系统,对于静态库的名称有命名规范。Lin

2021-11-13 21:35:39 820

原创 Linux系统gcc/g++的简单使用

目录1.直接编译2.预处理3.编译成汇编代码4.汇编,生成目标文件5.链接对于C/C++代码,生成可执行文件前经过如下若干步:预处理器:源代码 .cpp/.h/.c 经过预处理器处理后生成 .i 的代码文件编译器:将 .i 文件翻译成 .s 的汇编代码汇编器:将 .s 的汇编代码翻译成 .o 的目标代码链接器:将 .o 的目标代码与库文件、其他目标代码等链接生成最终的可执行程序。我们创建了helloworld.cpphelloworld.cpphelloworld.cpp文件。#incl

2021-11-13 21:31:13 1878

原创 算法导论OJ-Vigenère 密码

算法导论OJ-Vigenère 密码一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、题目分析三、代码一、原题目1.题目描述16 世纪法国外交家 Blaise de Vigenère 设计了一种多表密码加密算法——Vigenère 密码。Vigenère 密码的加密解密算法简单易用,且破译难度比较高,曾在美国南北战争中为南军所广泛使用。在密码学中,我们称需要加密的信息为明文,用 M表示;称加密后的信息为密文,用 C表示;而密钥是一种参数,是将明文转换为密文或将密文转换为明文的算法中

2021-11-09 16:27:33 108

原创 算法导论OJ-数据加密

算法导论OJ-数据加密一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、题目分析三、代码一、原题目1.题目描述密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据

2021-11-09 16:17:35 173

原创 算法导论OJ-汽车费用

算法导论OJ-汽车费用一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、题目分析三、代码一、原题目1.题目描述一个特别的单行街道在每公里处有一个汽车站。顾客根据他们乘坐汽车的公里使来付费。例如下表就是一个费用的单子。没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1<=n<100),它可以通过无限次的换车来完成旅程。最后要求费用最少。2.输入第一行十个整数分别表示行走1到10公里的费用(<=500)。注意这些数并无实际的经济意义,即行驶10公里费用可能

2021-11-06 13:55:10 202

原创 算法导论OJ-哈夫曼编码

算法导论OJ-哈夫曼编码一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、代码一、原题目1.题目描述给定一只含有小写字母的字符串;输出其哈夫曼编码的长度2.输入第一行一个整数T,代表样例的个数,接下来T行,每行一个字符串,0<T<=2000,字符串长度0<L<=1500.3.输出对于每个字符串,输出其哈夫曼编码长度4.样例输入3hrvshlcxeasexdphiopdmntflolfbtbpplahqolqykrqdnwdoq

2021-11-06 13:42:09 279

原创 算法导论OJ-跳台阶

算法导论OJ-跳台阶一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、代码一、原题目1.题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。2.输入多组测试样例。每组测试样例包含一个整数n。(1<=n<=100)3.输出每组测试样例输出一行,表示青蛙跳上n级台阶的跳法数量.所得到的结果模10000000074.样例输入345.样例输出35二、代码#include<iostrea

2021-10-27 21:50:53 102

原创 算法导论OJ-奶牛的聚会

算法导论OJ-沙子的质量[dp+前缀和]一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、代码一、原题目1.题目描述农历新年马上就要到了,奶牛们计划举办一次聚会庆祝新年的到来。但是,奶牛们并不喜欢走太远的路,这会给他们的聚会带来消极情绪,当一头奶牛的消极指数为Wi,他参加聚会所需行走的距离为si,那么他就会给聚会带来Si3*Wi的消极情绪。所有奶牛所在位置都在一条直线上,已知所有奶牛的坐标和消极指数,求如何确定聚会地点,使得所有奶牛给聚会带来的消极情绪之和最小,输出消极情绪之和的最小

2021-10-27 21:49:01 187

原创 算法导论OJ-快速幂

算法导论OJ-快速幂一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、代码一、原题目1.题目描述给定f(x)f(x)f(x),求f(x)f(x)f(x)对100000007取余的结果,其中:f(x)=∑i=1xpow(i,i)+1f(x)=\sum_{i=1}^{x}pow(i,i) + 1f(x)=i=1∑x​pow(i,i)+12.输入多组测试样例,最多50组。每组测试样例给定一个整数x(1<=x<=25000)3.输出对每个样例,输出一行,代表f(

2021-10-27 18:12:30 440 1

原创 算法导论OJ-沙子的质量[dp+前缀和]

算法导论OJ-沙子的质量[dp+前缀和]一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、题目分析三、代码一、原题目1.题目描述设有N堆沙子排成一排,其编号为1,2,3,…,N(N< =300)。每堆沙子有一定的数量,可以用一个整数来描述,现在要将N堆沙子合并成为一堆,每次只能合并相邻的两堆,合并的代价为这两堆沙子的数量之和,合并后与这两堆沙子相邻的沙子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同,如有4堆沙子分别为1 3 5 2我们可以先合并1、2堆,代价为4,

2021-10-26 22:01:19 412 1

原创 算法导论OJ-最长公共子序列

算法导论OJ-最长公共子序列一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、题目分析三、代码一、原题目1.题目描述一个字符串A的子串被定义成从A中顺次选出若干个字符构成的串。如A=“cdaad" ,顺次选1,3,5个字符就构成子串" cad" ,现给定两个字符串,求它们的最长共公子串。2.输入第一行两个字符串用空格分开。两个串的长度均小于2000 。3.输出输出一个整数,最长子串的长度。4.样例输入abccd aecd5.样例输出3二、题目分析经典的最长公共子序列

2021-10-26 20:52:01 274

原创 算法导论OJ-锯木棒

算法导论OJ-锯木棒一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、题目分析三、代码一、原题目1.题目描述xiaok大佬最近再雇佣工人给他掰木棒。把一根长为L的木棒锯成两段,他需要支付给工人L元钱。xiaok大佬一开始只有长为L的一根木棒,他想把它锯成n段,每段长度分别为L1,L2,…,Ln,问xiaok大佬最少要付给工人多少钱?2.输入第一行两个整数n,L(1<n<103,n<L<109)第二行n个整数L1,L2,…,Ln(0<Li<L,且

2021-10-26 20:34:04 692

原创 C++/Qt框架下的简易计算器

C++/Qt框架下的简易计算器1.简易计算器-介绍该项目目标是设计开发一个支持连续计算的简易计算器,通过单击按钮,输入并完成如4+5+6或5×8+16类似的各种连续计算,并将运算结果显示在输出文本框中,同时也具备清空、后退等基础功能。并适当拓展了计算器的功能。最终实现了括号的使用、求余Mod、开方、自然对数以及简单的三角函数的运算,同时实现了“运算历史记录”的功能。2.项目说明本项目基于C++/Qt框架开发,Qt相关版本如下:Qt Creator == 4.8.2MinGW == 5.3.0 3

2021-08-14 22:13:28 475

原创 基于pytorch的手写数字识别及展示

基于pytorch的手写数字识别(窗口交互展示预测结果1.介绍在pytorch框架下的基于MNIST数据集的可视化的手写数字识别项目(作为学习视觉以及pytorch的练手项目,比较简陋,存在很多错误)程序提供画板,在画板上手写数字后可以立即判断出结果。2.版本python–3.7.8PyQt5–5.15.4numpy–1.19.5torch–1.9.0+cu1113.下载全部源码已经放在GitHub与Gitee上。Github地址:https://github.com/Chen-W

2021-08-11 22:05:20 176

空空如也

空空如也

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

TA关注的人

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