- 博客(5)
- 问答 (1)
- 收藏
- 关注
原创 对C/C++的结构体指针强制类型转换的理解
取到的一个变量的地址可以赋给一个指针变量,因为指针代表的就是地址。前面已经知道类型为A1和A2的结构体,都占8字节内存,以字符格式%c输出structA1Z1.a到控制台,结果是字符'a',以整形格式%d输出structA1Z1.b,结果是10,这跟结构体实例structA2是一致的。我的开发环境是Visual Studio 2019社区版,查看结构体所占的内存,会发现这4种类型的结构体都占8个字节的内存,其中char占1个字节,int占4个字节,A1和A2所占内存一样大,这涉及到结构体成员的对齐。
2023-07-06 15:11:11
2012
原创 对QVariant的理解
C/C++中变量的类型实际上就是一块固定内存大小的别名,表示这种类型开辟内存空间的大小,一个类型开辟的空间大小虽然跟编译器有关,但通常为:int占4个子节,取值范围-2147483648~2147483647;接触QVariant已经很长时间了,但一直只了解用法(网上大多数文章也是只讲用法的,还不如直接看Qt助手),却无法理解为什么能这么用。的作者看了源码,发现:QVariant里面使用了union,只是对基本数据类型和类类型做了区分,基本数据类型直接存值,类类型存指针。
2023-06-27 09:44:23
297
原创 QDesktopServices打开文件时报ShellExecute ‘file:///xxx/xxx/???.txt‘ failed (error 2)
于是想查看QDesktopServices和ShellExecute的关系,去看源码,QDesktopServices::openUrl()的实现涉及:QPlatformServices类,但这个类的源码没给出来,去官网也查不到(说好的开源呢!第二天想再尝试一下,于是复制了正确路径,然后再试,文件成功被打开,真实项目中所打开文件的路径很复杂,仔细对比区别,发现这个路径修改了,但没更新这个文件的路径(这是代码里的bug),于是打不开,原来只要路径正确就能打开!这篇博文,感觉真的跟操作系统版本有关。
2023-06-08 11:57:53
1276
1
原创 达梦DCA培训操作中踩坑记录
我删除达梦数据库然后安装,创建实例时,勾选了DMHR示例(培训课上老师没有创建,之后操作DMHR的表时无法操作,我以前试着导入sql命令创建DMHR,但失败了,所以这次直接在创建实例时自动创建DMHR,不知道是不是因为这个导致服务无法正常启动的)。由于我是删除数据库后重新安装,原来的建的用户dmdba没有删,安装完数据库后,创建实例,结果:systemctl start DmServiceDMSERVER.service执行时报错,如下图所示。用命令chown修改所属组,就能正常进行迁移了。
2023-05-25 08:15:23
1044
2
空空如也
Qt鼠标从窗口边缘快速移动样式不能及时变回正常问题
2021-08-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人