自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Clion在Windows下build时出现undefined reference,即使cmake已经正确链接第三方库(如protobuf)?

你是否正在使用clion自带的vcpkg来安装了protobuf?或者你是否自己使用visual studio自己编译了?不论你怎样修改cmake语句,cmake也能正常生成,但是却在build时出现?如果上面说的很符合你,那么你来对地方了!

2023-11-25 10:23:57 684

原创 虚函数可不可以重载为内联 —— 在开启最大优化时gcc、clang和msvc的表现

如果没展现多态性,则执行下面的内联了的Son::fun,因此可以看出msvc的汇编代码既给出了Son::fun未内联的函数调用,也给出了Son::fun内联了的汇编代码。clang更聪明,它直接内联了展示出多态性的代码,不过似乎是这里的测试代码过于简单,使得多态性一眼丁真,需要多态性更复杂的代码来测试,但是我懒,也不懂clang。通过虚函数表,而内联函数在。

2023-11-22 12:00:17 387

原创 小白也会的校园网宽带拨号自动重连设置

开始菜单搜索“任务计划程序”:我这个开始菜单和你们的不太一样,用了StartAllBack设置的,总之能找到这个程序就行了提示:可以按下“Win + R”,打开“运行”,输入来打开任务计划程序点击“任务计划程序库”,加载一小会后,点击创建任务在“常规”中按照图片中设置:在“触发器”中设置:这里需要设置两个触发器,按照下面的指示设置并确定后,就会有像图中一样的两个触发器了。

2023-10-23 15:22:47 576 4

原创 std::thread::id如何转换为字符串或整数

【代码】std::thread::id如何转换为字符串或整数。

2023-09-24 14:31:09 739

原创 以游戏编程的角度看待模拟时间的算法题——以PAT甲级1026 Table Tennis为例

对于需要模拟时间的算法题,可以将开始时间作为游戏的开始(如Unity的Start或UE的BeginPlay),每一秒的模拟作为游戏的画面更新(如Unity的Update或UE的Tick),结束时间可作为游戏的结束(如Unity的OnDestroy或UE的EndPlay)。当成一个游戏看待,在游戏进行过程中,游戏玩家可能随时会让一位球员来打球。因此可以将可能到来的球员当成玩家输入来处理。在每个时刻(每一秒),我们读取玩家输入,然后按照指定的游戏玩法(题目的规则)来进行游戏数据的更新。

2023-08-06 00:30:54 402

原创 明明已经安装字体,但IDEA、CLION无法找到思源黑体/Source Hans Sans的问题解决

IDEA、CLION的Jetbrain系列软件不支持非TrueType的中文字体,而Adobe官方给出的字体却不是TrueType的,所以便会导致Jetbrain系软件无法找到已安装的中文字体,因此我们需要安装TrueType的字体。

2023-07-31 08:37:49 1244 1

原创 在vscode中修改jupyter notebook(.ipynb文件)中的markdown单元格的字体样式

在vscode中修改jupytor notebook(.ipynb文件)中的markdown单元格的字体样式。

2023-06-10 18:05:15 1541 6

原创 Unity官方模板Starter Assets中不能使用transform改变角色位置?

在Starter Assets的官方模板中,我想直接通过transform来设置角色的出生位置,但是发现根本没作用,最后发现是Project Settings下Physics中的Auto Sync Transforms未勾选,使得我们不能直接通过transform来改变角色的位置,只能通过CharacterController来改变,因此将该选项勾选即可!

2023-03-16 12:24:28 324 1

原创 Do not invoke virtual member functions from constructor的解决办法

解决办法:在类声明中的类名后面加上final。表示该类不会作为基类。

2023-03-04 10:48:17 234

原创 STL容器保存智能指针并将this指针通过emplace传入STL容器所造成的致命问题(【double free or corruption (out)】和【bad_weak_ptr】)

而最上面的代码却通过emplace(this),使用原生指针构造了一个智能指针,而这个智能指针不与任何指针共享引用计数,最后便会产生double free错误。这个问题相信用智能指针的人都知道不能这么做,应该在。,而不是像上面这样,会使得引用计数为1而不是为2。却可以,因此便使得问题在。不可以通过编译,而使用。

2023-03-02 16:43:29 261

原创 Chrome浏览器打开网页变慢,而Edge却可以正常打开,非网络问题

可能是已开启的油猴脚本、Chrome插件使得网页打开变慢,请试着禁用该油猴脚本或Chrome插件。

2022-09-13 10:08:57 2030

原创 系统调用的详细过程

自己整理的,若有误,请指正。

2022-08-17 22:30:08 223

原创 Windows10更改右键新建菜单顺序

但是如果这时候退出的话,系统会还原ShellNew,因此我们为了保存该状态而不让系统还原,需要将系统对ShellNew的权限改为只读,而不能修改,因此需要进行如下的修改:右键点击,选择添加用户,方法如下:点击点击点击点击双击名称为的选项(可能该列宽度不够,像Excel一样将表头拉长就可以了),此时会回到母级菜单,再点击即可。点击,然后选择第一个然后将【、(也就是用户本身,我的用户名叫YY)、(刚才我们添加的)】这三个用户的访问权限从改成,有两种方法注:上图为我修改之后的状态,修改之前的内容应该是、这两项

2022-07-03 21:29:28 2272

原创 Apache2服务器中出现End of script output before headers: xxxx.cgi的错误原因

首先检查响应头是否有错,然后检查CGI脚本运行有没有出错。最后也是最最重要的是检查CGI脚本的有没有开启可执行的文件权限,如果没有,日志中也会报这个错误!!记得新建CGI之后将其权限

2022-06-17 18:13:11 591

原创 二叉排序树结点插入的非递归写法

二叉排序树结点插入的非递归写法

2022-06-12 08:09:27 1807

原创 DFS判断回路及回路个数

DFS判断回路,仅需一个栈保存每一次的路径,然后判断该路径是否存在回路即可,具体看代码即可

2022-06-04 23:20:14 1833

原创 MySQL中简单的select子查询中exsits的伪代码运作方式

以下只是我所做的一些简单的测试验证所得的结果,若有不对请指正。语句格式select 显示的列 from 表1where exists ( select * from 表2 where 条件表达式)伪代码rst = [] # 存放select结果的列表,原为空for i in 表1: # i是表1的每一行 flag = False for j in 表2: # j是.

2022-01-23 00:41:18 893

原创 初试TinyWebServer项目所遇到的问题

初试TinyWebServer所遇到的问题按照作者所写的快速运行的步骤,安装了MYSQL,向新database添加了自己的用户名和密码,然后兴高采烈的对项目进行make后,程序却立马结束,然后打印出一条日志信息:2021-12-15 18:50:37.474898 [erro]: MySQL Error看来是MySQL出问题了,但是到底是哪里出了问题呢?而这需要对源代码中CGImysql\sql_connection_pool.cpp的void connection_pool::init函数进行改进

2021-12-15 20:53:32 4788 22

原创 在ubuntu使用mysql出现“can‘t connect to local mysql server through socket ‘/var/run/mysqld/mysqld.sock‘”错误

最近用C++做项目用到了mysql的接口,使用mysql_error()得到了can't connect to local mysql server through socket '/var/run/mysqld/mysqld.sock'错误。想在网上搜索答案,发现很多提供的解决方法十分复杂,其实都根本不是我的状况。最后我发现了错误,如果是刚入门的小白可能会和我一样:就是ubuntu安装mysql时要安装mysql-server和mysql-client,缺一不可,我就是没安装mysql-client才导

2021-12-15 19:37:42 3779

原创 vcpkg

vcpkg官网vcpkg与vscode1vcpkg与vscode2vcpkg与visual studio其实在vcpkg integrate project后>> vcpkg integrate projectA suitable version of nuget was not found (required v5.11.0). Downloading portable nuget v5.11.0...Downloading nuget... https://dist.nug

2021-12-02 22:01:33 300

原创 【进程状态】阻塞态不能转换为运行态/就绪态不能直接转换为阻塞态的原因

就绪态。

2021-11-30 23:35:04 12558 2

原创 【代码错误纠正】《Linux高性能服务器编程》:I/O复用的高级应应用2:聊天室程序

在作者给的聊天室程序代码中有着这样一段:else if( fds[i].revents & POLLIN ){ if( ret < 0 ) { ... } else if( ret == 0 ) { ... } else { for( int j = 1; j <= user_counter; ++j ) { if( fds[j].fd == connfd )

2021-11-25 20:37:36 703 16

原创 python lambda匿名函数所导致的奇怪问题

下面这一行代码你会觉得产生什么结果呢?allfun = [ (lambda a: a+i) for i in range(4) ]理所当然地,我认为应该得到下面四个匿名函数:allfun = [ lambda a: a+0, lambda a: a+1, lambda a: a+2, lambda a: a+3]于是我们实验一下,如果得到的值是:10 11 12 13,那说明我的猜想是对的,然而却得到了13 13 13 13:allfun = [ lambda a: a+i

2021-08-14 22:50:28 112

原创 修改matlab默认启动文件夹

打开 \Matlab版本名\toolbox\local\matlabrc.m在最后一行加上cd("你指定的文件夹路径")即可

2021-07-19 21:35:26 949

原创 在64位的Linux系统使用gcc的-m32选项编译32位的程序得到了多余的代码(多余指令call和add)、有多余的.text.__x86.get_pc_thunk.ax

问题解决于该网站首先讲一下问题是怎么发生的:最近在学计算机系统,用到的教材是32位的Linux系统,而在我的64位的Ubuntu上,我想以gcc编译出32位的程序并查看其汇编代码,于是百度查了下,应在gcc中使用-m32的选项test.c:int add(int x, int y) { return x+y;}int caller() { int t1 = 125; int t2 = 80; int sum = add(t1, t2); return s

2021-07-13 23:31:00 970

原创 使用DFS深度优先搜索获取图中两点的所有路径的模板

#include<iostream>#include<vector>int start, end; // 假设我们已经有了两点,分别设其为起、终点vector<int> tempPath;vector< vector<int> > allPaths, void DFS(int u) { if(u == end) { tempPath.push_back(u); allPaths.push_back(tempPath); t

2021-05-27 19:42:44 395

原创 遇到了C/C++控制台程序无法输入中文的情况

其实C/C++控制台程序无法cin中文的情况并不是你使用了string,string是能输入并保存中文的;经过一番探究,我发现主要的问题是文件的编码和控制台所处的代码页(控制台的编码):当代码文件编码为UTF-8,控制台编码为UTF-8时:控制台无法输入中文 ,但可以输出中文当代码文件编码为GBK   \;,控制台编码为UTF-8时:控制台无法输入中文 ,也无法输出中文当代码文件编码为UTF-8,控制台编码为GBK   \;时:控制台可以输入中文 ,但无法输出中文当代码文件编码为GBK   \;

2021-05-18 22:43:04 5855 6

原创 QT Creater的UI主界面太大或太小,字体不好看的解决办法

在一些高清屏系统缩放为125%或150%之类的情况,QT主界面会过大或过小:更改之后所以下面来调整主界面的尺寸大小和调整字体样式首先找到你qtcreater.exe的路径位置,然后在qtcreater.exe所在目录下创建一个css文件,我这里命名为custom-style.css,内容为:/* font后面就是你想设置界面的字体的大小和样式 */QWidget { font: 8pt "Microsoft YaHei UI Light";}QPlainTextEdit {

2021-04-29 09:08:08 10078 2

原创 【天梯赛L2 栈混洗】L2-032 彩虹瓶 (25 分)

#include<bits/stdc++.h>using namespace std;int N, M, K;/*有一个有序序列A = {1, 2, 3, ..., n}判断序列B是否是有序序列A的栈混洗*/int main() { cin >> N >> M >> K; // 每次输入的乱序序列B都能通过一个中间栈进行临时存放,在某个时间出栈可以达到有序序列 for(int i = 0;i < K;++i)

2021-03-27 17:29:54 135

原创 【PAT甲级 水题】1036 Boys vs Girls (25 分)

#include<bits/stdc++.h>using namespace std;struct Stu { string name, gender, ID; int grade;};int main() { int N; cin >> N; Stu maxF = {"", "F", "", -1}; Stu minM = {"", "M", "", 101}; for(int i = 0;i < N;++i) {

2021-03-24 19:18:58 100

原创 【PAT甲级 水题】1035 Password (20 分)

#include<bits/stdc++.h>using namespace std;map<char, char> M = { {'1', '@'}, {'0', '%'}, {'l', 'L'}, {'O', 'o'}};int main() { int N; queue< pair<string, string> > rst; cin >> N; for(int i

2021-03-24 18:55:05 96

原创 【PAT甲级 映射】1022 Digital Library (30 分)

#include<bits/stdc++.h>using namespace std;int N, M;map<string, set<int>> Title, Author, Key, Puber, Year;void Query(map<string, set<int>> &mp, string & str) { // 根据信息在mp中查找对应id if(!mp[str].empty()) f

2021-03-23 23:09:00 100 2

原创 【PAT甲级 模拟 测试点0、3、4、5、7、8分析】1026 Table Tennis (30 分)

测试点分析都在代码注释里了K个球桌(编号1~K),但球桌都满的时候,有一条等待队伍有VIP的存在,所以在输入的最后给了VIP球桌的编号,当有VIP球桌开放的时候,队伍里面的第一个VIP将会无视他在队伍的顺序,直接进入该VIP球桌;如果没有VIP的话或VIP球桌那就按正常形式。营业时间为:8点~21点统计队伍中每个人的等待时间 和 每个球桌在这一天共招待了几对球友输出每对球友的到达时间 开始打球的时间。

2021-03-22 23:09:36 624 6

原创 【PAT甲级 模拟、优先队列、模拟时间】1017 Queueing at Bank (25 分)

#include<bits/stdc++.h>using namespace std;int N ,K;struct Cust{ int arriveTime; int processTime; Cust():arriveTime(0), processTime(0) {} bool operator<(const Cust &ob)const { // 优先队列的重载小于号是常引用并且是const函数 return ar

2021-03-18 14:26:49 158

原创 PAT2020春季甲级模拟

第一题AC#include<bits/stdc++.h>using namespace std;string Date;bool isPrime(int n) { int sq = sqrt(n); if(n <= 1) return false; for(int i = 2;i <= sq;++i) if(n % i == 0) return false; return true;}in.

2021-03-11 17:46:31 145

原创 【PAT甲级 素数判断】1152 Google Recruitment (20 分)

#include<bits/stdc++.h>using namespace std;int N, K;string num;bool isPrime(long long n) { int sq = sqrt(n); for(int i = 2;i <= sq;++i) if(n % i == 0) return false; return true;}int main() { cin >&gt

2021-03-10 15:20:20 130

原创 【PAT甲级 模拟】1016 Phone Bills (25 分)

算是学到了模拟时间了while(start.day < end.day || start.hour < end.hour || start.minute < end.minute){ // 每分钟做的事 // 模拟时间 start.minute++; if(temp.time.minute >= 60){ start.minute = 0; start.hour++; } if(temp.ti

2021-03-09 12:02:54 121

原创 【PAT甲级 图形输出】1031 Hello World for U (20 分)

#include<bits/stdc++.h>using namespace std;int N;string S;int main() { cin >> S; int N = S.size(); int n1, n2, n3; // 画图发现了规律…… if( (N-1) % 3 == 0){ n1 = n2 = n3 = (N+2)/3; } else if( (N-1) % 3 == 1 ){

2021-03-08 21:49:48 68

原创 【PAT甲级 进制转换】1027 Colors in Mars (20 分)

给定三个十进制数字,转13进制#include<bits/stdc++.h>using namespace std;map<int, char> M = { {0, '0'}, {1, '1'}, {2, '2'}, {3, '3'}, {4, '4'}, {5, '5'}, {6, '6'}, {7, '7'}, {8, '8'}, {9, '9'}, {10, 'A'}, {11, 'B'}, {12, 'C'}};string convert(in

2021-03-08 20:48:54 81

原创 【PAT甲级 大整数加法】1024 Palindromic Number (25 分)

#include<bits/stdc++.h>using namespace std;bool isPalindeomic(string S) { // 判断回文数 for(int i = 0;i < S.size()/2;++i) if(S[i] != S[S.size() - 1 - i]) return false; return true;}string add(string a, string b) { // 大整数加法 string rst; in

2021-03-07 11:07:28 90

空空如也

空空如也

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

TA关注的人

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