自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(333)
  • 资源 (3)
  • 收藏
  • 关注

原创 git教程

写教程是对自己知识的一种总结,总结出来跟大家分享。在当前目录创建一个空的git仓库。git initgit提交修改需要两步,下面是把xxx的修改提交到仓库:git add xxxgit commit -m "注释"下面说说后悔了怎么办。如果你修改了文件,还没有add,可以用下面命令回退到修改前状态:git checkout -- ...如果你已经add了

2015-02-07 14:23:42 1175

原创 点乘与叉乘

又叫向量的内积、数量积,是一个向量和它在另一个向量上的投影的长度的乘积;结果是一个和已有两个向量都垂直的向量。该向量的模长是两个向量做边的平行四边形的面积。可以用来判断两个向量是否垂直,垂直则点积为0。矢积/外积/向量积/叉积。标积/内积/数量积/点积。

2024-04-10 00:46:09 186

原创 hdf5文件node name长度可以支持多长?

根据HDF5库的规范,节点名称是一个UTF-8编码的字符串,没有固定的长度限制。这意味着你可以使用非常长的字符串作为节点名称,但请注意,过长的节点名称可能会导致一些实施上的限制或不便。因此,根据你的具体需求,你可以权衡节点名称的长度和对存储空间和性能的影响。请注意,虽然理论上节点名称的最大长度是128个字符,但在实际应用中,可能还需要考虑其他因素,例如文件系统的限制或操作系统的限制。手机上文心一言说是255,网页上是接着上面问的,回答是“HDF5节点名称的最大长度是。节点名称的最大长度是128个字符。

2024-02-04 17:28:50 170

原创 ifstream::tellg() 返回-469

使用过程中发现,tellg()返回的位置,有时有效,有时无效,第一次是返回0,后面文件有输入后,再次读取前,调用tellg(),有时返回-469,有时返回正的位置。一个程序输出一个文件,另一个程序打开这个文件,读入内容。读入过程中,需要记录读取位置,使用tellg()获取读取位置, 以便后面用seekg重新定位读取。经过多次摸索,结合网上搜索,发现windows下,ifstream只有用二进制模式打开文件,tellg才能返回正确的位置。

2024-02-01 01:50:12 258

原创 signtool.exe在哪里?

今天编译代码用到signtool签名,signtool.exe不在path环境变量里,看网上说安装Windows SDK 就会安装signtools,安装了Windows SDK,还是没有找到。这个bin目录下有多个sdk版本,每个版本都有x86和x64,里面都有signtool.exe, 都可以用。以后找sdk的东西,要到Windows Kits目录里找。

2023-12-20 19:42:08 438

原创 Qt的信号和槽

function1会在moc_xxx.cpp里生成。连接,一般在B类里,或任何能执行到的地方。假设A是发信号的类,B是收信号的类。

2023-12-12 14:01:30 56

原创 Windows编译动态库没有生成.lib文件问题

最近修改了一个项目,以前生成静态库,后改为生成动态库,在Linux上没有问题,但在Windows上只生成了.dll文件,没有生成.lib文件。后来找到原因,代码里没有dllexport声明,没有东西导出,所以才没有生成.lib文件。文件除了可以用作静态链接库外,还有另一种用途,就是用作动态链接库(这样就跟Linux一样,类和函数全导出了。在Windows中,

2023-12-12 13:40:45 591

原创 CentOS7安装最新版本git

make时,doc和info是没有make成功的,因为前面有软件没装。但不影响git编译使用。CentOS7上的git是1.8.3.1,比较老,使用体验不好。下载源码来升级一下。安装后,git变为2.43.0,显示log更好看了。因为CentOS7.9很老了,有很多软件找不到。第四行,docbook没有安装,找不到这个的。第二行docbook2X没有找到。第三行getopt没有找到。

2023-12-05 16:23:20 466

原创 CentOS配置本地源

把上面的"mount -t iso9660 -o loop /mnt/iso/CentOS-7-x86_64-Everything-2009.iso /mnt/cdrom/"添加到最后。2.把相应版本的Everything的iso复制到机器上。然后copy到刚才iso目录。centos7的Everything有10G多,这个复制很费时间。然后可以安装大多数软件了,没有的软件可以在安装编译环境后,下载源码编译。

2023-11-29 18:27:23 468

原创 centos用户相关命令

这两个命令都行,如果已经添加了会提示已经存在。如果不加-r,就不删除用户文件。

2023-11-29 17:44:53 370

原创 Ubuntu定时执行任务

运行后,会发现,打开的是一个新的文件,前面普通用户权限写的任务不在这个文件。上面的几个都是不需要root权限的,如果运行的任务需要root权限怎么办?如果显示“no crontab for xxx” 说明没有启动cron。cron一个Linux定时执行工具,可以定时执行一些任务。然后就跟上面一样,添加需要root权限的任务。示例:每天8点,执行test.sh.示例:每5分钟,写一下log.示例:每天2点重启机器.这样就启动cron了。

2023-10-31 19:58:54 897

原创 system在client端运行正常,在server端运行失败问题

在windows上,不切换盘符,cd是不能到达对应目录的。server端运行的环境不同,默认在c盘,client端运行时,正好在d盘。使用system(command.c_str()), 同样的command,在client端运行正常,在server端运行却失败。

2023-08-17 14:54:36 96

原创 VMware虚拟机设置共享文件夹丢失问题

最近在用VMware,装了几个虚拟机后,发现第一次设置好共享文件夹,是可以用的,虚拟机里/mnt/hgfs/目录下有共享文件夹挂载。关闭虚拟机,再打开,就没有了,虚拟机设置里还有共享文件夹 的设置,删除了,再设置也没有用。CentOS,Ubuntu,麒麟等操作系统都试过,都有这个问题。我用的VMware是官网下的免费版,不知道付费版本是不是这个问题。在网上搜,发现应该是VMware Tools不能自动挂载共享文件夹问题。以后每次开机都能加载了。

2023-08-01 21:53:18 725 1

原创 Linux下打包deb

先处理依赖,因为一个可执行文件依赖很多动态库,动态库又依赖很多动态库,所以只拷贝可执行文件不行,需要把这一系列依赖文件都找到,并且可执行文件和动态库运行时找其他文件的路径编译完一般是绝对路径,需要改为相对路径才能在改变位置后也能用。3.建立一个空目录,起名Project,作为工作目录,在工作目录里再建一个目录,起名ABC,这个第二级的目录才是我们linuxdeployqt用的目录,复制可执行文件到这个目录里。6.使用显式加载的动态库,先不要copy过来,因为依赖分析也会分析这些库,没有必要。

2023-07-19 11:18:36 906 2

原创 列出make中的所有目标

用下面命令可以列出make中的所有目标,测试可用。

2023-07-17 14:47:20 363 1

原创 Windows - 如何判断一个DLL已经注册

如果返回0个匹配,则没有注册,有匹配,则注册过了。通过上面两个命令,可以验证一下。

2023-07-17 14:35:19 1494

原创 specialization of xxx after instantiation

这个有时跟编译选项有关,release编译有这个问题,debug没有。编译出现这个错误,原因是特化模板放到模板调用后面了。

2023-07-14 16:11:42 360

原创 shell脚本里相对路径转绝对路径

一个shell脚本A,要调用另一个脚本B,参数需要绝对路径,因为调用的脚本里有目录进出操作。但如果脚本A里,调用时写成绝对路径,父目录变化时,就需要手工修改脚本。通过上面的操作,就得到一个相对当前路径的绝对路径。

2023-07-11 20:16:06 852

原创 Ubuntu下编译VTK

到VTK源码的build目录(这个是第5步自己建的目录),打开终端,输入make,就可以编译了。5.打开cmake-gui,设置源码路径,编译输出路径,在源码里建一个build目录,用于存放输出。9.有红色不要紧,毕竟这些Qt目录都找到了,再次点击Configure,这次没有红色了。编译会有点小错误,是某个Qt头文件没有包含,大概两三个文件需要修改,改了就可以编译过了。6.选择QT,Rendering,StandAlone,点击Configure。1.先安装QT,不知道不装行不行,我们项目需要。

2023-06-30 00:44:44 944 1

原创 判断系统大小端的函数

【代码】判断系统大小端的函数。

2023-06-29 23:41:32 75

原创 libiconv库转换字符串出现BOM问题

使用iconv转换字符编码,经常出现转出的字符串带BOM头的问题。经过测试,发现unicode编码用“utf-32”或“utf-16”,转出或转入,得到的字符串有BOM,而用“utf-32le”、“utf-32be”、“utf-16le”、“utf-16be”这样的,就不会有BOM。所以需要明确告知iconv,编码的endian,否则转出来的字符串带BOM.

2023-06-29 23:17:30 136

原创 cmake在linux上实现PRE_BUILD功能

同一个cmake文件,在VS上是可以实现PRE_BUILD功能的,在linux上编译则没有执行到,不起作用。修改CMakeLists.txt后,下面的实现,可以linux编译时也能执行到。原理就是通过两次string替换,把文件名里的分隔符替换成下划线,用文件名做custom target,然后添加dependencies,这个temp_target就会执行到了。之所以用文件名做custom target,是因为这段在一个function里,会多次调用,不能用固定的target名字。

2023-06-27 23:57:46 257

原创 麒麟系统鼠标滚轮不能实现页面滚动

刚用麒麟V10,发现有滚动条的页面,滚动鼠标滚轮不能控制页面滚动。修改“设置”-“设备”-“鼠标”-“滚轮速度”,设置个合适的速度,就可以了。不过这个速度设置很难用,最低几乎不动,滚几下,才动。动一下也不是一行,而是多行,可能是没有适配各种分辨率屏幕。

2023-06-27 09:10:15 1246

原创 用Python统计源码行数

稍作修改也可以用于统计其他类型文件。

2023-06-07 00:03:38 99

原创 Visual Studio 设置函数断点

调试c++程序,有第三方库,只有头文件,没有源代码,怎么在调用库函数时打断点?在每个调用地方打断点比较麻烦。还有一个是加个接口层,在接口层上打断点,代码比较久了,有很多调用,修改量很大。用Visual Studio可以打函数断点,“调试”-“新建断点”-“函数断点”。因为微软的网站上是错误的,所以写下来,记录一下。就是只能有参数类型,不能有变量名。

2023-06-06 11:20:29 550

原创 删除远程已经删除的分支

git服务器上合并代码后,远程的分支一般删除了,这时候本地的分支需要自己删除,有时候分支用的多,会攒一大堆这样的本地分支。\[[^:]+:\s*gone\] 中括号,里面要有gone,否则不匹配。[^\[]+ 直到左中括号。\s* 前面可能有空白。(\w+) 分支名称。.*$ 一直到行尾。\s+ 分割空白。

2023-05-22 23:12:44 114

原创 Python处理管道数据

Python作为脚本语言,如果能像shell一样处理管道传来的数据,将很有用。下面就是个Demo。就可以处理data.txt里的一行一行的数据了。

2023-05-22 22:46:21 192

原创 智能指针,作为函数参数怎么用?

通过上面代码运行,可以发现只有fun1的指针引用在函数调用后有变化。所以智能指针作为函数参数的正确用法,就是传值使用。用智能指针的引用、指针都是不对,无法实现智能指针的引用计数效果。智能指针作为C++很重要的东西,被广泛使用。当智能指针被作为函数参数使用时,应该怎样使用呢?

2023-04-09 23:14:01 681

原创 DLL相关问题

后来我在dll里导出一个返回函数指针的函数,这个函数指针指向一个返回智能指针的函数,我先get第一个函数,执行得到返回智能指针的函数,执行得到返回的dll里的智能指针。反过来,从dll里返回一个该类的对象指针,在exe里执行该类的成员函数,会执行exe里类的成员函数,成员变量是从dll里传入的。在exe里把该类的一个对象的指针,传给一个dll里导入的函数,在该函数里,调用该类的成员函数会有什么结果?一开始我在dll里导出一个返回智能指针的指针的函数,执行后,这个从dll里返回的智能指针就析构了。

2023-03-16 17:04:54 442 3

原创 服务程序调试

这次调试的代码是一个服务程序,就是一个exe,它是由其他程序通过CreateProcess调用的。

2023-03-16 11:15:56 59

原创 VS中C++程序报错:应输入声明

一个头文件,从别的项目copy过来的,某个地方有个红线,提示“应输入声明”,代码很简单,没看出什么问题,就随便输入点东西,再删除,错误消失了。原因不明,不过这个头文件肯定没有问题。

2023-03-07 21:21:45 3992 1

原创 需要使用新应用以打开此ms-gamingoverlay链接

ms-gamingoverlay

2023-02-10 14:32:27 3100

原创 有选择地打印log

先运行,需要打印log时,在if(debug)这里加断点,中断后,修改debug为true,就打印出来需要的log了,可以多次打印,后打印的会添加到文件后面。

2023-01-31 17:59:34 101

原创 GoogleTest运行特定的测试用例

googletest,单元测试,单独执行某个特定case。

2023-01-09 18:17:44 4214

原创 支持WIN7的VSCode版本

支持WIN7的VSCode版本

2022-12-11 00:31:51 23106 2

原创 透视投影函数的图像

透视投影函数的图像,点到相机的距离转换为ndc的z坐标的函数图像。

2022-12-05 18:30:23 304

原创 如何用 SSH 登录 Kindle 系统

ssh登录kindle

2022-12-04 01:01:26 1428

原创 WSL安装devkitPro

WSL安装devkitPro

2022-11-29 20:11:05 708

原创 C++,emplace_back与push_back区别

emplace_back与push_back区别

2022-11-29 19:57:05 223

原创 C++,没有与这些操作数匹配的“[]“运算符

编译错误,没有与这些操作数匹配的"[]"运算符,不完整类型。

2022-10-27 17:00:34 3596

”SM总线控制器“和”其他PCI桥设备“驱动打包

Windows XP 32, 七彩虹,geForce 7025 主板,安装系统后,设备控制器里会出现 SM总线控制器 其他PCI桥设备 两个黄色问号,用资源里的对应目录里的驱动即可。压缩包里有两个目录,smbus对应SM总线控制器,net对应其他PCI桥设备,其他PCI桥设备驱动更新后会识别出网卡,正常会自动安装网卡驱动。

2014-10-09

VisualSVN Server 用网页修改用户密码

把压缩包解压,copy到VisualSVN Server的安装目录,修改Apache22Passwd.cgi.ini文件里svn密码文件路径就可以了。 然后在重启VisualSVN Server,在IE浏览器里输入https://svn服务器IP/cgi-bin/Apache22Passwd.cgi(如果你的svn是https的),就可以看到修改密码的网页了。

2014-09-19

孟加拉字符拼写表

孟加拉字符的拼写结果对照,用于检查输入法是否符合孟加拉电信标准。

2013-09-13

空空如也

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

TA关注的人

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