自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(755)
  • 收藏
  • 关注

原创 托管、非托管

1、2、

2026-10-25 12:44:01 161

原创 .Net和C#有什么关系?(从C++视角观察)

C++ 不是“没有平台”,而是它直接运行在“操作系统+硬件”这个最底层的平台上,中间没有隔着一层专门的“软件平台”。‌‌‌这里有一个巨大的、看不见的“管家”,叫 ‌运行时环境‌(如 .NET 的 CLR 或 Java 的 JVM)。你的代码不直接跟 Windows 或 Linux 对话,而是跟这个“管家”对话。‌特点‌:这个“管家”提供了统一的标准库、内存管理、安全机制。所以你会强烈感觉到“.NET 平台”或“Java 平台”的存在,因为离开了它们,代码根本跑不起来。‌‌。

2026-10-25 12:21:03 379

原创 《深入解析C#(第4版)》各章节讲解

本章没有语法特性,只是全书总纲。作者想铺垫:后面所有特性,都是微软看到社区真实痛点,迭代补齐的;全书就是沿着这个思路讲。✅阅读建议:跳过,不用细读。

2026-10-24 18:37:48 359

原创 XAML:知识记录

指示xaml编译器,将xaml编译的结果 和 当前哪个C#类合并在一起。

2026-07-12 13:50:22 60

原创 WPF界面设计问题

一、添加一个StackPanel后,在其中多个添加控件,为什么后面添加的控件会把前面添加的给覆盖呢?能从工具箱拖拽多个控件到一个StackPanel中吗?1、:StackPanel 在运行时,会把子控件一个接一个地(或水平排列),绝对重叠。2、如何正确地在 StackPanel 中添加多个控件?

2026-07-05 17:49:36 232

原创 该如何进行WPF界面设计

用 VS 的“工具箱”拖一个 Button,右键“编辑模板” -> “创建副本”,VS 直接给你生成几百行现成的标准模板代码,你只需要删掉不需要的,改改颜色就行。但容器总共就那么几个(Grid、StackPanel、WrapPanel、DockPanel),每个容器的专有属性平均不超过 3 个。你只需要记住“凡是显示字的,就有这些”。写 HTML 时,你需要背出所有的 HTML 标签(几万个不常用的)吗?:现在写 XAML 都是边写边看效果的,改错了一目了然,立刻撤销就行。正常的WPF界面设计,是。

2026-07-05 15:59:08 275

原创 XAML:button控件模板

就变成一行一行显示了。

2026-07-04 17:04:36 56

原创 XAML如何学

不要被一堆文件吓到。你现在只需要把 XAML 当成。

2026-07-04 16:25:16 258

原创 WPF分哪几块

总的来说,WPF是一个设计精良、功能全面的UI框架。它的核心可以概括为:一个由托管代码 (PresentationFramework, PresentationCore)和非托管代码 (milcore)构成的图形渲染引擎,以及一个为开发者提供了XAML、控件、数据绑定、动画等丰富功能的编程框架-5。如果你想深入了解某个特定部分(比如数据绑定或XAML),我可以为你提供更详细的解释。

2026-07-04 15:46:16 239

原创 makefile中使用:变量、%、$@、exprot

环境变量是父进程留给子进程的“遗产”,只有被 export 标记过的遗产,法律(操作系统)才允许传给后代;没标记的,只能父进程自己用,子进程无权继承。这就是为什么在递归 Makefile 中,export 是必不可少的“传话筒”。

2026-06-20 12:19:42 248

原创 二进制信号量

* 完成后释放信号量,唤醒等待的任务 *//* 注意:中断中只能调用 semGive(),不能调用 semTake() *//* 释放信号量,通知任务处理事件 */void taskA(void) /* 先执行的任务:负责释放信号量 */void taskB(void) /* 后执行的任务:负责等待信号量 *//* ========= 临界区开始 ========= *//* ========= 临界区结束 ========= *//* 创建同步用信号量:FIFO排队 + 初始不可用 */

2026-06-07 12:28:14 223

原创 git(TortoiseGit)使用:问题集合(分支等)

多人协作时,远程可能有其他人提交的代码。如果直接推送,会被拒绝(因为本地落后于远程)。初始化仓库:不要勾选“使用 Readme 初始化仓库”,因为我们后面要从本地推送已有代码。为每个项目创建一个独立的仓库。1.登录 Gitee,点击右上角 “+” → “新建仓库”。4.创建成功后,你会看到一个页面,上面显示了远程。如果是合并时有冲突的,本地修改后,再提交并推送;),需要把远程的最新更新拉下来,用pull。是否开源:根据需要选择“公开”或“私有”。多人协作时,推送前,先拉取(pull)3.点击 “创建”。

2026-05-31 16:03:07 322

原创 git指令和sourceTree按钮对比

》参照:

2026-05-31 15:44:50 268

原创 VxWorks核心函数库分类详解

VxWorks的函数库非常庞大,这里为你梳理了,这是进行VxWorks开发的核心知识。

2026-05-26 22:03:17 402

原创 如何编译编译 Qwt-5.2.0?

确保已将 Qwt 库目录添加到。

2026-04-18 22:48:50 290

原创 qt中显示日志的一般是哪个控件?

在 Qt 中显示日志最常用的控件是 QPlainTextEdit和 QTextEdit。如果只显示普通文本日志,首选 QPlainTextEdit,它在处理大量日志时性能更好。如果需要显示带颜色或超链接的富文本日志,则用 QTextEdit。

2026-04-04 13:39:34 463

转载 Git 、TortoiseGit 安装使用教程

在当前目录点击右键,选择 “TortoiseGit” – “设置” – “Git” – “编辑本地.git/config(L)”点击 “Copy To Clibboard”,把 SSH 的公钥粘贴到 Git 服务器的配置中【具体参考: 2.4.2】方法一:参考步骤【1.4】,点击 “Copy To Clibboard”,把 SSH 的公钥粘贴 GitBlit。*注:如果不想看发行说明,在点击 前,先把 “View Release Notes” 的勾去掉。如果大家不习惯使用英文版本,可以下载中文语言包安装。

2026-03-15 19:18:49 363

原创 git、svn;TortoiseGit、TortoiseSVN;gitlab、github、bitbucket、bamboo有什么关系?

开发者用在本地操作底层的Git来管理代码。为了团队协作,开发者会把本地Git仓库的代码推送到远程,比如GitHub或GitLab上。当代码推送到远程后,Bamboo(或者GitLab CI)会自动检测到变化,然后从仓库拉取最新代码,执行自动化测试和部署。服务于SVN。服务于Git。Git是GitHubGitLabBitbucket等托管平台的核心。Bamboo是配合这些托管平台使用的自动化工具。。

2026-03-15 18:28:38 471

原创 QT的designer中打开UI文件,其中的combox的属性编辑器中并未看到设置值,editable属性也未勾选!但是combox却能显示一个“Set pition“字符串,是怎么回事?

标签:<item><string>选项1</string></item><item><string>选项2

2026-03-10 15:30:42 340

原创 用QWidget提升为Qwtplot的方法,该如何做?

在运行你的程序之前,最重要的一步:将编译好的qwt.dll文件复制到你的程序生成的可执行文件(.exe)所在的目录下。F:\2.QT\build-你的项目名-Desktop_Qt_5_9_0_MinGW_32bit-Debug\debug\请将复制到这个目录。现在,点击运行,你应该能看到一个带有红色正弦曲线和灰色网格的窗口了。如果仍有问题,请仔细核对上述每一步,特别是文件路径是否正确。4、

2026-03-08 15:09:01 493

原创 为啥有2个IP?哪个是上位机?哪个是下位机?linux也可能是上位机\下位机

您要找的PPC地址是:IP2(ALL选项中的那个)IP1(linux选项)很可能是您当前登录的Red Hat系统,或者是另一台x86 Linux服务器这是一个典型的混合架构工业控制系统上层:Red Hat Linux(管理界面、数据处理)下层:PPC + VxWorks(实时控制、设备驱动)如果您能告诉我IP2的具体值,或者界面中还有哪些选项,我可以帮您进一步分析和操作。

2026-02-27 10:36:15 514

原创 VS编写QT程序,如何向linux中移植?

先用VS编写程序=》然后转成.pro(或者添加并编写一个pro文件)=》再在windows上先用QTCreator打开编译,先过滤一遍问题=》再复制到linux上,开启QTCreator,打开pro项目=》添加include\lib路径=》编译;

2026-02-08 21:44:31 869

原创 QTCreator快捷键

一、

2026-02-07 22:26:52 381

原创 pro、pri文件解析

pro文件在Qt项目里非常重要,它就像一个"总指挥",掌控着项目的编译和链接过程。在后续的学习中,大家要多实践,遇到问题多查看Qt官方文档,慢慢就能熟练运用.pro文件啦。各位小伙伴,在Qt项目里,.pro文件就像是项目的"指挥官"。它是用Qt自己的脚本语言写的项目配置文件,Qt Creator或者qmake工具会读取这个文件,然后根据里面的设置生成对应的Makefile,最终把项目编译出来。简单来说,.pro文件决定了项目怎么编译、链接,要包含哪些文件和库。.pro文件里用#号开头的就是注释。

2026-02-07 19:32:49 551

原创 安装了多个版本VS导致无法安装vsix

博主先后安装了VS2015和VS2019,在给VS2015安装qt-vsaddin插件时运行vsix报错,‘View Install Log’有显示,后续给出了在cmd运行的解决办法。2023/9/19 10:03:46 - VSIXInstaller.NoApplicableSKUsException: 此扩展不能安装在任何当前安装的产。2023/9/19 10:03:46 - 找到的已安装产品 - Visual Studio Community 2019。“View Install Log”里显示。

2026-02-07 17:13:13 376

原创 qt-opensource-windows-x86-5.9.0.exe这个x86是什么意思?

‌9 安装后,Qt Creator等开发工具本身会作为32位进程运行,但这并不限制你开发64位的应用程序。,这通常表示它是为32位Windows系统编译的安装程序。‌12 但多个资料指出,‌。该安装包通常包含MinGW或MSVC编译器选项。如果在安装时选择了‌。),那么你就可以使用Qt来编译和运行64位的C++程序。‌一个只能运行32位程序的限制性安装包,而是一个‌。‌,它可以在64位Windows上安装,并通过。‌:该安装包的文件名中包含。‌:关键在于安装时选择的‌。选择合适的64位编译器。

2026-02-07 12:46:37 151

原创 windows QT项目

2、在纯linux环境下用QTCreator这个IDE去编项目;但是如果在windows上编写qt项目,VS这个IDE还是比QTCreator要强大很多,而且。类目首字母大写、勾选文件名小写(方便跨平台移植)移植到Linux等平台上,不影响跨平台特性!添加自己的头文件、库目录(如果有第三方库)

2026-02-07 11:42:20 70

原创 linux中qt安装

sudo ./qt**_run安装;(默认安装在/opt/目录下)cd进入QtCreator目录,执行qtcreator;2.将qt**_run拷贝到linux中;cd进入qt安装包所在目录;之后,重新运行,ok。

2026-02-07 11:01:19 199

原创 虚拟机需要连外网,同时笔记本连接wlan,IP经常变,该怎么配置网络?

ping -c 3 8.8.8.8 && echo "✅ 外网可达" || echo "❌ 外网不可达"2 && echo "✅ DNS工作正常" || echo "❌ DNS失败"2 && echo "✅ 网关可达" || echo "❌ 网关不可达"echo "在主机上测试:telnet localhost 7000"回到虚拟网络编辑器,点击 "DHCP设置"点击 "应用" → "确定" 保存所有设置。在虚拟网络编辑器中,选择 VMnet8;echo "5. 测试端口转发(FileZilla):"

2026-02-01 18:37:08 910 5

原创 QTCreator error: C3861: “_mm_loadu_si64”: 找不到标识符

1、

2026-02-01 13:02:00 285

原创 VS2015安装后,安装QT59,之后安装qt-vsaddin-msvc2015-2.4.3.vsix 文件失败问题!

一、

2026-02-01 11:07:33 128

原创 针对List的反序列化:为何使用using System.Text.Json不会引起List.Count翻倍!而使用NewJson库对List进行反序列化的时候,就会使得List.Count翻倍!

/ 构造函数在反序列化时也会执行!// 这里也会执行!

2026-01-31 12:55:57 68

原创 C#哪些类型需要 手动初始化

→ 初始化为 '\0' (Unicode 0)结构体(struct)→ 所有字段初始化为默认值。等数字类型 → 初始化为0。→ 初始化为 false。二、需要手动初始化的情况。类对象 → 初始化为。

2026-01-20 09:49:06 240

原创 C# params 关键字详解

params关键字用于声明,允许方法接受可变数量的参数。它是方法的便捷方式。

2025-12-20 22:47:36 621

原创 值类型、引用类型

‌值类型‌是通过值传递的,即在方法调用时传递的是值的副本。对副本的修改不会影响原始变量。‌引用类型‌是通过引用传递的,即在方法调用时传递的是引用(地址)的副本。通过这个引用可以修改对象的状态,这种修改会影响到原始对象。理解这些基本概念对于编写高效和正确的C#代码至关重要。原文链接:https://blog.youkuaiyun.com/boy_of_god/article/details/80725233。

2025-12-20 22:27:22 848

原创 为什么有out参数存在?

/ 使用// 使用 result.Value直接回答你的问题:C#中并不一定要用out参数。历史遗留:早期版本的C#缺少更好的多返回值方案兼容性:保持与现有.NET API的一致性特殊情况:性能极端敏感或与外部代码交互现代C#开发建议优先使用元组(C# 7.0+)考虑记录类型获得更好的语义只在必须时使用out(如实现特定接口或保持兼容)永远不要为了"性能"而盲目使用out(先测量,再优化)out参数在现代C#中更像是一种"向后兼容"的特性,而不是首选的编程模式。

2025-12-20 21:51:42 958

原创 wpf 类图

它派生自UIElement,具有:数据绑定、样式、资源等wpf最重要的功能。目前我最熟悉的类是Panel和Control。WPF的命名空间都是System.Window开头。WPF的实现架构比较抽象,我先放一放。

2025-12-13 20:45:40 289

原创 PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(“Text“));---核心是:INotifyPropertyChanged接口

间接更新不直接更新UI,只是触发事件观察者模式:WPF绑定系统是事件的订阅者解耦设计:ViewModel不知道UI的具体实现自动同步:多个UI控件可以绑定到同一个属性性能优化:只有真正需要更新的控件才会响应事件这种机制实现了数据驱动UI当数据改变时,UI自动响应更新,而不是手动控制UI的每个变化。

2025-12-13 17:23:12 950

原创 Source insight相关

Source Insight常用配置:Source Insight新建工程:

2025-12-06 17:26:46 185

原创 C#类:将Get/Set方法放在一起

/ 传统方式 - 冗长。// C#属性 - 简洁。

2025-11-27 11:25:48 258

空空如也

空空如也

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

TA关注的人

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