自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 显式和隐式方法

显式方法的计算量小,但是要求时间步长比较小,大的话误差会变大;隐式方法就是利用当前时刻和下一时刻的状态求解下一时刻的状态。隐式方法在时间步长较大的情况下误差较小,但是计算量比显式大。简单来讲显式方法就是利用当前时刻的状态求解下一时刻的状态;

2023-03-20 15:10:05 1340

原创 C++调用自己写的动态库会崩溃 std:: vector

写了一个C++动态库,在调用的时候会发生崩溃,经过一番定位,原因是动态库是Release版本,且接口函数含有std::vector,而调用动态库的程序是Debug版本。1、对应好版本,Release程序使用Release的库,Debug程序使用Debug的库。2、库的接口函数不使用标准库的容器,这样就版本就可以混用了。Debug和Release版本的标准库容器内存大小不一样。

2023-02-25 17:34:10 788

原创 C++ error C2143: 语法错误,缺少“;“(在”<“的前面)

折腾一会后发现是Point没有加命名空间,而error C2143: 语法错误,缺少";"(在”

2023-02-25 17:16:49 2140 2

原创 UE4编辑器间隔一会儿就发出提示: request failed, libcurl error: 7;libcurl info message cache 0

UE4EditorUE4编辑器间隔一会儿就发出提示: request failed, libcurl error: 7;UE4默认会收集编辑器的信息,并且反馈给服务器。而我离线使用UE4的,所以它连不到服务器,提示&报错。EditorPreference -> Privacy ->Bug Reports 选择。EditorPreference -> Privacy ->Usage Data 选择。报错内容显示是连接一个服务器地址失败;

2022-10-26 14:13:27 1940

原创 聚焦到Windows的窗口,激活窗口获取键盘输入,不需要鼠标点击,C++接口,focus, active, foreground

ue4怎么用:https://blog.csdn.net/qq_31042143/article/details/122226955。点击WinB后,WinA失去焦点,但我想让WinA获得焦点,获得键盘输入。假设windows上开了2个窗口,分别叫WinA和WinB;2、让WinA置于前面。

2022-10-22 15:13:29 472

原创 UE4 Rotation的欧拉角理解 顺序、内外旋

内外旋、旋转顺序、角度值。定好这3个量才算定好一个欧拉角。

2022-10-22 10:43:48 1784

原创 Git使用

cmd进入本地想纳入版本管理的目录, 使用git init,初始化版本管理,它会生成.git文件,用于本地版本管理;Git bash是一个终端窗口,用起来很卡不想用;而且我不喜欢太多鼠标操作,所以Git GUI也不想用;上git官网,下载git,安装,一路点默认;然后会有Git Bash 和Git GUI 2个应用。然后就可以用 git add、commit、status、reset等命令进行版本管理了。我在电脑上写一个项目, 想用Git进行版本管理。git可以本地管理、远程管理。

2022-10-02 11:47:17 83

原创 Visio自定义连接线,连接点位置

visio支持添加连接点,步骤如下:1、指针工具选中想要添加连接点的图形2、点击工具栏的"x"按钮3、按住Ctrl键,点击鼠标左键就可以为该图形添加连接点先定义想要的连线样式,存储该样式,然后画线前选择该样式就可以了,步骤如下:1、先在空白处随便画一条连接线,调整样式,比如箭头、颜色等2、侧边栏 形状->模具->更多形状->我的形状->组织我的形状4、回到visio,复制刚才设置好格式的箭头出现刚才保存的样式8、点击连接线,再点击自定义的样式;

2022-09-27 11:35:50 36201

转载 __builtin_prefetch

locality 必须是编译时的常数,也称为“时间局部性”(temporal locality)。时间局部性是指,如果程序中某一条指令一旦执行,则不久之后该指令可能再被执行;如果某数据被访问,则不久之后该数据会被再次访问。为 0 时表示,它没有时间局部性,也就是说,要访问的数据或地址被访问之后的不长的时间里不会再被访问;为 3 时表示,被访问的数据或地址具有高 时间局部性,也就是说,在被访问不久之后非常有可能再次访问;对于值 1 和 2,则分别表示具有低 时间局部性 和中等 时间局部性。

2022-09-19 11:01:50 342

原创 C++ float类型内存分布 6位有效数字

先转成二进制数(需要小数的二进制表示),移动小数点到最左边的非零数右下脚,然后在指数位记录移动的位数,此时最左边一定是1,所以省略。8388607是十进制的7位数,它不包含大于自己的7位数,所以浮点数的精度保证不到十进制7位,只能保证6位。今天听到浮点数float的前6位有效的说法,一脸懵逼,浮点数占32位空间,为什么只有前6位是有效的?float能表示的最大值:(2-2^(-23)) * (2 ^7-1);最小值:(2^(-23))*(2^(-127))1个符号位(1:复数,0:正数)...

2022-08-16 20:42:35 1179

原创 C++菱形继承

菱形继承的形状如下图。

2022-08-12 17:40:15 265

原创 UE4 UEngine.GameInstance.WorldContext.World.Level.Actor.Component

它拥有很多子类,其中比较常见的是ShapeComponent、StaticMeshComponent和SkeletalComponent,其中ShapeComponent能用于碰撞,但不能渲染出来,其余两者既可碰撞也可渲染。是一个运行游戏的高级管理者。它拥有一个FWorldContext指针,一般来说,一个游戏只会实例化一个GameInstance,生存周期持续到游戏结束,编辑器模式下,生存周期为打开Editor到关闭Editor。它是最高级类,拥有管理游戏世界的能力,游戏世界的信息存放在成员变量。....

2022-08-12 09:40:57 1027

原创 C++ mutable的用法

mutable修饰的变量可以在const函数里修改。mutable表示易变的,跟const是反义词。

2022-08-11 10:33:07 472

原创 C++移动语义

移动构造函数的输入是右值,编译器会自动调用移动构造函数来减少不必要的深度拷贝,比如下面的例子,因为CatBorn函数里的cat即将析构,是一个右值,所以编译器调用移动构造函数,把cat的pweight资源拿过来用。第一次调用myvector.push_back复制了foo的值到vector(foo保持原来的值。第二次调用使用了move函数把bar的值移动到vector里面(bar失去了他的值)。简单来讲,左值(lvalue: located value)就是可以拿到地址的值。a是左值,func()是右值。.

2022-08-09 20:35:24 329

原创 UE4代理小记

想到一个应用场景: 当角色升级时,需要改变UI等级提示,需要播放特效等等。如果不使用代理,代码大概是下面这个样子,角色代码里需要存放各种各样的指针,逻辑高度耦合。声明时需要F开头,蓝图需要用 UPROPERTY(BlueprintAssinable) 修饰;动态播支持序列化,可供蓝图使用,但是效率比较低。代理的意思:代替/代表他人处理某些事情。使用代理后,大概是这样子,角色解耦。注意: 多播没有返回值。......

2022-08-08 21:57:20 390

原创 C++参数带大括号 func({})

原来这是C++11支持的{}初始化方式,叫做“函数参数居然可以带大括号。

2022-08-08 13:58:39 1089

原创 带模板的类成员函数的用法

带模板的类成员函数的用法。

2022-08-04 19:18:38 226

原创 C++ 定位new运算符: new (void*) xxx

new(void*) xxx的用法

2022-08-03 21:35:08 1144

原创 为什么使用动态库还需要静态库.lib文件

程序运行的入口在exe里面,当执行exe到动态库内容时,需要跳到内存里的动态库区域,然后执行相关内容;这个动作就需要exe里面存在一个引路人,来告诉exe,这个函数是动态库的函数,需要跳到其他内存区域执行,而这个存在于exe的引路人就是动态库的.lib文件,因为.lib文件会编译进exe文件里,.dll文件不会被编译进exe里面;动态库的.lib文件只提供链接到动态库的功能,它本身不包含库的代码内容。...

2022-06-06 22:28:48 1483

原创 C++explicit关键字的作用

前言时不时就会看到explicit修饰的构造函数,它的作用是什么呢?

2022-02-12 14:15:45 527

原创 enum class

enum class

2022-02-10 18:58:51 596

原创 IP设置相关

起因:Windows设置IP地址的时候,不知道怎么填,不知道填的值是什么含义。对网络通讯的基本概念很模糊。IPv4: 32位, 总共也有2的32次方个,组成:网络号+主机号,网络号可以分成ABC三类,分别对应8、16、24位, 其余的为主机号为了避免浪费,衍生出子网号,也就是把一部分主机号拿出来,作为子网号简单粗暴地把子网号归类为网络号,也就是 IP:网络号(网路号+子网号)+主机号子网掩码的目的:告诉计算机网络号(网路号+子网号)是哪几位,主机号是哪几位CIRD:放弃ABC类的网络划分。

2022-01-19 11:37:59 1429

原创 error: C2632: “int”后面的“bool”非法

过程今天遇到一个错误 error: C2632: “int”后面的“bool”非法, 英文是 'int ’ followed by ‘bool’ is illegal;编辑器定位到某个库函数头文件的一行代码,如下 typedef int BOOL;看着没什么问题。搜了一下C2632这个错误的含义。当2个类型在一起时就会报C2632错误。如下图// C2632.cppint float i; // C2632回到报错代码, 当BOOL是一个基础类型时,便会造成2个类型在一起的现象。

2022-01-12 17:24:43 2011 1

转载 旋转矩阵变换左右手系

假定Sz是一个缩放矩阵,能把z取反,也就是Sz = 1 0 00 1 00 0 -1P = (x,y,z),P’ = (x,y,-z) 也就是P 和 P’在不同手性下表示相同位置的一个点 那么 P = Sz * P’,反之也成立,也就是 P’ = Sz * P平移变换的变换同上现在考虑Y轴的旋转,也就是yaw 假定在左手系下, P1 是 P变换后的结果,假定旋转矩阵是 R 也就是 P1 = R * P那么 P1在右手系下对应位置的点为P1’ P1’ = Sz * P1 = Sz*(

2022-01-04 14:57:07 1026

原创 windows系统不响应键盘输入,没有输入法,其他软件有键盘输入

现象:windows蓝屏重启后,发现输入法不见了,状态栏也没有输入法,而且按Win之后的搜索也不接收键盘输入,但是其他软件是可以正常接收键盘输入的。解决办法:重启输入法状态栏: “Win+R” 打开 "运行”, 输入 “ctfmon.exe”,“确定”,重启输入法状态栏。...

2020-12-14 10:07:02 218

转载 C++静态成员变量为什么要初始化

静态成员变量:静态成员变量是整个类共享的,存放在内存中的全局/静态区,生命周期直到程序结束。我们知道C++类的静态成员变量是需要初始化的,但为什么要初始化呢。其实这句话“静态成员变量是需要初始化的”是有一定问题的,应该说“静态成员变量需要定义”才是准确的,而不是初始化。两者的区别在于:初始化是赋一个初始值,而定义是分配内存。静态成员变量在类中仅仅是声明,没有定义,所以要在类的外面定义,实际上是给静态成员变量分配内存。...

2020-10-29 17:01:53 449

原创 C语言 带参数的#define中#和##的基本用法

1、单#的作用是把参数变成字符串;2、##的作用是连接组合参数名字;废话不多说,看个简洁的例子就明白了#include <iostream.h>using namespace std;#define TEST0(arg) cout << arg << endl#define TEST1(arg) cout << #arg << endl#define TEST2(arg) cout << i##arg <<

2020-10-22 19:00:13 1590

原创 记一次qt程序崩溃

程序莫名崩溃,提示段错误segmentation fault,没崩溃时变量的数值也是乱的,一开始猜想是内存泄漏,最后发现并不是。用gdb调backtrace(bt)提示#0 0xb4bf58d8 in ?? () from /lib/libc.so.6cannot access memory at address 0x0#1 0xb4bf9134 in ?? () from /lib/libc.so.6cannot access memory at address 0x0看不出来哪里出错了。用

2020-10-13 17:21:28 715 2

原创 打开smaba的设置界面

system-config-samba

2020-09-25 10:46:17 103

原创 回调函数,回调

首先,明确下概念,回调是一个过程,回调函数是这个过程中的一个函数;再明确一点,回调函数和普通函数没有任何差别,是的,没有任何差别,你想怎么写就怎么写,只要能满足需求。回调的本质:把指向回调函数的指针作为参数传给其他函数,其他函数通过这个指针就能使用回调函数。回调过程涉及3个部分,调用者、使用回调函数的函数、回调函数。...

2020-07-31 14:24:01 279

原创 sizeof,strlen

#include <stdio.h>#include <string.h>int main(){ char buf[1024] = {0}; printf("sizeof(buf) = %lu\n", sizeof(buf)); printf("strlen(buf) = %lu\n", strlen(buf)); return 0;}打印结果:sizeof(buf) = 1024strlen(buf) = 0

2020-07-21 10:05:46 83

原创 printf,sprintf,snprintf,fprintf

前言:每次遇到这几个函数都要看看怎么用,md还是要整理一下才记得住。printf: 输出格式化数据到 标准输出sprintf: 输出格式化数据到 字符指针指向的字符snprintf: 输出size大小的格式化数据到 字符指针指向的字符fprintf: 输出格式化数据到 文件句柄指向的文件#include <stdio.h>int main(){ char pStr[100]; char pTmp1[] = "hello"; printf("pri

2020-07-20 18:23:05 128

原创 C语言字符串指针和字符串数组的区别

C语言里的指针、数组、字符串等等这些东西在我编程入门的时候一直捋不清楚,而为什么捋不清楚,是因为我不知道程序运行时内存是怎么分区的,更不知道这些变量啊、常量啊究竟是放在内存里的什么地方。所以说,想清晰地认识指针和数组的区别,得先了解一下程序运行时内存的分区、变量存放位置。C语言程序运行时的内存分为以下5个区,详细可看这篇博客: http://blog.csdn.net/shulianghan/article/details/20472269栈区 (stack) : 存放内容 : 局部变量, 参数;堆区

2020-06-14 18:58:47 1990 1

原创 我的VIM设置和记不住的命令

输入 sudo apt install vim 下载vimvim没有语法高亮自动缩进等等,需要设置一下设置 vim 编辑环境有两种形式:一种直接修改 /etc/vimrc 文件,这种设置方法会作用于所有登录到 Linux 环境下的用户。另一种是在用户登录的~目录下创建一个 .vimrc 文件,在其中进行自己习惯的编程环境的设置,这样当别的用户使用时并不相互影响。一般情况下我们不提倡第一种方...

2020-06-14 17:20:06 139

原创 哈希表 粗浅理解

哈希表是什么?存在的意义在哪里?哈希表是一张表,什么是表?假设班上有50个人,成绩表,座位号排序,姓名,性别,成绩编程上可以用一个一维数组表示,数组元素为一个指针,指向该学生信息的结构体struct Score * arr[50];这就是表,当你想知道班里21号同学的成绩时,只需要定位到表里第21行,代码里只需要访问数组元素arr[21-1]。但是通常情况下,我们并不清楚班里所有人的座位号,假如我想知道班里王小刚的成绩,我不得不遍历这张成绩表,直到找到王小刚这个名字(这里假设座位号排序和人名没有

2020-06-10 16:12:10 202

原创 Qt Qml 查看所有字体、添加字体库、使用字体库的方法

/*//设置全局字体QFont font;font.setFamily(“FZLanTingHeiS-UL-GB”);app.setFont(font);*/int index = QFontDatabase::addApplicationFont("/doc/lib/XI.TTF");if(0 != index) { cout << "failed to load XI...

2020-04-28 14:43:00 4856 1

原创 Qml 自定义滑动解锁条展示+源码分享

字体颜色变化参考: https://www.cnblogs.com/surfsky/p/4293117.html一、废话项目需要一个滑动解锁功能,本来以为qt有现成的控件可以用,但是找了半天没找到,网上也没作业抄,所以就动手写了一个,如果对你有帮助请点个赞满足下小弟的虚荣心 ^-^。二、效果三、调用方法hint :文字sourceLock:锁定的图标sourceUnlock:解锁的图...

2020-03-30 19:47:05 1065 8

原创 matlab打开后闪现出dos框后就没了的解决办法

情况:工作原因需要安装matlab,轻车熟路的安装破解;完成后点开matlab,只有一个dos框一闪而过,并没有打开matlab。之后试过重装、重启、换版本、网上搜解决方法,但都没有成功。最终在网管的提示下,得出一个解决办法,分享给遇到同样问题的小伙伴。原因:打不开matlab的原因是matlab与正在运行的某些服务有冲突;解决思路是禁用掉有冲突的服务,但因为很难找到哪个服务有冲突,所...

2020-03-14 16:38:27 3270 4

原创 VMware虚拟机 能够和主机复制粘贴文件,但无法自适应分辨率的解决办法

情况:最近突然发现虚拟机的分辨率变得很低,想通过设置自动适应来解决;点击vamware的 查看->自动调整大小 的自动适应是灰色的,点不了;以为是vamware tool 出问题了,重装了一遍,没用,但是虚拟机和主机之间能够复制粘贴,说明vmware tool 应该是没问题的;网上搜了一下没解决;查看设置的时候发现虚拟机处于 自由拉伸 状态。问题所在:无意间设置了拉伸客户机。...

2020-03-09 15:12:43 852 2

原创 linux, tftp上传与下载文件的参数介绍

今天用到tftp上传文件,网上搜了一圈没看到简明扼要且正确的操作说明,所以写一下。tftp 原理介绍: https://blog.csdn.net/young2415/article/details/91125718一、参数的意义-g : get 客户端下载服务器的文件-r: remote file 服务器的文件-p: put 客户端上传文件到服务器-l: local file 客户端...

2020-01-13 16:10:24 509 1

空空如也

空空如也

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

TA关注的人

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