- 博客(811)
- 资源 (13)
- 收藏
- 关注
翻译 Git之pull后回退版本
当使用Git更新代码后想要回退至上一版本,可以通过查看reflog找到最新的提交ID,然后使用`git reset --hard HEAD@{n}`进行回退,其中{n}为提交ID对应的索引。当使用git pull更新代码后,然后我想回退上一个版本,怎么办?使用git reflog查看历史记录,出现类似于下面的东西。
2025-04-09 00:38:03
4
原创 vcpkg安装boost库
安装的过程中,会下载源码编译,可能会遇到hash值不对的问题,这里以其中的一个依赖库boost-describe为例,可能需要修改\vcpkg\ports\boost-describe\portfile.cmake中的SHA512值。
2025-04-09 00:26:02
41
转载 Visual Studio版本与工具集,MSVC对应关系
Visual Studio 2022对应的是V143。Visual Studio 2019对应的是V142。Visual Studio 2017对应的是V141。Visual Studio 2015对应的是V140。Visual Studio 2013对应的是V120。Visual Studio 2012对应的是V110。Visual Studio 2010对应的是V100。Visual Studio 2008对应的是V90。Visual Studio 2005对应的是V80。
2025-04-08 18:14:55
8
原创 如何通过Jenkins进行自动化构建项目
Pipeline(流水线项目):这个选项允许用户创建一个Jenkins Pipeline,在Pipeline中定义了一系列流程和任务,可以自动化构建、测试、打包、发布和部署过程。Freestyle project(自由风格项目):这个选项允许用户创建一个自定义的项目,可以执行任何任务,无论是构建、测试、部署还是其他工作。新建Item,输入工程的名称(例如 My Pipeline) ,选择多分支流水线(Multibranch Pipeline),确定。配置构建的具体步骤,如编译、打包、测试等。
2025-04-08 17:56:17
683
原创 FIND_PACKAGE之REQUIRED和QUIET
使用REQUIRED确保依赖包必须被找到。使用QUIET可以抑制查找包时的一些标准输出信息。可以同时使用这两个选项来同时满足需求和减少不必要的输出。
2025-03-18 20:06:41
336
转载 科研人一定要知道的在线LaTeX编辑器——Overleaf
LaTeX可以说是每个科研人都必须会的论文排版工具,相较于word,LaTeX排版让人更加省心,并且很多学术期刊都有自己的LaTeX模板,我们只要套用相应的模板,就可以轻松得到一篇格式正确的论文。进入官网后注册登录,就可以看到如下界面,点击“New Project”即可创建项目。Overleaf是一款在线LaTeX编辑器,不需要配置环境,打开网站就能轻松开启编辑,同时提供超多LaTeX模板,并且具备云端储存、共享协作功能。然后选择你要共享的人的邮箱就可以啦,还能设置分享权限,改为“可修改”或“仅阅读”。
2025-03-09 00:34:11
181
原创 以前用作变量,与其在此处作为函数或命令名称的用法冲突。
这是matlab中的一个错误,提示变量有问题。检查了脚本,发现是对变量使用了“+=”运算符,而matlab中没有这个运算符,所以报错。其实是乱报错误,修改变量名称是没有用的。
2025-03-06 19:39:53
131
转载 EDA工具(二)Synopsys Sentaurus TCAD 2018安装教程
在linux系统内添加软件运行的环境变量,通俗的说就是软件的“查找表”,告诉linux系统,我把软件安装在哪个路径下。如果是.run格式的安装文件,找到SynopsysInstaller_v5.0.run文件,在terminal里进入该路径下,输入下面命令,解压。设置开机启动,让linux系统在启动时,就启动license服务,以供sentaurus运行使用。原文链接:https://blog.youkuaiyun.com/qq_24941989/article/details/135170533。
2025-02-23 00:50:48
142
转载 CentOS系统挂载NTFS格式移动硬盘:ntfs-3g的实践应用
在Linux系统中,尤其是CentOS,直接挂载NTFS格式的硬盘可能会遇到一些困难。但是,通过安装ntfs-3g插件,我们可以在CentOS下顺利挂载NTFS硬盘。如果在安装过程中出现“no package ntfs-3g available”的错误,那可能是因为ntfs-3g软件包并未在CentOS的官方仓库中。此时,我们需要安装EPEL(Extra Packages for Enterprise Linux)仓库,它包含了大量的额外软件包。安装完ntfs-3g后,我们就可以开始挂载NTFS硬盘了。
2025-02-23 00:15:48
241
转载 CentOS 使用aliyun更新源
CentOS,是基于Red Hat Linux提供的可自由使用源代码的企业级Linux发行版本;是一个稳定,可预测,可管理和可复制的免费企业级计算平台。下载地址:centos安装包下载_开源镜像站-阿里云。
2025-02-22 23:48:53
64
原创 CentOS 6 安装输入法
安装语言支持:yum groupinstall "Chinese Support"更新系统软件包:yum update。
2025-02-22 23:34:34
115
转载 mysql top检索前几行
此外,对于更复杂的查询(如每个分组中的顶部记录),可能需要结合使用其他SQL功能,如子查询、窗口函数(如RANK()、ROW_NUMBER()等)或分组(GROUP BY)语句。虽然 TOP 和 LIMIT 子句在功能上是相似的,都用于限制查询结果的数量,但它们在语法上有所不同,且分别应用于不同的数据库系统。当然可以,我将通过一些具体的示例来进一步说明TOP(在SQL Server和Access中使用)和LIMIT(在MySQL、PostgreSQL、SQLite等中使用)的使用场景。
2025-02-22 23:26:52
22
转载 麦克斯韦方程(摘自费曼物理学讲义)
原文链接:The Feynman Lectures on Physics Vol. II Ch. 18: The Maxwell Equations
2024-11-11 00:14:40
168
原创 浅析正交投影矩阵和透视投影矩阵的推导
参数C和D的推导,也是要求z在近裁剪面位置时,被转换为-1;而在远裁剪面位置时,转换为1。在opengl中,分别通过glOrtho函数和glFrustum函数得到正交投影矩阵和透视投影矩阵。) 参数分别指定映射到窗口左下角和右上角的近剪裁平面上的点,假设眼睛位于 (0,0,0)。) 参数分别指定近剪裁平面上映射到窗口左下角和右上角的点,假定眼睛位于 (0、0、0)。在往NDC坐标系转化时,要求z在近裁剪面位置时,被转换为-1;其中前四个参数,通过相似三角形的比例关系得出。参数指定远剪裁平面的位置。
2024-10-27 01:15:49
687
2
原创 如何从视图矩阵中获得相机的位置
上面的三维向量osg::Vec3d(0,0,0)与四维的矩阵相乘时,先把三维向量扩展为四维向量(补1)后再相乘。这里解释一下,先求视图矩阵的逆矩阵,该矩阵的最后一行的前三个元素就是相机的位置(x, y, z)osg里一行代码就搞定了!
2024-10-19 16:19:48
180
原创 波数与波长的关系公式
上面的10000是量纲不同引起的,因为电磁波的波长使用的单位是μm(使用m作单位表示的波长是一个很小的数),还有波数若是使用。上面的2π表示的是电磁波传播方向上每m的相位变化。的量纲,就会是一个很大的数,所以使用。波数与波长的关系公式:k=1/λ。
2024-09-25 23:10:43
3035
原创 TypeError: only size-1 arrays can be converted to Python scalars
X, Y = np.meshgrid(xx, yy) # 生成网格,尺寸为(np.size(yy),np.size(xx))写了几行python代码,运行报错,如题。
2024-09-22 22:34:22
200
转载 USB-C和Type-C一样吗
需要注意的是,虽然USB-C和Type-C是同一种接口,但是它们的名称来源于不同的制造商。USB-C是USB的下一代接口,由USB-IF协会开发,而Type-C是USB-C的商标名称,由Type-C联盟开发。总的来说,USB-C和Type-C是同一种接口,具有许多相似的特性,但是它们的名称来源不同。这种接口已经成为现代电子设备的标配,可以提供更快的数据传输速率和更稳定的连接,同时也可以支持视频传输和充电功能。随着科技的发展,许多设备开始采用USB-C或Type-C作为主要的接口类型。
2024-08-31 23:31:40
980
转载 OpenGL库 资源下载
有了GLEW扩展库,你就再也不用为找不到函数的接口而烦恼,因为GLEW能自动识别你的平台所支持的全部OpenGL高级扩展函数。也就是说,只要包含一个glew.h头文件,你就能使用gl,glu,glext,wgl,glx的全部函数。进入官网 www.opengl.org 然后找到 OpenGL SDK 按钮点击进入。是基于OpenGL着色语言(GLSL)规范的三维软件的C++数学库。打开这个网址然后选择一个版本就可以下载了。然后可以看到所有opengl相关的库。glm是一个发展了十年以上的数学库。
2024-07-23 00:49:43
1524
转载 jar包和war包的区别
war包和项目的文件结构保持一致,jar包则不一样jar包里没有静态资源的文件(index.jsp)一个web应用程序的目录和文件很多,想要将这个web应用程序部署到另一台机器上就很麻烦,这时可以将web应用程序打包成WAR文件,利用这个文件可以把servlet类文件和相关的资源集中在一起进行发布。这个过程中,web应用程序就不是按照目录层次结构惊醒部署的,而是把WAR文件作为部署单元来使用。
2024-07-21 01:43:24
614
原创 cmake-gui如何删除“Where to build the binaries“下拉框里的项
如题,下拉框里有的项(构建目录)已经不用了,残留在那里容易选错,如果想删除怎么删?这种要求无法通过在cmake-gui软件界面上操作做到,这令人感到很烦恼,那么在哪里修改呢?你也许认为在cmake-gui的安装目录里有文件记录了这些下来的项,其实没有。“计算机\HKEY_CURRENT_USER\SOFTWARE\Kitware\CMakeSetup\Settings\StartPath”这下面有WhereBuild0,WhereBuild1,...这样的键值对,不要的删掉相应的就可以了,注意:不要删错。
2024-07-03 00:20:43
255
原创 glGetError()返回1281
今天遇到了一个问题,如题。不断跟踪排查,发现是glGetAttribLocation返回-1,原来顶点着色器中的声明的属性,没有用到,在着色器文件编译时被优化了。所以不是什么错误,不影响程序的运行。
2024-06-14 01:32:06
440
原创 matlab中的fftshift和ifftshift作用
这是因为傅里叶变换后,频谱的能量集中在两端(或四个角)上,为了观看频谱更加直观,使能量集中在中间(或中心),就要用到fftshift。你也许会问:为何matlab中的fft和ifft,fft2和ifft2变换后,要对频谱进行fftshift和ifftshift处理?注:不能通过两次fftshift(或iffshift)复原频谱,而应该通过成对使用fftshift和iffshift达到。而ifftshift所作的事正好相反,将频谱恢复到能量集中在两端(或四个角)上,接着就可以做逆傅里叶变换了。
2024-06-13 01:07:29
1045
转载 OGRE 三维图形渲染引擎
OGRE 是一个三维 (3D) 图形渲染引擎。它是面向对象的,并且高效,抽象化了不同的 API 和平台,这样可以以场景为对象来使用物体,支持多种场景。它已经成功地被应用于诸多三维仿真领域,包括网络游戏和三维仿真项目。功能和特点◆ 简单易用的面向对象接口◆ 最小化渲染 3D 场景◆ 自动完成功能◆ 类设计简洁◆ 完全的面向对象◆ 支持 Direct3D 和 OpenGL◆ 支持 Windows,Linux 和 Mac OSX◆ 强大的材质声明语言◆ 支持顶点和片断程序。
2024-05-23 22:47:22
433
1
原创 cmake编译Qt6.2.4 mysql驱动
1、命令行执行:cmake -B build -G "Visual Studio 16 2019" -DCMAKE_PREFIX_PATH="C:/Qt/6.2.4/msvc2019_64" -DCMAKE_INSTALL_PREFIX=install -DMySQL_INCLUDE_DIR="path\to\mysql-winx64\include" -DMySQL_LIBRARY="path\to\mysql-winx64\lib\libmysql.lib"但是上面的这个我没有顺利跑通。
2024-05-19 22:10:07
536
原创 Qt连接mysql的驱动问题
最后才发现没有把libmysql.dll和libmysqld.dll拷贝到编译器的bin目录下面(比如我的是C:\Qt\Qt5.12.0\5.12.0\msvc2017\bin)。在部署项目时,也要把这两个dll(一个是debug版本,一个是release版本)带上才行。Qt程序连接mysql数据库必须得有驱动插件,新的版本都需要自行从源码去编译,具体怎么做网上有很多这方面的资料。而我使用的是5.12.0版本,自带了mysql的驱动,却还是不能连接数据库。这就表明驱动已经安装了。
2024-05-18 15:38:02
356
1
原创 warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
这些都是因为没有使用UTF-8-BOM编码导致的。可以使用notepad++打开它,选择“编码” - “使用UTF-8-BOM编码”,将文件的编码转换一下,问题就解决了。如题,Qt的编译输出报了这个警告,这是因为源码文件中含有中文,且字符编码不对导致的。我遇到的情况是,文件已经使用UTF-8编码了,还是会报这样的警告。如果用qDebug打印中文,还有可能出现“error C2001: 常量中有换行符”。
2024-05-18 14:23:32
483
1
原创 ENSURE failed Fatal in File: RemoteInjecter.cpp, Line: 91, Function: bool __cdecl CRemoteInjecter
要知道进程注入可不是好玩的,我一直以为我的电脑遭受木马的劫持了,吓我一跳,于是才想查个究竟。把里面的文字在网上一搜索,发现其他人也有遇到这种情况的,看来不是个例。注意:上面这个‘17296’不是它的进程id,是它想要劫持的进程的id。这里讲解一下,我最后查到,这个框与深信服的EasyConnect有关,这是个vpn程序。还有突然提示电量不足,直接关机,也可能与它有关,当然这个没有确认。把这个16进制的3854计算一下,等于10进制的5856,于是在“任务管理器”里一查,找到了。
2024-05-17 00:38:51
6078
8
原创 mysql数据库插入中文失败
insert into dept(dept_name) values('销售部'),('财务部'),('生产部'),('人事部');原因是UTF-8编码可能是2个字节,3个字节,4个字节,mariadb的UTF8最多3个字节,所以插入失败。
2024-05-15 10:11:53
410
原创 正在载入qrc文件 指定的qrc文件无法找到。您想更新这个文件的位置么?
如果需要用到qrc文件,选择Yes,再选择qrc文件所在的位置;如果不需要qrc文件,可以选择No,然后用普通文本编辑器打开,将“ <resources></resources>”改为“<resources/>”,这样再次打开后就不报错了。打开Qt的ui文件,弹出提示框。
2024-05-04 10:38:45
952
转载 使用JLink在JFlash烧录HEX文件或BIN文件步骤
在JFlash文件夹找到Devices文件夹,打开文件夹。在该文件夹下创建一个新的文件夹,并按照自己的单片机品牌命名(也可以不按照品牌命名,只是为了方便查找)在新创建的文件夹中将自己的复制的.FLM文件放进来。Loader :flash烧录的算法,segger官方的是.elf格式,.flm是ARM的格式。下载好pack包以后,在电脑上有keil的前提下,直接点击安装就会默认安装到keil中存放pack包的文件夹中。keil的安装目录中,找到存放pack包的文件夹,然后找到对应的.FLM文件将其复制出来。
2024-04-22 12:28:18
2721
原创 ModuleNotFoundError: No module named ‘cv2‘
【代码】ModuleNotFoundError: No module named ‘cv2‘
2024-04-20 23:01:49
251
转载 A2B——Automotive Audio Bus
总结一下,如图所示,A2B可以大幅减少电缆重量,降低车载应用的复杂性,传统技术使用的大型双绞线电缆对,A2B技术使用的是简单的UTP双绞线电缆,在此处列出的要点中,一个关键是降低了系统成本,因为UTP电缆价格便宜一些,同时还消除了从节点上的智能和可选电源电路,另一个关键是A2B可用于传输非关键数据和音频,其成本仅为等效以太网组件的一小部分。
2024-04-20 09:38:45
3847
原创 json文件的格式化
方法二、用vi打开要进行格式化的json文件,在vi中输入“:%!python -m json.tool”(注意没有双引号)再回车。方法三、在Notepad++中使用JSON Viewer插件格式化json文件。有时候得到的json文件是未进行格式化的,影响阅读,那么如何进行格式化呢?方法一、json在线格式化的网站。
2024-04-16 12:53:02
6900
1
转载 /MANIFESTDEPENDENCY (Specify Manifest Dependencies)
【代码】/MANIFESTDEPENDENCY (Specify Manifest Dependencies)
2024-04-08 01:23:19
127
转载 Android 代码混淆Proguard
在Android的具体表现就是打包时,将项目里的包名、类名、变量名根据混淆规则进行更改,使反编译工具反编译出来的代码人难以阅读,从而达到防止被逆向破解的目的。Android代码混淆,又称Android混淆,是伴随着Android系统的流行而产生的一种APP保护技术,用于保护APP不被破解和逆向分析。proguardFiles用于指定混淆规则,自动使用默认的混淆规则,而我们可以在proguard-rules.pro中自定义自己的混淆规则。压缩代码,删除无用的代码,简单的代码重命名,都可以减少Apk体积。
2024-03-19 00:33:59
174
转载 Fragment lifecycle
Each Fragment instance has its own lifecycle. When a user navigates and interacts with your app, your fragments transition through various states in their lifecycle as they are added, removed, and enter or exit the screen.To manage lifecycle, implements L
2024-02-26 20:10:41
165
DPM算法源码在windows下matlab中使用的修改版
2017-09-09
Cohen-Sutherland直线段的裁剪算法 直线段的裁剪算法
2017-02-24
protobuf-2.6.1.tar.bz2
2016-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人