摘要: C++虚继承原理与类布局分析 引言 在开始深入了解虚继承之前,我们先要明白C++引入虚继承的目的。C++有别于其他OOP语言最明显的特性就是类的多继承,而菱形继承结构则是多继承中最令人头疼的情况。 我们都知道,当派生类继承基类时,派生类内部会保存一份基类数据的副本。在D->B|C, B|C->A的菱 阅读全文
posted @ 2024-04-02 19:51 千松 阅读(149) 评论(0) 推荐(1) 编辑
摘要: 将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安装教程,同时由于当时硬盘空间不太够于是就打算安装到U盘上,也因此踩了不少坑。 但128G的U盘都拿来装Arch的话未免也太浪费了一些,所以本篇教程也会演示如何保留一部分空间,使其继续保留U盘的功能。 写这篇博客也主要是因为,这两 阅读全文
posted @ 2023-03-15 18:48 千松 阅读(1635) 评论(0) 推荐(1) 编辑
摘要: 使用OpenMP与AVX优化矩阵乘法 由于课设内容做的太过简(mo)单(yu),于是在去年12月初的时候就计划写三篇博客随笔作为实验报告,前两篇简单介绍了OpenMP和SIMD指令进行铺垫,本篇将会介绍他的应用场景——优化矩阵乘法。 前两篇的传送门: 1.OpenMP优化for循环的基础运用 2.S 阅读全文
posted @ 2023-01-04 22:39 千松 阅读(853) 评论(0) 推荐(2) 编辑
摘要: SSE与AVX指令基础介绍与使用 SSE/AVX指令属于Intrinsics函数,由编译器在编译时直接在调用处插入代码,避免了函数调用的额外开销。但又与inline函数不同,Intrinsics函数的代码由编译器提供,能够更高效地使用机器指令进行优化调整。 在开始之前可以先在CPU-Z或者Intel 阅读全文
posted @ 2022-12-07 21:51 千松 阅读(3322) 评论(0) 推荐(1) 编辑
摘要: OpenMP优化for循环的基础运用 OpenMP作为多线程并行优化API,其使用方式与C++自带的多线程使用方式有很大的不同。 在使用OpenMP时,我们是通过 #pragma omp+字句 所组成的命令对线程的行为进行控制,之后编译器会自动对这些命令进行分析与优化,将相关代码由串行变为并行。 整 阅读全文
posted @ 2022-12-05 18:46 千松 阅读(1676) 评论(0) 推荐(2) 编辑
摘要: 挂载脚本时文件名和类名的关联方式 写过Unity脚本的人应该都知道,挂载脚本的文件名和类名必须相同 今天写新功能的时候偶然发现了这个规则的底层逻辑 并且发现这个规则并非必须的,实际上Unity是根据脚本文件名来“寻找”同名的类 这二者最根本的差距就在于,你可以把你需要的类写到别的文件里并正常使用 听 阅读全文
posted @ 2022-11-21 15:43 千松 阅读(376) 评论(0) 推荐(0) 编辑
摘要: Unity3D 使用LineRenderer绘制尾迹与虚线 1.添加LineRenderer组件 先创建一个3D对象,然后点击Add Component选项 搜索并添加LineRenderer组件 添加完成之后我们就能看到一个突兀的紫色方块出现在了球体旁边,这个就是初始状态(~~还没孵化出来~~)的 阅读全文
posted @ 2022-10-29 16:05 千松 阅读(2661) 评论(0) 推荐(1) 编辑
摘要: 通过位运算将指定位的值置0或1 问题样例 假如现在有一个8bit二进制数A,其可以为任何值,所以这里不妨先设A=(xxxxxxxx)2,{x|0,1} 现在需要你将A的几个指定位修改为1或0,例如将A修改为(x1x1xx00)2 要解决这个问题我们只需要用到与、或两种位运算 与运算的性质 与运算的真 阅读全文
posted @ 2022-10-27 19:40 千松 阅读(553) 评论(0) 推荐(0) 编辑