自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 多线程资源保护之单互斥队列

在本文中,我将介绍一种允许同时存取的队列,且不会因此产生线程安全问题。

2024-03-26 21:30:31 650

原创 闲得无聊,挑战一下c的极限

数组么,不就是一个带着长度到处跑的结构嘛,这有什么稀奇的,但是,每单开一个项目,重复写一个数组会不会恶心你,写了int的,明天要用float,后天要用struct,哎,我为什么不是写c++呢,我一个template秒杀!不过今天,我们要用宏实现一个数组模板,没错,就是哪种支持任何数据类型的数组模板,有了这个东西,你就可以像java一样带着长度到处跑了,传参不要你指定长度,也不会出现那种奇奇怪怪的scanf_s(),strcpy_s()的接口。除此以外,还有c语言版本的vector哦!

2024-03-21 23:25:54 945 1

原创 openwrt源码编译复盘

编译openwrt源码开启多拨复盘,编译项目的心酸过程

2024-03-17 17:25:14 1222 1

原创 华为ENSP防火墙USG6000启动失败,错误代码40的解决方案

发现error: Raw-mode is unavailable courtesy of Hyper-V字样,百度搜索得到解决。最近一个实验需要用到ENSP,寻找USG6000V压缩包找了半天,找到了启动不了,emm。重启计算机,拖一个USG6000,启动,成功启动!启动失败,报错40,打开启动日志。打开VBoxManage.log。

2023-12-25 16:51:30 4033 1

原创 vs+qt 创建QtableWidgetItem数组堆检查异常问题

我的QMainWindow中存在一个QTableWidget,出于省事,我在往其中添加数据时创建了一个QTableWidgetItem数组,然后设置好数组内容后准备添加成QTableWidget的一行。很奇怪的是创建数组会有问题,但是使用数组指针挨个创建就没有问题,本猿表示很迷惑。至于具体什么问题小白表示没法深究了,如果有大佬感兴趣,可以为大伙指点一下[期待脸]。期间辗转多个重构了多个组件,最后定位是创建数组的问题。(很崩溃,骂的很脏)它在显示上是没有问题的。把代码改成这样就没问题了。

2023-12-23 16:06:48 480 1

原创 那些c/c++中实用但经常被重写的函数

c语言学习过程中,老师们总喜欢拿一些标准库已经实现的函数来考察学生,还要求不准直接调用,一定要自己实现,结果天真的大学生们误以为标准库的功能很少,常常上手又自己实现了一遍,其实费功夫还不说,性能甚至还更差。

2023-10-30 20:31:23 107 1

原创 大端存储和小端存储的应用级理解

如果你是这样猜测,使用intp去进行按位与的加密或者与整数加减,那么结果将令你失望,原因是你不经意间算反了,你认为的"1234"+xxx实际会变成"4321"+xxx。原因是整形指针尝试将str解释为整形时,会从str[0]开始读入数据,由于是小端,那么先读入的字节将会读为低字节,也就是整数的低端,书写体的右边字节,依次以一字节读入时翻译成人能理解的方式就是"4321"。对于这句话,其实大部分学习者完全感受不到,原因是大部分的教材资料不是16位就是32位cpu,汇编容易指明XH,XL使得高低字节是明确的。

2023-08-31 17:29:27 100 1

原创 navcat创建mysql触发器

作为一个数据库管理软件,navcat在图形化管理数据库上是很棒,可惜对不同数据库的差异适配不是很好,比如不能在创建表的使用check字句,对于需要多语句的触发器定不会智能添加语句结束定义。其实要使用navcat图形化辅助定义触发器的重点是解决语句结束符问题,由于图形化工具不会自己添加语句结束符的替换,以至于图形化定义的触发器不能保存。解决办法是使用命令行先替换命令结束符,在工具-->命令行界面。这里主讲怎么使用navcat辅助定义触发器。再返回设计表,此时定义的触发器就可以保存了。

2023-07-01 18:27:36 2431

原创 vs+QT开发怎么打包程序

如果你不需要配置工具,去qt安装文件夹找msvc的bin目录下的windeployqt.exe,然后用命令行运行,参数是你编译好的程序exe路径,它就会在编译好的路径下打包动态库进去了。为了每次使用方便,我们可以利用外部工具一键打包。

2023-02-16 17:06:50 1651 1

原创 关于实现国密sm3的一些问题

sm3算法实现和算法介绍理解偏差问题

2022-11-30 21:27:47 916

原创 关于二重指针动态分配内存易造成的泄露问题

前篇有谈到利用二重指针进行动态内存分配,参考了几篇博客还是觉得释放有问题,所以自己检测了一下,代码如下#include<iostream>using namespace std;class A { public: A(){ cout << "A is create"<<endl; } ~A() { cout << "A is destroy"<<endl; }};int main() { A** p = ne

2022-04-04 12:24:51 445

原创 二重指针和指针数组的坑

最近编程时遇到了一点bug,重新梳理了一下指针数组和二重指针。或许很多小伙伴在学习时都曾听说过二维数组的数组名相当于一个二重指针,理解很容易,不过从某种程度上来说这根本就是错的,甚至具有很强的误导性。比如 int a[2][2]; int **p=a;在编译上是不通过的,因为从本质上来说,他们根本不是同一个类型。二维数组名本质是数组指针而非二重指针。这个问题的实际运用区别将会体现在以下方面一,c++动态内存分配机制 c++的new分配数组时,定义类型为数组指针...

2022-03-23 20:41:24 1098

原创 如何正常使用前项申明类的成员

c++允许类的前项申明,但要求申明在其他未完成定义前只能作为引用或者指针使用。 想必大家都会遇到一个这样的问题: 我有两个类,他们需要互相使用对方的成员? 理所当然的大家会想到其中一个类前项申明一下就完了,但实际操作时就会遇到问题。类在未完成定义前不允许使用其成员函数,只能作为指针或引用使用,这样就限制了我们的实际操作。 为解决这个问题,我们其实可以使用类外定义成员函数的办法解决。具体操作是:将需要使用到 前项申明类的成员 的成员函数...

2022-03-20 15:39:25 1053

空空如也

空空如也

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

TA关注的人

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