小知识 - 技术
文章平均质量分 51
red-fly
什么是人?终究也是尘归尘,土归土罢了。下雨的时候在路上涉水而行,有太阳的时候在水泥地板上疾驰而过,不管是喧闹,是平静,还是挣扎和惬意,等到结束的时候,一切都烟消云散... 留下的,只不过是无数只细菌的美餐而已 ...
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用ZXing库时,提示“error C2589: ‘(‘: illegal token on right side of ‘::‘“以及其它编译错误
本文记录了使用ZXing库编译时遇到的多个错误及解决方案。首先出现的min/max相关错误通过添加NOMINMAX预定义解决,随后出现的string_view等错误是由于C++标准版本过低。最终通过将项目属性中的"C++ Language Standard"从默认的C++14修改为C++17或C++20标准解决了所有编译问题。文章详细展示了错误信息、分析过程及具体修改步骤,为使用ZXing库的开发者提供了解决类似问题的参考方案。原创 2025-09-12 11:30:50 · 719 阅读 · 0 评论 -
c#的内存指针操作(仅用于记录)
在C#中,可以通过unsafe关键字直接操作内存指针。示例代码展示了如何使用fixed语句固定数组的内存地址,并通过指针访问数组元素。p1指向数组a的起始地址,p2指向数组的最后一个元素。通过指针运算,可以计算数组的最大索引,并输出指针地址和第一个元素的值。需要注意的是,这种操作属于不安全代码,需谨慎使用。更多关于C#内存指针操作的内容,可参考Microsoft Learn的fixed语句文档。原创 2025-05-16 09:37:06 · 398 阅读 · 0 评论 -
c#定义占用固定字节长度的结构体字段
另外注意到,在字段的前面采用了 unsafe 关键字,如果去掉,会提示必需添加它,加上了它之后,又提示必需采用/unsafe的编译方式。这个固定长度的占用,必需采用简单的数据类型:char、byte、int、short等。定义这个结构体,占用了136个字节的内存空间,关键的是,它的内存块是连续的,其中c占用了128个字节。本文简单介绍了关于c#中定义固定长度字段的方法,但它属于unsafe类型,所以并不推荐这样做。然后重新加载工程,有关unsafe的提示就会消失,而且也可以正常编译和运行了。原创 2025-05-16 09:19:55 · 492 阅读 · 0 评论 -
c#修改ComboBox当前选中项的文本
在C#中,ComboBox控件的SelectedItem属性用于更改当前选中的项,而不会修改列表中的内容。例如,若当前选中项为“A1区”,原创 2025-05-12 16:53:15 · 575 阅读 · 0 评论 -
c#OdbcDataReader的数据读取
这个意思就是在执行完语句之后立即获取其中的数据,有可能数据流还未到达,所以这个读取就会失败,也就是“列”还不存在导致崩溃。System.InvalidOperationException: '不存在此行/列的数据。但实际上出现上面问题崩溃时,查看dtReader是可以看到里面有数据的。通过查看帮助说明,有大致这样的描述:如果是流,在读取时可能数据还未到达。// 数据库里确保mytable中是有数据的。添加Read()之后,问题解决。有时候成功,有时候失败崩溃。原创 2025-05-06 16:30:33 · 376 阅读 · 0 评论 -
vs2022修改编译器为vs2010后如何恢复
在vs2022中,编译opencv3.4.0时,总是提示 "'binary_function': is not a member of 'std'",在工程的属性中,没有了任何可以修改的项,所以无法从属性窗口上把它改回来,有点麻烦。这个标签,发现vs2022的都是 v143,而vs2010的都是v100,所以直接把v100改为v143后保存,然后工程重新自动加载,状态恢复。用记事本打开工程文件 .vcxproj,然后搜索。注意,可能会有几个这个标签,都要修改,不要漏了。原创 2025-04-17 09:38:57 · 433 阅读 · 0 评论 -
C#连接sql server
我把Platform target改为x64再编译运行,问题解决,连接成功。原因是odbc的驱动和应用程序的架构不一致。原创 2025-02-25 18:41:31 · 523 阅读 · 0 评论 -
在程序中如何判断一个数据库表是否存在
不管要检测的表 TableName 是否存在,这条语句都会有一条记录出现,而且只有一列,列名为 tbexis。如果表 TableName 存在,则这条记录的值就是1,否则就是0。在程序中,有时候可能需要动态创建数据库,但在创建之前需要先判断这个表是否存在。以上就是我自己检测已经创建的一个表,结果显示为1.原创 2025-02-24 17:17:31 · 697 阅读 · 0 评论 -
windows下CMake缺少第三方库时的指定方式
这样,缺少哪一个就修改哪一个,方便的很了,如上添加之后,问题解决。原创 2024-12-05 11:38:30 · 442 阅读 · 0 评论 -
linux脚本的一些知识
脚本功能强大,用起来也方便得很。原创 2024-11-23 14:36:36 · 781 阅读 · 0 评论 -
ubuntu设置自启动
3. 在 /etc/systemd/system/multi-user.target.wants 目录下创建 A.service 的软连接。1. 把要启动的程序或者脚本(比如A.sh、A1)放在 /usr/sbin 目录中。注意这个文件里的选项,这个示例仅仅是列出了几个常用的。其中最后的 WantedBy 值,影响下面第3步的最低一级目录。ExecStart指定要启动的脚本或者程序,我尝试直接把它写成 /usr/sbin/A1 也是可行的。需要注意的是,脚本和程序都要有可执行的权限才行。原创 2024-11-13 11:12:04 · 577 阅读 · 0 评论 -
压缩wsl的磁盘占用空间
4. 以上命令会显示“DiskPart 已成功选择虚拟磁盘文件。其中的 d:\vos\unbutu\ext4.vhdx 要改成你自己的虚拟磁盘路径。这个过程还是比较快的,我的212GB压缩到90GB,只用了几分钟时间。2. 接着输入:diskpart。本文说的是wsl 2。这个命令会弹出新的窗口。原创 2024-06-27 19:32:12 · 1210 阅读 · 0 评论 -
修改vs生成ipch的路径
默认情况下,vs c++的工程,在工程目录里会生成一个.vs目录,其中会保存有ipch文件,这些文件很大,占用空间,关键是copy工程时,这些文件和工程在一个目录里,会一起被拷贝,但它们又完全没有必要拷贝,所以这样子的话就比较麻烦,文件大,拷贝又慢。我们为了方便,把它生成的路径进行修改,不和工程放在一个目录里,这样,拷贝工程时就不需要拷贝这些完全不需要的文件,整个目录就会小很多,提高拷贝的效率。vs2010生成的目录名还有工程名,但vs2022生成的目录名,却没有工程名字。原创 2024-01-22 09:50:15 · 1354 阅读 · 1 评论 -
Microsoft SDKs 有文件重定义导致编译失败的处理
发现默认编译的是64位,是没有问题的,编译成功,然后切换到32位再编译,就出现了一样的错误,这说明提倡大家用64位的程序,但我现有的项目依赖了其它很多的库文件,没法切换到64位,所以还是要找到解决办法才行。去电脑上查看这两个目录,发现里面都有很多文件,除了这两个目录之外,也有其它的目录,但里面都是只有几个文件,显然不会构成威胁。这个里面,第一行就是目标路径,选中它,点上面的“x”号删除掉,然后确定保存。然后再编译,重复定义消失,编译顺利通过,至此问题解决。根据网上的一些说法,好像也不靠谱,但是给了点提示。原创 2023-11-09 16:04:23 · 647 阅读 · 0 评论 -
有线网卡通过无线网卡使其它设备上网
在无线网卡上点右键,然后点“属性”,切换到“共享”选项卡,选中“允许其他网络用户通过此计算机的Internet连接来连接”选项,然后确定即可。在设备中ping外网的域名,比如baidu、163,都是成功的,说明这个方案很完美。通过试验,这种方式不稳定,有时候不能联网,有时候能联网,电脑的无线网卡、有线网卡、桥接节点不停地处于状态确认中。我现在又有了一台嵌入式设备,它只有有线网口,所以就只能用有线的方式连网,但是我的无线路由器不在电脑旁边,不方便从里面牵一条网线出来,所我就想通过和电脑的有线连接来上联网。原创 2023-10-28 08:50:17 · 1359 阅读 · 0 评论 -
wsl 1和wsl 2在形式上的区别
这是wsl 1转换成wsl 2后的目录,本来temp上面还有个rootfs,就是前面那个截图,结果在转换成wsl 2之后,这个目录被自动删除掉了 ,ext4.vhdx 就是wsl 2的虚拟磁盘文件了,就这一个文件,这和vwmare安装的虚拟机很像。这样如果再想看其中的文件,就要进去虚拟机才能看了。这个文件目录就是在windows下看到的,linux的每个目录和文件,都可以查看,非常方便。在形式上,wsl 1是以windows文件系统的方式组织的,而wsl 2是以虚拟磁盘的单文件方式组织的。原创 2023-07-11 17:02:42 · 1284 阅读 · 0 评论 -
vs2010出现“AlwaysCreate”的解决办法
通过反复观察,其实是因为文件的修改日期新于已经编译生成的文件,但实际上文件内容没有任何修改,所以这时候,需要全部重新编译,也就是每个文件都要重新编译,这样后面就不会再有过期的问题了,但是,关于 “AlwaysCreate” 仍然存在,这时候它只是会在输出窗口中出现罢了,不会有其它任何影响,F5时,也不再有过期的提示了。对于网上,说要修改IDE目录里的配置文件什么的,那显示不是好的,而且我一个解决方案有3个工程,都是vc++的,一个是完全正常,另外两个总是有本文说的问题,所以肯定不是IDE本身配置的问题。原创 2023-05-15 18:03:31 · 571 阅读 · 1 评论 -
vs2010制作安装工程
现在有个问题,当关闭了工程之后再重新打开,发现所有窗口都关闭状态,没有了文件编辑窗口。这时候需要依次点击“视图”->"编辑器"->“文件系统”,或者解决方案资源管理器上的第二个按钮(上图上注册表编辑器按钮左侧的那个)打开这个窗口。这个窗口很容易编辑,把所有要安装的文件拖到“应用程序文件夹”上,然后在“用户的程序菜单”里建立程序目录(A),在A和“用户桌面”里,分别建立启动的程序创建快捷,然后编译生成安装包。仔细查看,在解决方案资源管理器上有一排编辑工程窗口的开关,可以根据需要进行编辑。原创 2023-05-13 08:37:51 · 470 阅读 · 0 评论 -
Arduino的全局变量的单独定义
Arduino语言和C语言很像,比如先定义变量再使用,也可以采用 #define 进行一些预定义等等,但又有一些不同。原创 2022-06-18 11:08:43 · 5047 阅读 · 2 评论 -
Unity 3D代码在vs中无法自动提示的解决办法
我安装Unity 3D后,建立一个工程,采用vs2019来编写代码,发现没有自动提示功能,根据网上说的,要在unity中选择vs2019做为编辑器,我也选择了,它也能正常启动vs2019,但在编写代码时无法自动提示。在vs的工程信息窗口中,如下所示在方框位置会显示一个有组件需要安装的提示,我点“安装”,结果它无法无成,一直自动安装的启动界面,在红圈位置会显示“(不兼容)”,我也搞不清究竟是缺少什么东西导致的,显然,它应该和没有自动提示有关。后经过研究发现,是因为缺少了.net frame原创 2022-05-09 16:34:34 · 4522 阅读 · 0 评论 -
opencv添加的新接口clearVec()的实现
自己编译的opencv,之前文章有说添加了这个接口,也有上传3.3.0版本添加这个接口之后编译好的库,但是没有把实现过程展现出来,导致有些朋友问我如何实现的,今天把这个实现放出来,实现就是个简单的调用而已自己添加的clearVec()接口,用于清除vector类型的列表。因为在外部调用opencv有的接口时,其传出了vector列表,传出的这个列表是在opencv中分配的内存,如果外部程序不预处理,则在其析构时会导致程序崩溃,所以这个列表也必需放在opencv中来清除。这个接口不分opencv版本。原创 2022-04-09 10:48:15 · 4238 阅读 · 2 评论 -
windows下编译opencv 3.4.0
为了方便后期的调试,自己动手编译opencv3.4.0,这样有需要的时候还可以自己修改修改源代码。通常来说,编译32位比较简单,直接用cmake生成编译的工程就行了,但64位就比较麻烦了(实际不是麻烦,是没有找到问题的解决办法而已)今天完成了64位的编译,所以简单记录下整个编译流程。先下载源代码,我的目录如下:下载下来后一个sources目录和3个txt文件 ,第一个build不记得了,应该是后来自己放进去的。这个目录在我的电脑里是比较深的,为了方便,可以放的浅一些,但不能是第一级目录,原创 2022-04-04 17:34:25 · 4543 阅读 · 4 评论 -
vs中加入.h文件后改名为.cpp后,其中的函数无法被链接
这个问题一般碰不到。一个项目,是vs2015 c++ win32类型的,项目不大,大约有10来个源文件,一切都是正常的。后来由于需要添加md5加密,所以就从别的项目中拿了一个md加密代码文件过来,文件名为 md5lib.h,其中包含了函数声明和实现,就这一个文件,把它拷贝到当前项目中后,在项目中点右键选择添加现有项目,选择该文件后点确定加入进来。加入进来后的样子如下:在代码中调用hmac_md5() 函数,结果无法编译通过,为了和正常的文件类型保持一致,直接在解决方案中右键这个文件,选择..原创 2021-09-30 14:20:48 · 805 阅读 · 0 评论 -
MFC视图中的OnPaint()更新
今天弄了个工具,vs2015 mfc 单文档结构的工程,没有选择"文档/视图体系结构支持",因为我不需要文档,只需要有个视图就行了。后台有个从网络接收数据的服务,当收到数据之后,就画到视图上:SendMessage(MY_DATA,(WPARAM)&data,NULL);在视图CChildView中:LRESULT CChildView::WindowProc(UINT message, WPARAM wParam, LPARAM lParam){ // TODO: 在此添加专原创 2021-09-15 18:25:16 · 1292 阅读 · 0 评论 -
Web Api获取POST中的body数据
一个普通的web api,大佬说为了安全,上传的参数数据一般是放在Body中的,所以后台也要从body中来拿参数,这个确实好一些,在地址栏中看不到参数,相对来说,确实会安全一些。接口如下:public string PostCheckUser(){ return "OK";}后面只说该接口中的代码,不再列函数名了。postman中的请求如下:在接口中如下编写: string tokenString = HttpContext.Current.Req.原创 2021-09-11 15:47:18 · 5561 阅读 · 0 评论 -
Mvc Web工程中加入Web Api后,Web Api接口无法访问
用vs2015 C#建立了一个web mvc工程,实现了一些简单的功能,包括对后台数据库的访问,添加、修改数据等普通功能,其中有好几个controller,比如用户管理、任务添加修改等。现在需要允许第三方链接过来进行登录,在完成登录后,需要调用本工程中的一个web api对登录时生成的安全码进行校验,这是第三方平台为了安全控制而做的。为了添加web api,就在工程的controller上点右键,选择添加控制器,在模板中选择“Web API 2 控制器 - 空”,输入新控制器名称 CheckUser 后原创 2021-09-11 15:23:40 · 1285 阅读 · 0 评论 -
Java调用C++库dll文件接口(JNI)回传int参数(引用)
大原创 2021-07-29 17:19:59 · 1422 阅读 · 0 评论 -
MFC单文档程序不设置文档标题
对于MFC单文档(多文档估计也是一样)程序来说,创建一个工程后不做任何修改,直接编译运行,会发现程序标题,除了带有程序名称之外,还带有“ - 未命名”,整个标题的样子差不多是这个样子的:我的示例程序...原创 2021-06-18 15:46:26 · 355 阅读 · 0 评论 -
鸿蒙App调试入门
前段时间下载了DevEco Studio,根据提示创建了一个手机App,不做任何修改,直接调试时,总是提示失败,不支持,如下的样子:原创 2021-06-16 18:07:51 · 1448 阅读 · 0 评论 -
python-Qt的多个QLineEdit和QComboBox分别绑定同一个槽时的信息获取
这个标题可能会有点容易让人弄错,我只不过是想把QLineEdit和QComboBox的绑定处理放在同一篇文章中而已,所以意思是说多个QLineEdit绑定到一个槽函数,多个QComboBox绑定到另外一个槽函数原创 2021-06-16 15:28:01 · 1368 阅读 · 0 评论 -
MVC5后台C#无法访问网络共享目录的解决办法
开发环境:vs2015,C#,MVC5做了一个简单的网站,其重点是后台需要访问其它电脑上的共享目录,在调试的时候一切正常,发布版本之后,在服务器上无法正常访问。这个问题在之前也遇到过两次,今天还是需要解决这个问题才行,因为后面碰到这种情况会越来越多。通过搜索,找到了一个网址:https://www.cnblogs.com/knowledgesea/p/5145087.html我看了这篇文章,大致思路就是先建立虚拟目录,然后通过虚拟目录来访问。按照这个办法操作,结果发现失败,在iis管理器中,原创 2021-03-12 11:41:56 · 1544 阅读 · 0 评论 -
python中把float类型转换成日期
从excel的某一格式中读出日期时,发现是一个float类型,但它在显示的时候却是一个日期,这个就要在代码中处理了,如下进行转换:# 44152.0146412037DateObj = datetime(year=1900, month=1, day=1)DateObj += timedelta(days=dateTime) # 转换datetime格式,这里的datetime就是float,值为上面注释的dateTime = DateObj.strftime("%Y/%m/%d %H:%原创 2020-12-31 08:58:36 · 10054 阅读 · 5 评论 -
WEB API返回的字符串列表
参考网址:https://www.cnblogs.com/yuanmo/p/10045467.html开发工具:vs2015语言:C# ASP.NET 5第一次弄asp.net mvc,太难了,一堆问题我的程序结构:web api->mvc5后台,即mvc5后台访问web api,获取到数据之后,显示到前端的页面上web api接口代码如下:public List<string> GetLocalDirs(){ List<string> ret原创 2020-12-23 15:09:22 · 695 阅读 · 0 评论 -
My God,CImage裁剪图片变成黑色了
一直以来,用CImage裁剪图片,代码如下:CImage img;if (FAILED(img.Load(strFileFrom))) return;int imgH = img.GetHeight();int imgW = img.GetWidth();int bpp = img.GetBPP();// 裁剪内部左上的1/4位置的一块小图int x1 = imgW/4;int y1 = imgH/4;int w = x1;int h = y1;CImage imgD原创 2020-12-22 17:14:04 · 725 阅读 · 0 评论 -
QPainter的字符设置和获取接口
参考网址:Qt绘制字体并获取文本宽度 - 邶风 - 博客园 (cnblogs.com)简单记录:QPainter painter(this);QFont oldFont = painter.font();QFont newFont;newFont.... // 设置新字体painter.setFont(newFont);QFontMetrics fm = painter.fontMetrics();QString textTest("The drawing text string.");原创 2020-12-17 16:27:34 · 397 阅读 · 0 评论 -
CreateProcess()接收程序的输出
环境:win10 64位,vs2015 mfc程序目的:记录CreateProcess()接收启动程序的输出。注:cmd程序,而不是带ui的程序起始原由:通过调用git工具来完成自己的一些需求参考:https://bbs.csdn.net/topics/190138594,会读取控制台输出,但是如何向控制台输入数据?交互?https://blog.csdn.net/waitig1992/article/details/23766833,MFC执行CMD命令并获得其返回信息源代码之前几乎没原创 2020-11-07 14:39:49 · 2801 阅读 · 0 评论 -
MVC5程序发布后,样式丢失,出现错误: SCRIPT5009: “$”未定义
近些时间在用MVC5做个内部小系统,之前没怎么用过,开发工具采用 vs2015,C#。在调试的时候一切正常,发布之后发现很多样式丢失,最关键的是出现错误:SCRIPT5009: “$”未定义,这就麻烦了,样式关系不是很大,可以,但这个用普通的UI和table来布局,但这个错误导会致功能无法正常使用,显然必需解决。困扰了好几天,搜索了很多页面,大家提到的根本原因都是没有(正确)加载js、css文件,我把调试时的页面保存起来,把发布后的同一个页面也保存起来后对比,它们加载的 js文件确实差别很大,调试时原创 2020-07-20 15:26:06 · 1793 阅读 · 0 评论 -
MVC5中的图片显示
我的系统:win7 64位中文旗舰版开发工具:vs2015程序类型:MVC5我的目标是在一个页面上显示一张图片。在之前的纯html上就比较容易,直接用 <img src="images/123.jpg">就能显示了,但是现在的mvc新手,就有点不知所措了,之前搜索过如何显示,那时的情况刚好和搜索出来的情形基本一致,所以没有遇到更多问题,今天又想显示图片,但情况似乎有所改变,导致无法显示。先说之前工程的图片显示:图片位置: /Content/theme/default/images原创 2020-07-11 11:17:06 · 1586 阅读 · 0 评论 -
MVC的表单(form)绑定到数据模型上
参考网址:列表类的绑定:https://www.cnblogs.com/mrtiny/p/5807489.htmljs获取表单数据:https://www.jb51.net/article/90756.htmajax提交表单数据:https://blog.csdn.net/CrackLibby/article/details/80013057在mvc中,表单的输入字段绑定到数据模型上的过程是自动完成的,本文进行简单地说明。注:我用的是vs2015,mvc5,测试用的是360浏览器我的目标原创 2020-07-01 14:59:58 · 1064 阅读 · 0 评论 -
获取html的table行
有如下表格:<table id="tbLabelList" width="100%" cellpadding="0" cellspacing="0" border="1"><tr><td>11</td><td>12</td><td>13</td></tr><tr><td>21</td><td>22</td><td>23&原创 2020-06-24 11:21:56 · 2860 阅读 · 0 评论
分享