- 博客(46)
- 收藏
- 关注
原创 pycharm打包python文件为exe文件(图文教程)
gold_miner.py 是我的项目的名字,你要改成你项目的名字。首先确保Terminal命令行中,你的路径和你的项目是同一个路径。这两个文件是可以改的,一个是你的图标,一个是你的代码文件名字。可以使用这个网站的工具,在线png转ico图标。我的项目就是放在golden_dev中的。看到红色方框里面的就表示完成了。出现下面的提示则表示,生成成功了。不然程序会报错,找不到资源文件。到这里程序就能直接运行了。点击回车等待完成即可。输入增加图标的 命令。
2024-04-04 10:52:18
3196
5
原创 Vtk裁剪功能之平面裁剪vtkClipClosedSurface(vtk小记)
确定一个平面:使用法向量和一个三维坐标点可以确定一个平面。对你的三维图形,使用一个平面切下去,然后保留一半。
2024-03-27 16:20:21
858
原创 svn提交代码发生冲突怎么办(把本地代码提交到服务器)
mine表示有冲突的话,以你本地的代码版本为主。3.选择有冲突的地方,右键会弹出对应的处理方案。theirs表示有冲突就以服务器的代码版本为主。2.当提交的时候提示有红色的提示,说明有冲突。1.commit提交代码。
2024-03-26 15:33:38
651
原创 svn如何合并代码以及解决合并冲突的问题(把分支代码合并到主版本)
根据你的项目需要可以选择是以分支版本为主,还是以主版本为主,当遇到冲突的时候。5.然后点击Test merge,查看能否和并成功。3.选择主分支的路径和要合并的代码范围。有红色的提示,说明是有冲突的,2.选择合并一个不同的分支。1.选择主版本的文件夹。都是黑色说明能够合并成功。
2024-03-26 15:23:24
6451
原创 kail linux破解密码--- 详细过程(配合图文让你看了就会)
1.vmware虚拟机2.kali的系统3.无线网卡一张(这个是必须的我买的是30多块4.这里为了实验,和直观的看到效果,用手机开了一个wifi然后使用kali进行破解。
2024-03-21 20:54:24
4816
1
原创 MFC界面美化第五篇(汇总篇)----MFC完整美化项目(包含了对菜单栏,标题栏,按钮控件,列表的美化)
经过了之前的四篇文章,我们单独实现了对菜单栏,标题栏,按钮,列表的美化。在这个篇幅中,笔者会把这些整合到一个项目中,实现一个完整的美化效果。并且还增加了,最大化,最小化,界面的自适应。
2024-03-21 19:24:46
5012
原创 MFC界面美化第四篇----自绘list列表(重绘列表)
最近发现读者对我的mfc美化的专栏比较感兴趣,因此在这里进行续写,这里我会计划写几个连续的篇章,包括对MFC按钮的美化,菜单栏的美化,标题栏的美化,list列表的美化,直到最后形成一个完整的成品效果。
2024-03-19 15:51:00
2020
原创 MFC界面美化第三篇----自绘按钮(重绘按钮)
最近发现读者对我的mfc美化的专栏比较感兴趣,因此在这里进行续写,这里我会计划写几个连续的篇章,包括对MFC按钮的美化,菜单栏的美化,标题栏的美化,list列表的美化,直到最后形成一个完整的成品效果。
2024-03-19 14:04:54
3859
8
原创 VTK包围盒,AABB包围盒
包围盒是指能够包含三维图形的长方体,常常用于模型的碰撞检测。包围盒可以分成:轴对齐包围盒(AABB),有向包围盒(OBB)和凸包(Convex Hull)今天就来实践一下AABB包围盒。
2024-03-13 17:36:14
825
原创 VTK的编译和部署,配合c++和visual studio2022,VTK开发环境的配置
在官网选择最新的版本下载之后进行解压,然后再里面创建build目录,方便后面使用cmake进行编译。
2024-03-06 10:51:49
2875
原创 c++function和bind
在c++11中提供了两个方法std::bind和std::function对回调对象进行封装。主要是在使用回调函数的时候进行使用。function可以看作一个包装器,对可调用对象进行包装。c++里面的可调用对象包括:函数,函数指针,lambda表达式,bind创建的对象,重载了函数调用运算符的类。
2024-03-05 13:55:07
698
原创 c++ thread的使用 调用类里面的函数和调用类外的函数的区别
在使用thread之前要加上#include 。如果有调用的线程函数参数,那么就像这样thread thread2(Threadfunc2,3);在形参函数后面加上它的参数。
2024-03-04 11:28:39
954
原创 实现定时器的两种方法:使用windows api定时器 和使用c++11/14 定时器
当我有一个开发需求,符合下面的条件1.需要某个任务在程序中每隔一段时间就要执行一次,可能把这个任务封装成了一个函数。2.这种需要定时执行的任务,有2个,3个....越来越多。这个时候我们就可以考虑使用定时器,把这种任务封装成函数,放进定时器中。每隔一段时间会自动帮我们执行该任务。
2024-03-01 17:23:57
2164
原创 c++的静态多态和动态多态
概念:同一个接口,同一个同名的函数。能实现多种不同的功能。静态多态:在编译的时候能确定具体调用的是哪个函数的多态就是静态多态,包括有函数重载和模板函数(泛型编程)动态多态:在运行时才能确定具体调用的是哪个函数,这种情况就是动态多态,主要是在类的继承中使用虚函数来实现。
2024-02-23 10:08:54
676
原创 c++类中的静态成员变量
1.静态成员变量属于整个类所有2.静态成员变量没有存储在类的实例化对象的空间中,是存储在全局数据区3.可以通过类名直接访问静态成员变量4.可以通过创建好的对象访问静态成员变量5.所有的实例化对象共享同一个静态成员变量6.要在类外进行初始化。
2024-02-20 14:26:29
540
原创 c++单例模式包括懒汉模式和饿汉模式(优劣势分析和改进方法)
在整个软件的运行过程中,让整个类有且只有一个实例化对象存在于整个进程中。是最简单的一个设计模式,然后再项目开发中也是使用最广的。
2024-02-20 13:53:53
1717
原创 c++父类转换为子类,子类转换为父类,子类父类指针相互强制转换
子类转换为父类之后,不能调用子类独有的函数和成员变量,只能调用子类继承的虚函数,利用多态的特性。转换为父类指针之后,不能调用ShowA()函数,和子类的b,c成员变量。只能调用Show()函数,和成员变量a输出结果。
2024-02-06 17:24:17
2340
原创 mysql内连接,左连接,右连接
主要以为左边的表为主,左边表的数据全部展示出来,右边的表只展示score.sno = student.sno的数据。如果没有则右边的数据直接写为空。只会查询出,student表中sno和score表中sno相等的数据,组合起来展示。主要以右边的表为主,同样的效果和左连接是相反的。student表和score表。
2024-02-06 14:00:43
448
原创 mysq开启慢查询日志,对慢查询进行优化
创建对应的数据库,然后写脚本向数据库中写入400万条的数据编写脚本向数据库中写入400万条数据,大概花费一晚上左右。
2024-02-06 11:39:59
1605
原创 mysql开启慢查询日志,记录执行慢的sql语句
打开配置文件,在你安装的mysql目录下面 MySQL\MySQL Server 8.0。我的电脑里,配置的mysql服务名是mysql80。最后执行查询测试一下,日志有没有记录查询慢的sql。能够看到在慢查询日志里面查到,记录了这条日志。或者直接找到mysql服务,手动点击重启。慢查询的阈值,超过了多少实际需要记录。执行语句,查询是否开启了慢查询。表示是否开启慢查询 1表示开启。ON 则表示已经开启了。存放慢查询的日志的目录。
2024-02-06 09:52:27
614
原创 Mysql语句Having和where的区别
3.只能使用having 的情况,是配合groub by 的 情况下 对分组后的结果进行 筛选。1.having 和 where 可以相互替换的情况。having 经常配合groub by。where 经常配合select 进行使用。2.只能用where 的情况。下面我们通过实操来对比一下。执行下面的语句就会报错。
2024-02-05 15:06:18
484
原创 Navicat的使用教程,操作详解
这篇文章主要针对mysql数据库。在使用Navicat之前,首先要确保你在本地已经安装好了,mysql数据库,安装教程可以参考我的另一篇博文。
2024-02-01 17:33:44
5284
原创 在windows平台上mysql的安装教程
这里直接选择的是mysql的社区版。自己使用直接选择免费的就行。设置root密码,我直接设置成了123456,方便学习测试。下一步,选择弱密码把,方便学习和自己使用。选择Server only 就行。打开cmd,进入到安装目录。3.验证是否安装成功。
2024-02-01 14:56:04
912
原创 visual studio 对c++的relesae 版本的代码进行调试,打断点
要想对relesae版本代码进行调试,需要进行设置,去掉优化。1.确保调试格式信息,是程序数据库zi。
2024-01-25 16:06:12
440
原创 对c++生成的动态链接库dll进行调试,打上断点
如果你的项目使用c++开发的是动态链接库dll,开发除了专门给其他程序调用,比如c#开发的程序作为exe程序,去调用你的c++dll程序,或者java程序调用你的dll.这个技巧就派上用场了。
2024-01-25 15:55:58
1069
原创 开启dump文件,调试产生了崩溃的程序,方便windbg进行调试
运行这个bat脚本文件,当你开发的项目崩溃的时候,就会自动在 C:\Dumps 目录下自动生成对应的dump文件。然后就可以拿到windbg 里面进行调试。创建一个空白的bat,脚本文档。比如dump.bat。把下面的代码拷贝进去。
2024-01-25 15:41:12
477
原创 Visual Studio 给C++项目增加版本号,对版本号进行模块化管理
在资源目录那里选择,新增版本资源这一步比较简单正常项目中,经常有几十个dll项目,多个exe项目。要同时对这些版本进行管理,这里有一个简单的思路。
2024-01-24 20:47:50
1434
原创 c++实现和编写自己的string类
相信都用过stl里面的std::string 类,现在我们尝试一下实现自己的string类。1.因为我们有成员变量size 表示数组的长度,可以简单找到头尾的位置。5.根据输入的参数,创建新的空间,把旧的字符拷贝过去然后删除旧的空间。2.能够通过[]进行str[3],str[4]这种,输出对应的字符。另外还需要一个成员变量表示总的分配的数组空间的大小。1.stl迭代器的功能begin(),end()这种。5.内容重新分配内存的空间大小。4.遍历数组里面的字符进行输出。4.能够直接输出里面的内容。
2024-01-23 19:59:15
469
原创 mysql++库的分享和介绍
transaction类 :transaction类为数据库操作提供了事务机制,保证一系列操作的原子性Connection类:对Mysql数据库操作的基础,连接数据库相关的类Query类: 继承std::stringstream,因此,程序员可以像操作Stream 一样操作Queryle类,来生成正确的sql语句 Query query;我们也可以使用模板和ssql来生成正确的Query来对mysql进行操作。
2024-01-22 20:46:40
1546
原创 c++的struct结构体的序列化和反序列化和json的序列化和反序列化的通俗直白的解释和说明
序列化转换成字节流,能方便的进行保持和在网络进行传输。反序列化能把字节流数据转换成结构化的数据,方便读取和识别。首先要明白一个概念,如果用int*指针对,一块内存进行遍历这个指针每次加1实际上是向前移动4个字节,类似的shor*每次移动2个字节,BYTE*每次移动一个字节。
2024-01-22 19:28:12
1568
原创 c++写入内容到txt,excel文件中csv文件格式的简便方法记录
注意事项: ios::app的后缀是为了让每次写入这个文件都是往后面追加的形式,而不是覆盖之前的内容。
2024-01-19 16:11:58
526
原创 设计模式之工厂模式(简单工厂模式,工厂方法,抽象工厂),使用c++实现工厂模式
工厂模式是对c++多态性质的充分使用,通过同一个基类指针能调用不同的实列化对象。优势:很好的遵循了开放-封闭的原则,对内程序内的修改是封闭的,对基类的派生类的扩展开放是允许的。如果有新的需求,只需要继承基类,增加新的派生类就可以了。减少了项目更新的时候对项目代码修改的数量,通过新增派生类就可以解决问题工厂模式总共有三种,简单工厂模式,工厂方法模式,抽象工厂模式三种,在接下来的内容中会分别对三种模式进行介绍,介绍模式是这样的,简单叙述+uml类关系图+实例代码。本文主要参考了一书。
2024-01-14 16:21:44
344
原创 c++动态链接库dll的封装和调用
上面用三种方法创建了导出函数,_declspec(dllexport)修饰函数,_declspec(dllexport)修饰类,在def文件中进行声明。在属性->vc++目录->库目录这里选择 lib文件生成的目录 ,写进去,这样我们的程序才能找到对应的lib文件。将反复使用的函数,或者多个项目都会共同调用的模块封装成一个库函数让项目去调用。来说明需要导出的模块,修饰符:__declspec(dllexport)在连接器->输入那里,选择我们要调用的lib文件。,这个函数能进行导出,其他的程序能进行调用,
2024-01-09 14:48:35
1479
原创 虚基类,虚函数和纯虚函数的区别
虚基类:解决c++多重继承,有一种情况菱形继承的时候,如果不进行处理,会导致基类在派生类中会产生多个实例的情况。虚函数:在基类中使用virtual进行声明的函数,方面在派生类中进行重写,通过虚函数可以实现c++的多态。纯虚函数:在基类中使用virtual进行声明的函数,并且没有具体的函数内容,纯虚函数参数后接“=0”;在ColleageBook中只有一份Book类的实例,避免了多个Book基类实列的存在。由于本文只讨论三者的区别,因此对虚函数的详细内容不过多的展开介绍。的,只能由派生类进行继承。
2024-01-08 16:58:54
492
原创 c++11使用智能指针来代替new delete
unique_ptr:独占指针,只能有一个变量指向这个地址,不能多个变量指向这个内存地址,创建了一个智能指针之后不能进行拷贝和复制,但是可以转移所有权。四,使用只能指针在项目中代替new delete,实现RAII的程序机制,初始化的时候获取资源,变量销毁的时候资源也进行释放。Tips:给只能指针分配对象的时候,只需要把对象类型写入到中就行,如果需要初始化的变量在()中写入变量。三,使用new delete的场景,比如下面的这段代码,经常在项目中我们会这么用。五,智能指针和new 结合使用。
2024-01-04 21:03:42
490
原创 vs visual studio c++ 查看指针指向的内存中的具体内容的小技巧,和像其他python ,c#一样方便
3.点击重新计算,就能看到对应的内存里具体内容了。2.输入你想看的变量对应的内存的空间大小。打好断点,断点处选择。
2024-01-02 20:55:38
966
python,pygame自制黄金矿工小游戏
2024-04-09
MFC界面美化之-重绘菜单栏(菜单栏美化)
2024-03-20
MFC界面美化之完整案例-对菜单栏,标题栏,按钮,列表进行美化 并且对最大化,最小化进行了自适应
2024-03-20
MFC界面美化之美化菜单栏,标题栏
2024-03-20
MFC界面美化之-list列表的美化(list重绘)
2024-03-19
MFC界面美化之-按钮美化(重绘按钮)
2024-03-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人