- 博客(140)
- 资源 (4)
- 收藏
- 关注
原创 c++ 打印当前时间(精确到毫秒)
但是因为一些情况,我开多线程开的不方便打印结束时间,同事跟我说那你把开始时间打印一下,结束他自己接受那边打印,最好精确到毫秒。打印时间精确到毫秒好实现,但是那种对用户可读性不好,更适合开头记一次结尾记一次,打印中间减出来的程序运行时间。具体原理我先放放,等有空了再研究。试了好多,最后选择用这个。
2023-08-04 10:39:41
1283
原创 c++ 面试错题整理
这个友元函数他不属于该类的成员函数,他是定义在类外的普通函数,只是在类中声明该函数可以直接访问类中的private或者protected成员,所以友元函数访问对象的成员不受访问特性影响,C没有问题。函数模板是一类通用的函数定义,可以接受不同类型的参数,但是只有在程序员将其实例化为具体的类型之后,它才能成为可执行的模板函数。我对这个答案持怀疑态度,我查了一下,A是没问题的,主要是B,指针可以重新赋值,但是引用不可以。友元函数可以是不属于任何类的非成员函数,也可以是另一个类的成员函数,因此B没有问题。
2023-07-27 23:40:46
974
原创 VMware麒麟Kylin系统安装Linux
在这里插入图片描述](https://img-blog.csdnimg.cn/677fa300455e4fee9864dfe2923cb2bb.png。其实基本上只有两个区别,一个是桌面操作系统和服务器操作系统的区别,一个是x86_64和arm内核的区别,我下的是这个海光版,随便选的。还有一点,如果是要选择桥接模式但是死活连不上网,可以试试关了防火墙。内存建议最起码是4,因为我开过2,卡的不行。存储开到50G以上,这里我忘了截图了。VMware的安装我这里就不写了。开始正式安装,懒得打字了,看图吧。
2023-06-19 14:43:57
482
原创 力扣 1335. 工作计划的最低难度
我想到了区间的选择可能影响取值,然后满脑子递归递不出来,一看题解,dp。这属实不应该了,虽然以前dp其实也不会写,但还没到压根看不出来的程度。好歹题解还能看懂,入门级别的dp。
2023-05-16 11:54:20
77
原创 力扣 1330. 翻转子数组得到最大的数组值 c++
看了看别人的,实际上应该是24中,直接全排列A B a b的大小关系和位置,就是4!然后就会发现多了的每次都是2倍的第二大减第二小,应该纯数学公式也能推,但是我不会。然后每个挨着从哪儿反转有四种情况,但是这么列没讨论具体哪个是最大哪个是最小,就是12种。好像又回到了当年,有想法,但是实现有问题。我还在那儿寻思我写12个条件判断挺多了,条件判断里边再套条件判断就乱套了。其实这个题我是有思路的,我一开始想的是,我用A B表示最大的两个数,用a b表示最小的两个数,可能分布为。
2023-05-12 22:19:08
68
原创 力扣 1016. 子串能表示从 1 到 N 数字的二进制串 c++
我觉得这题不是考难度的,是考虎不虎的……我本来想着,比如说n转为二进制是k位,那看看小于n且二进制位长为k和k-1的就够了,但是应该还有个边界情况,太大了的时候就不用跑了。但是我数学比较拉,这个边界不会算,我寻思直接去看官方题解,没看懂。结果往下一翻,好家伙合着大家都在硬暴啊。也是n最大1e9,int边界2e9多点,也就是不到32位,一个n撑死讨论32次就够了,行吧我试试。所以官方你整那么麻烦干嘛,你要不把数据搞大点要不换个接地气点的方法吧。
2023-05-11 22:55:58
73
原创 力扣 1015. 可被 K 整除的最小整数 c++
终于有点熟悉的感觉了,很纯粹的小算法,题解看官方,懒得写了。用不着哪些c++11甚至17的特性真的是太好了。
2023-05-10 14:22:34
136
原创 力扣 874. 模拟行走机器人 c++
还有一个问题就是我自己的程序提交上去的时候先报内存不足,改成long后报超时,后来我试了试应该是commands>0时那块儿,我用了个while,但是他那个样例我无法本地测试,因为障碍是0,我给obstacles传个空集合编译器就会给我报错,不知道力扣下边的main到底是怎么写的,折腾半天后来换成for循环就好了,但是我用while它别的测试样例是能通过的,就不是很理解。重点在于对哈希表unordered_set <pair<int, int>>的应用,具体可以看这个博客。
2023-05-10 11:45:21
154
原创 力扣 2437. 有效时间的数目c++
这个题直接情况讨论就可以,因为情况很少,就硬来。官方的方法是递归,虽然看着也简单不到哪里去,但是我好像确实不太擅长写递归。太恐怖了发现上了两年班我不会写代码了,尝试自救一下。
2023-05-09 10:09:22
134
原创 LSB图像隐写 python代码
原理我直接贴个链接吧,就是把比特信息一位一位的藏在每个像素RGB的最低有效位里,反正人眼没那么敏锐,差这么点看不出来,而且像素本身最后一位是有意义的,本来就不是全零或全一,如果不知道具体藏在哪里的人很难识别并提取出隐藏信息来。LSB图片隐写(最低有效位隐写)
2023-04-26 11:06:23
563
原创 SM3 python代码
实际上sm3是一个哈希加密算法,也就是能加密,但是不能解密,不管多长的串扔进去都是64位十六进制数,相同的内容加密后得到的结果必然相同。(所以说看到文心一言说到对称加密就可以判定它在胡说八道了)问了问文心一言SM3是什么,我觉得它在胡说八道,贴出来给大家看看(放图片是怕污染大家的搜索)
2023-04-26 10:26:06
1062
原创 anaconda下pytorchCPU GUP安装及问题记录
正常来说就是一直点下一步,但是如果最后报错nvidia backend 安装失败,还记不记我前边说别关的services.msc那个界面,找到并停止所有NVIDIA 开头的服务;按照这个逻辑找所需的torch torchversion torchaudio,但是注意这里的文件不全,先找好了再下,不然重新再来一次2、3个G下的挺慢的。关于安装源,我试过官网的那个版本,cpu的时候还行,到了GPU版本的时候会一直卡在Solving environments这里。然后重试,我这次就没有问题了。
2023-02-09 20:57:39
663
原创 slither-analyzer安装报错并解决error: Microsoft Visual C++ 14.0 or greater is required.
python环境3.8,执行后出现异常网上有很多解决方法,看评论感觉可能有用的是这个,但是太麻烦了没有用Microsoft Visual C++ 14.0 is required解决方法https://zhuanlan.zhihu.com/p/126669852我用的是另一个方法pip install weditor 安装报错 error: subprocess-exited-with-errorhttps://ask.csdn.net/questions/7642639这个subprocess
2022-12-27 15:23:38
397
原创 anaconda报错ModuleNotFoundError: No module named ‘torch‘
但是我想要运行我本地的.py文件时,又出现了ModuleNotFoundError: No module named 'torch’的报错,看了网上很多教程,最终有用的是这个。我进入base环境进行torch的安装,然后切回我之前的子环境,在运行本地的.py文件就可以正常运行了?粘到conda的环境中执行即可安装,但是出现一个问题,在控制界面直接输入一下命令进行测试,也是可以的。环境是windows10,CPU版本,已安装。conda list查看能看到版本信息。
2022-12-12 14:04:11
3095
1
原创 c++批量修改pdf文件名 图片文件名
pdf是扫描文件,文件名顺序就是扫描先后顺序,新文件名存放在csv文件中(不能是utf8的那个csv文件,我还写了个utf8的格式转换函数,但是还是在新的地方又出现了乱码)。一些碎碎念,我忘了二维char数组怎么用了,结果用结构体代替了发现更顺手了。utf8的转换函数没有删,但是也没有调用。把exe放到要处理的文件夹中,双击就可以执行替换。
2022-11-23 23:28:03
460
2
原创 visual studio编译出的exe执行时找不到vcrunime140d.dll库的解决办法
有visual studio环境是不会出现这个异常的(我换电脑试过了),没有这个环境的,把vs的dll复制进C:\Windows\SysWOW64的路径,会报新的异常。VS编译程序缺失msvcp140d.dll、vcruntime140d.dll和ucrtbased.dll解决方法。这个dll我自己库里都没有(当然可能路径没有找对),所以不推荐硬来,对用户体验很不友好,不然打包成exe是图啥。将debug改为release,运行库改为多线程,重新生成,就可以脱离环境正常执行了。EXE程序缺DLL怎么办。
2022-11-23 23:19:10
2868
2
原创 IDC脚本文件运行
关于IDC的书写教程一抓一大把,我手里是有现成的代码,我粗略的阅读了一下想直接使用,差点卡在运行上。打开一个正常的idb文件,点击File→Scriptcommand,就会出现这个界面。IDC是IDA工具中使用的脚本语言,细节类似于c但是存在差异。IDA脚本一页纸(IDC+IDAPython)-示例版。点击Import导入写好的idc文件,点击Run运行。ida-IDC脚本剖析。...
2022-07-26 16:55:50
702
原创 Centos7安装Python3
centos7自带版本是Python2.7,一般来说不用安装,配好了虚拟机就会有,可输入python直接查看。查看Python位置安装依赖包下载Python版本解压安装建立软链接查看Python3版本这个时候使用yum就会出现异常,因为yum需要Python2的环境。修改yum配置...
2022-06-17 09:50:53
197
原创 Scyther工具库安装使用教程详细(spdl形式化语言)Ubuntu
代码的GitHub链接https://github.com/cascremers/scyther这个项目的README.md里有部分安装教程,还有一个Scyther的安装使用文档链接,但是这里有一个坑点,这两个安装说明之间存在冲突。Scyther安装使用文档链接https://people.cispa.io/cas.cremers/scyther/原页面都是英文,截图的时候我用了页面翻译,所以有的地方不是特别准确问题就出在Python版本上,做为两个方法都折腾过的人,表示Python3真的不行。我的
2022-06-16 16:07:56
2396
6
原创 通过dll动态链接库,使用java调用c++代码(eclipse+visual studio2019)详细教程
之前有写过c++调用c++的dllhttps://blog.csdn.net/mandiheyanyu/article/details/120411187这个里边虽然也涉及了java对dll的调用,但是因为当初写这个的时候,代码是别人直接拿给我的,我只要编译就行了,这篇这里是完整过程。正确安装visual studio、eclipse、jdk。我用的是eclipse,项目名什么的都是随便起的(命名十分不规范,已经被吐槽过了)。包名叫nist,类名叫NistDll,先声明好函数的名称、参数、返回值类型
2022-05-13 09:35:09
748
原创 java调用c++编译的dll报错
# A fatal error has been detected by the Java Runtime Environment:## EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffeb12b5114, pid=432, tid=9964## JRE version: OpenJDK Runtime Environment (16.0.2+7) (build 16.0.2+7-67)# Java VM: OpenJDK 64-Bi
2022-05-12 14:18:04
438
原创 汇编语言 运行环境设置等教程链接整理
如何运行一个汇编程序,这些你知道吗?https://blog.csdn.net/m0_52196532/article/details/120373082DOSBox下调试(masm、link、debug)简单的汇编语言程序https://bingyishow.top/Technical-article/54.htmlWindows 10在DOS环境下编译、调试汇编程序https://blog.csdn.net/fyp19980304/article/details/79732211汇编语言入门
2022-04-21 11:53:41
156
原创 c++ char[]与int之间的类型转换
char数组转int,int转char数组。#include <cstdio>#include <iostream>#include <stdlib.h>using namespace std;int main(int argc , char *argv[]){ int n = 0; char str[110] = "1234"; //char[]转int n = atoi(str); printf("%d\n", n); //int转
2022-04-05 21:04:34
7749
原创 Ubuntu 嵌入式交叉环境arm-linux-gcc安装
下载4.4.3版本http://www.friendlyelec.com.cn/download.asp下下来后的名字叫arm-linux-gcc-4.4.3-20100728.tar.gztar zxvf arm-linux-gcc-4.4.3-20100728.tar.gzcd optcd FriendlyARM/cd toolschain/sudo mv 4.4.3/ /home/paff/arm(paff是我这个虚拟机上的username,根据自己的改一下)vim /home/
2022-04-02 10:08:12
602
原创 OpenSSL1.1.1 centos7安装编译aes的c++调用
装这个主要是拿来和我自己写的aes代码做验证的,但是其实OpenSSL能干的事情挺多的。下载地址https://github.com/openssl/openssl/archive/OpenSSL_1_1_1d.tar.gztar -zxvf openssl-OpenSSL_1_1_1d.tar.gzcd openssl-OpenSSL_1_1_1dsudo mkdir /usr/local/openssl./config --prefix=/usr/local/opensslmakesud
2022-03-23 11:19:42
3997
原创 AES加密解密C++实现(完整代码) ECB CBC 128 192 256 六种模式 字符串十六进制二进制文件输入输出
这大概是网上能直接运行的,最全的代码了,别的要不就是付费下载要不就是没有主函数,函数调用主要靠猜,所以我就只能痛苦的自己写。代码有点长,放在一起可能不够美观,主要是一开始就四五百行的时候觉得分开放没啥必要,然后写着写着就成了这样子了。主体是四个函数ECB的加密解密,CBC的加密解密。被加密信息在两个加密函数中都单独处理,统一转成十六进制数进行加密(其实这里可以考虑用个函数,而不是像我一样复制粘贴,弄的这块儿在俩函数里边都有),使用PKCS7进行填充,长度不为十六的倍数,差多少就用这个差值进行字节填充,长
2022-03-11 14:52:49
8830
10
原创 C++二进制文件读入读出
从网上看了看教程,然后自己又根据需要做了一些调整。C++ read()和write()读写二进制文件(超级详细)http://c.biancheng.net/view/7603.html二进制文件读取#include <iostream>#include <cstdio>#include <fstream>#include <cstring>#include <string>using namespace std;int mai
2022-03-10 16:57:23
3972
原创 C++ 输入空格隔开的一行数,到回车换行中止
不指定输入长度,以空格为分割,连续输入数据,直到回车换行中止。我很早之前是傻乎乎的先全当字符串读进去,然后再分割再类型转换,甚至手写过字符串转数组(真的是很早之前干的事了)。然后今天要读入十六进制数,这个字符串转的话还不太好转,我就去网上搜了一下,发现我真的是傻掉了。我可以进个循环,循环里读一个再读一个字符,再判断字符是不是换行,如果是的话就终止循环。我写的这个是读的16进制数,改成int的读普通整数也行。#include <cstdio>#include <iostream>
2022-03-09 10:58:53
4087
原创 getc()读取文件读到一半就终止的解决办法
最近在写aes,把加密的结果存在本地文件中然后再读出来解密,因为是加密过后的十六进制数转的字符,和正常的键盘输入不太一样,然后我从文件读取的时候就出现问题了,读到一半就发现它自动停止了。贴一下我出错时候的代码int readStrFromFile(char* fileName, char* str) { FILE* fp = fopen(fileName, "rb"); if (fp == NULL) { printf("打开文件出错,请确认文件存在当前目录下!\n"); exit(0);
2022-03-07 17:12:51
582
原创 c++ char数组与char在调用函数时传参的差异
我不理解,先直接记住,看改天能不能填坑。#include <cstdio>#include <iostream>using namespace std;void xorrr(char xx, char yy){ xx^=yy;}void xorr(char xx[1][1], char yy[1][1]){ xx[0][0]^=yy[0][0];}int main(){ char a, b; char x[1][1],y[1][1];
2022-03-04 17:06:56
435
原创 AES CBC模式 原理 c++完整代码可运行
现在网上能找到的AES代码九成都是ECB模式的,剩下的一成里又有九成只对十六个一组的数进行了加解密处理,压根没有分组。我在网上扒拉了好久都没有找到CBC模式的完整代码,只有接口函数。CBC的分组原理就是这个图嘛,但是所有的接口函数都只告诉你,需要用到初始向量IV,不告诉你初始向量IV到底是什么,然后我被某个教程坑的老惨了,它告诉我第一次就是当前分组,我这样写出来的代码就一直出错。我测了一下发现无论我加解密的长度是多少,永远都是第一个分组的解密有问题,而且每回的错误解密结果都一模一样,就开始到处加打印输出
2022-03-04 15:08:30
8696
5
原创 aes相关资料整理及代码C/C++
1 aes原理这里我直接贴人家整理好的链接AES加密算法的详细介绍与实现https://blog.csdn.net/qq_28205153/article/details/55798628AES五种加密模式(CBC、ECB、CTR、OCF、CFB)https://www.cnblogs.com/starwolf/p/3365834.html2 《应用密码学 第4版》中aes代码该代码不属于任何一种加密模式,因为它就加密了16个字符,多一个少一个都不行,而且还输入输出都用的是16进制//AES
2022-03-01 09:07:24
4337
原创 visual studio 2019内调用OpenSSL3.0
OpenSSL3.0是在去年升级的,而且还改的很狠,不怎么兼容之前的版本,但是网上能找到的教程又比较早,就很痛苦,好歹摸索出来能跑不报错了,先记一下,可能有多余操作。1 先安装visual studio 2019和OpenSSL3.0OpenSSL3.0能正常在控制台进行加解密。我自己安装时候随手记的内容https://blog.csdn.net/mandiheyanyu/article/details/1229823022 新建一个c++项目3 更改项目属性VC++ 目录更改“包含目录”,
2022-02-23 10:22:11
3060
原创 OpenSSL 3.0.1 Windows上安装及aes使用
主要是装的时候没截图,有的部分就直接贴原教程的链接了Windows安装使用Opensslhttps://blog.csdn.net/qq_39081974/article/details/81059022(这个链接里,提供的那个非官方平台安装的网址,是个暴躁老哥建的,可以去瞅瞅,有意思极了)所以它能够支持的aes加密有这六种aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb aes-256-cbc
2022-02-17 15:13:11
4054
原创 QT中出现的一些小问题
1 常量中有换行符工具→选项→行为在代码前头加上#pragma execution_character_set("utf-8")
2022-02-14 17:08:49
1166
1
原创 Linux 使用shell脚本安装软件(包括更改环境配置文件)
是这样的,我本来不想学shell的,因为我觉得这玩意太麻烦了,后来我接触了Makefile发现Makefile更麻烦,所以我又回归shell的怀抱了(总得干点什么水本周工作)。其实用脚本安装软件蛮麻烦的,起码写脚本的功夫我就直接装上了,而且对文件存放什么的严格要求,但是在某年某月的某一天我被喊去出差,然后抱着四个虚拟机光插件就装了快两天……我觉得还是有必要搞搞的,搞好了就不用出差了嘛。以Centos7下的java 1.8.0 安装为例,常规安装方式如下https://blog.csdn.net/man
2022-01-12 16:04:45
6686
Computational and Symbolic Models for Secure Computation.pdf
2021-10-28
On the Security of Homomorphic Encryption on Approximate Numbers
2021-10-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人