自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【CMake】install用法

以前一直不清楚install的具体作用,现在明白了,其实就是把你的文件(生成的二进制,源代码或者任意)给复制(也可以说安装)到指定路径。

2024-06-10 12:58:36 345

原创 【cmake】cmake cache

cmake cache是cmake在配置好后生成的一个CMakeCache.txt的文件,里面存储了一堆变量,这些变量一般都是关于项目的配置和环境的。比如你用的什么编译器,编译器选项,还有项目目录。

2024-06-06 22:18:00 384

原创 【C++】【VScode】常用快捷键

在Visual Studio Code (VSCode) 中,有几个快捷键可以帮助你更高效地编写C++代码,特别是与代码提示、自动完成等功能相关的快捷键。所有平台: 当你键入函数名并输入左括号(时,VSCode会自动显示此函数的参数提示。需要注意的是,这些快捷键的有效性可能受到你安装的扩展和当前的编辑器配置的影响。这个快捷键会弹出一个建议列表,显示可能的代码完成项,如变量名、函数名或其他可用的代码片段。参数提示可以帮助你了解函数期望的参数,包括它们的类型和顺序。移动到下一个/上一个参数(在代码完成中)

2024-05-30 10:53:59 443

原创 【C++】【Windows】程序加载DLL库时依次查找哪些目录

有时,开发者可能会使用 SetDllDirectory 或 AddDllDirectory 函数增加额外的目录到搜索路径中,这会影响DLL搜索顺序。另外,使用 LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR 和相关的加载选项能够更改默认的搜索顺序。具体的加载顺序有时还可能受到系统配置和具体的API调用方式(比如 LoadLibrary, LoadLibraryEx)的影响。所以,上述顺序并不是固定不变的,可能会根据不同的情况或系统配置有所改变。

2024-05-29 15:31:23 302

原创 分清异步和同步

要理解一个东西:异步不是一个技术点,而是你程序中的任务执行的方式,可以说是一种模型。作为程序员,你也可以理解为你要实现的目标。而跟实现异步有关的技术点有:回调,多线程,消息机制。为什么要实现异步:为了最大化的利用计算机的资源。A->B->C->IO操作->D->E。很明显,IO操作是需要异步的部分。比如你的程序走到了IO操作了,1、调用方根本就不关心执行结果。同步就是等待,异步就是不等待。2、调用方需要知道执行结果。假设任务流程是这样的。

2024-03-04 17:13:31 374 1

原创 【加密】加密模式CBC,CTR,ECB

由于每个块都依赖于前一个块的密文,因此在加密时需要一个初始化向量(IV),而且每个块的加密是并行进行的,因此适合并行加密。这意味着如果同样的明文块被加密多次,每次加密的结果都是相同的,这样就可能会导致一些安全性问题,例如信息泄漏或模式攻击。在 CBC 模式中,明文被分割成固定大小的块,然后每个块都会与前一个块的密文进行异或操作(XOR),然后再进行加密。ECB 是一种加密模式,它是最简单的加密模式之一,但是也是最不安全的加密模式之一。在 ECB 模式中,明文被分割成固定大小的块,并且每个块都独立地加密。

2024-02-22 16:30:34 440

原创 【C++11】委托构造函数和集成构造函数

在同一个类中一个构造函数可以调用另一个构造函数。

2024-01-22 16:47:18 370

原创 多线程可以加很多锁吗

最近在做一个作业,要求用多线程处理一个很大的数据的压缩。因为数据很大,所以将数据分成很多段,并行进行计算,我定义了一个task的数据结构来描述每个计算任务信息,比如数据大小,是否完成等等。然后再将压缩的结果合并。问题是这样:首先每一段压缩后的结果的长度是不确定的,并且最后合并结果时也不能有空隙。这就意味着合并时必须等待每个task计算完成,但是不能等所有task计算完成再合并,因为这样合并要等很长时间,最后达不到要求。

2024-01-22 12:32:31 361

原创 【C++】bool操作符重载

C++的重载操作符还能重载bool,实际上这是转换操作,把类型转换为bool类型。一般用来判断一个封装了资源的类其资源是否还在。

2024-01-15 18:30:21 500

原创 【C++11】可变参数模版

C++11中允许模板定义0-任意个模板参数。写法如下:…的语义为:1)声明一个参数包,参数包可以包含任意个参数;2)在模板定义的右边,可以将参数包展开成一个一个独立的参数。

2024-01-08 21:56:14 339

原创 【C++11】可调用对象

C++11,可调用对象

2024-01-08 19:47:52 378 1

原创 【OpenGL】一些容易遗忘的标准

当链接着色器至一个程序的时候,它会把每个着色器的输出链接到下个着色器的输入。当输出和输入不匹配的时候,你会得到一个连接错误。纹理贴图的(0,0)是左下角。OpenGL是右手坐标系。渲染三角形时按顺时针。

2023-12-27 23:21:27 371 1

原创 【OpenGL】VAO,VBO,EBO,顶点属性

glDrawElements函数从当前绑定到GL_ELEMENT_ARRAY_BUFFER目标的EBO中获取其索引。3、通过glVertexAttribPointer调用与顶点属性关联的顶点缓冲对象。当绑定了VAO后,这个VAO会追踪那些绑定VBO,EBO以及顶点属性的函数调用。VAO能存储VBO、EBO和顶点属性。所以确保没有在解绑VAO之前解绑索引数组缓冲,否则它就没有这个EBO配置了。2、通过glVertexAttribPointer设置的顶点属性配置。顶点数组对象与顶点缓冲对象相比多了可以。

2023-12-27 22:50:16 507

原创 【C++】sizeof

sizeof

2023-12-27 17:55:31 359 1

原创 【C++】类型转换操作符

使用方法有两种,一种是利用构造函数,二是用。写C++可以让一个类A可以转换成类B。operator实现一个。

2023-12-26 16:40:43 380 1

原创 【C++11】理解基于范围的for循环,并且实现自定义的range循环

也就是说只要for-range循环冒号后边的东西是个类,这个类只要实现begin(),end()方法,并且两个方法返回一个迭代器即可。这个for-range循环实际上只是C++的语法糖,它是下面代码的等价替换。冒号前面的局部变量声明只要求能够支持容器类型的隐式转换。现在我们要实现一个类似于Python的range循环。这两种方法的弊端在于,都要写begin,和end。这个range是个函数,它返回一个我们前面说的类。我们要实现迭代器,满足要求的类,和range函数。新的基于范围的for循环是这样的。

2023-12-26 15:59:40 544 1

原创 C++11 列表初始化

C++11之后,列表初始化可以涵盖所有类型的初始化。

2023-12-24 14:15:44 332 1

原创 C++11模板的改进

比如我们想要一个key固定为string类型的map。typedef不方便跟模板结合,而 using可以。定义函数指针类型也更方便。

2023-12-24 10:31:42 345 1

原创 【C/C++】将二进制数据流转换为字符串

只支持4096个字节的显示。

2023-12-22 15:43:31 728

原创 【WSL】wsl连接usb串口设备

wsl检测串口设备

2023-12-20 10:06:57 1114 2

原创 【cmake】记录VS 2022 + cmake 配置glfw3库的过程

首先我在想要在我的cmake项目里添加glfw3的库。我想要使用find_package来找到库,这样如果我想再创建新的项目引入glfw库时也不需要去指定目录了。构建时我设置了DCMAKE_INSTALL_PREFIX,用于指定了其install目标的目录。在然后,我们在要引用的项目里把这个路径添加进行。其中cmake的find_package要找的glfw3Configure.cmake就在lib文件夹下面。这个代码肯定会报错,因为我们还没有glfw库。然后编译好的库就会到指定的install文件夹下。

2023-11-16 12:25:33 573 1

原创 【vscode】如何带参调试

在launch.json中设置好后,不能点击右上角的调试按钮。要点击侧边栏的调式,要选择好配置项。

2023-10-17 22:45:06 56

原创 【visual studio】常用快捷键

转到声明 转到定义。

2023-10-16 23:17:05 123 1

原创 一名外国老程序员的人生箴言

你可以结识很多想法相同的人,大家互相交流,不一定有相同的兴趣,但是对方会用跟你相同的方式思考问题,这很酷。我心里就会很讨厌这种技术,但会把它推荐给客户,比如我恨 Jenkins,但把它推荐给新客户,我不觉得做错了。(22)发生事故时,如果周围的人试图将责任归咎于外部错误或底层服务中断,那么是时候离开这家公司,继续前进了。(18)手腕和背部的健康问题可不是开玩笑的,好的设备值得花钱。(25)做自己喜欢的事情并不重要,不要让我做讨厌的事情更重要。(9)如果我发现自己是公司里面最厉害的工程师,那就该离开了。

2023-10-04 09:52:37 36 2

原创 windows如何使用linux的命令

GitBash搭配微软终端,界面美观:https://www.cnblogs.com/cong-wang/p/15026535.html。最好的方式就是用Git自带的GitBash.

2023-09-18 23:57:04 23 1

原创 【C++】Visual Studio warning C4819: 该文件包含不能在当前代码页(936)中表示的字符 && “常量中有换行符”的解决办法

打开“文件”菜单下的“高级保存选项”,设置编码 Unicode(utf-8带签名)- 代码页 65001 可以解决。在一个CMakeLists项目中遇见了这个BUG。代码都是没用问题的。原因是代码文件的字符编码格式的UTF8无签名的。

2023-09-11 11:13:19 300

原创 C++ 编译error :#error “No Target Architecture“

我是在项目中用到类型uint32_t时直接include了导致了这个错误,应该直接引用

2023-06-07 23:21:22 326 1

原创 【QT】QT程序打包成一个单独的exe发布

QT程序打包

2022-10-28 22:42:58 189

原创 【QT】visual studio QT 32位和64位生成配置

qt vs 项目设置

2022-08-30 22:27:56 2966

原创 SQL Server2012 安装即需要更新以前的VISUAL STUDIO 2010实例解决方法

数据库课要求安装sql server 2012,今天刚好解决。中间也踩了两个坑,把资源和整个流程码下来,希望可以帮到更多人。首先下载安装文件 https://pan.baidu.com/s/1lUcgBBaCTEXpiehnP7Cntw64位,32位根据自己电脑选择,第三个exe程序下面你有可能会用到。下载的解压包是用快压的方式压缩的,一般的压缩软件解压不了,建议大家去百度一下下载这个...

2019-03-04 22:36:18 29452 21

空空如也

空空如也

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

TA关注的人

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