手把手教你用TotalCommander辅助做航电开发

2023-10-27 21:40

本文主要是介绍手把手教你用TotalCommander辅助做航电开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

手把手教你用 TC 辅助做航电开发

我们亲爱的飞友读者朋友们大概都知道我和自己俩个人喜欢玩 Linux,从之前的很多片推送文章都能看出来,用 Linux 做桌面使用、做开发机器使用、做服务器使用……做桌面用可以有 OnlyOffice 办公软件完全替代微软 Office,做开发机器用可以开发飞行模拟软件 FlightGear,做服务器可以架设 OnlyOffice 服务器架设离岸 V2UI 私人飞机场服务……

但其实我和自己也还是用 Windows 系统的,比如使用施蒂姆理财平台

施蒂姆理财平台

比如使用 Vaps XT 开发真实飞机实际装备的嵌入式航电仪表程序,这个软件仅支持 Windows 操作系统,以此为上位机,安装 VXWorks 嵌入式开发环境,通过 rs232 串口、网口连接嵌入式下位机,开发调试真机航电。

用惯了 Linux 的自己,对 Windows 的 explorer 这个 exe 十分的苦恼,所以,在水木清华 BBS 社区的 Desktop 版面和 Newsoft 版面,自己和我俩个人致力于推广 BBlean+TotalCommander 的食用方式,自命为水木 BT 党,BBlean+TotalCommmander 的简称,意思是使用 BBlean 替换 explorer 作为 windows 系统的桌面窗口 GUI 渲染外壳 Shell 程序,

bblean 菜单中加入命令提示符、cygwin 以及杀死比尔icon-default.png?t=M666https://mp.weixin.qq.com/s?__biz=MzI2MjUyNzkyNw==&mid=2247487717&idx=1&sn=3545b93a88c893a613b6a26a624bb748&chksm=ea489e3ddd3f172b9ab4c2aa0f1b51186e131f2a3f67acc127bd84d20f079ebb248aa0bad771#rd

使用 TotalCommander 替换 explorer 作为 Windows 系统的资源管理器程序,管理自己的文件,这样 windows 系统从启动到关机的全过程,在任务管理器中根本不会出现 explorer.exe 这个进程,费这么大劲干掉这个进程图什么?很多专门为 windows 系统编写的病毒流氓程序,都是感染系统后依赖于该进程来发作症状的,干掉这个进程不一定能预防感染,但是肯定能让大部分病毒流氓软件无从发病,系统运行更加流畅。

TotalCommander 作为文件管理器有很强大的扩展开发能力,可以方便的与 XT、VC、VXW 集成。

完整版自定义工具栏

如上图所示,经过长期使用过程中的逐渐增加扩展,我的 TC 最终增加了整整一行的自定义工具栏按钮。

先在原工具栏的基础上增加一个使用者自定义的空白的工具栏一行,在原工具栏上右键单击,弹出右键菜单只有一个选择项更改工具栏:

原工具栏上右键单击更改工具栏

然后选择左侧第一个按钮,就是 TC 自带的子工具栏示例的定义配置,仔细观察其配置方式:

子工具栏示例

其真实配置文件是 UserApps.bar,在 TC 的安装路径下,于是找到它,复制一份,修改文件名,为自己的工具栏起名字,比如我的是 VapsXTDeveloper.bar,内容先不用改

复制方式新建.bar文件

这样就可以在 TC 的工具栏上添加这个新建的子工具栏了

添加子工具栏

在自定义工具栏窗口中,选中最右侧一个按钮,点击左侧的 添加(A),添加一个空白按钮,将上面的自带子工具栏定义所使用的图标文件路径拷贝到这里的图标文件中,会自动解析出来一系列自带图标,选择其中的子工具栏图标,然后在 命令一行的右侧的按钮 改变中,选择最下面一条 添加子工具栏,在打开文件对话框中选择新建的子工具栏文件 VapsXTDeveloper.bar,即可把 TC 的 UserApps子工具栏原样复制到新的 VapsXT 工具栏里,点进去新建的 VapsXT 工具栏里面,把 UserApps 里的所有按钮删掉清空,开始添加自己的各个工具的各种使用功能。

代码编辑功能

使用 NotePad++打开源代码文件编辑

NotePad++

鼠标移动上去会自动弹出文字提示,配置方式如下:

NotePad++配置

参数栏填写 %N,意思是在当前 TC 窗口内选中的文件,用 notepad++打开所选中的文件

打开效果

自动调用 notepad++软件打开代码文件开始编程

使用 Gvim 打开源代码文件编辑

用惯了 Linux 的 VI 编辑器,在 windows 下自己也经常用,于是加入 Windows 版本 GVim 的调用按钮,尤其是常用的代码比较功能:

Gvim

两个按钮的配置分别如下

用GVIM打开

代码比较

代码比较的命令是 gvimdiff,参数是比较的两个文件名,在 TC 里面给一个命令输入左右两侧面板分别选中的两个文件的文件名的方式就是参数 %P%N %T%M,在按钮提示处用中文输入代码比较,图标换一个和默认的不一样的有区分度的图标

VimDiff

我比较的这两个文件是完全相同的。

用 VS 2008 Express 里的 VC 打开

当然在 windows 下面最正统的开发集成环境 IDE 还是微软自己的 Visual Studio

VC2008

配置方式很简单,找到它的可执行文件 vcexpress.exe填入即可,连图标也在这个文件里,参数同样是 %N,打卡当前选中的文件,可以是 .cpp源码文件也可以是 .sln工程文件

vcexpress

航电可执行文件运行功能

XT 编译出的仪表可执行文件,固然可以双击运行,但是一般的还是要在命令行里面加一些参数指定其运行方式,比如指定窗口位置大小、指定是否可拖动等等,这些配置可以做成一个一个按钮,加入 TC 工具栏,就可以在 TC 中选择相应 exe 后直接点击按钮就可以按照指定方式运行,自己仅仅加了两个按钮:

无框运行按钮

全屏运行按钮

无框运行就是没有 windows 窗体,没有标题栏没有最大化最小化关闭按钮,不能鼠标拖动窗口位置不能鼠标拖动四个角缩放窗口大小,如下图所示

无框运行计算尺仪表

全屏运行也还是没有 windows 窗体,仪表最大化铺满整个桌面,没有标题栏没有最大化最小化关闭按钮,就像大部分电脑游戏运行的效果一样,如下图所示

全屏运行简单态势地图仪表

这两个按钮配置如下:

无框运行按钮配置

全屏运行按钮配置

图标文件都是直接从 XT 可执行文件中提取,参数 %P%N意思为执行当前 TC 窗口中选中的文件的路径名加文件名,最关键的是自己写了两个 .bat批处理程序来传入无框运行和全屏运行的参数

vapsexecutext.bat

@ rem vapsexecutext.bat
start %1 -xpos 330 -ypos 34 -fit -width 700 -height 700 -noborder

vapsexecutextfull.bat

@ rem vapsexecutextfull.bat
start %1 -xpos 0 -ypos 0 -fit -width 1360 -height 768 -noborder

自己的显示器分辨率只有 1360*768,所以这两个脚本传入的分辨率、xy 坐标都比较凄惨。

%1.bat程序传入参数的引入方法,这个程序传入只有一个参数,就是一个字符串,内容是完整的路径名加可执行文件名,就是 TC 里面的 %P%N,这个程序写得非常简化,所以限制了用法,使用时,XT 可执行路径文件名字符串中间不能有空格存在,否则程序会只解析到第一个空格之前的第一个字符串,就会执行出错。

-width-height是指定仪表画面的宽和高,单位不是什么厘米或者毫米而是像素,像素是什么东西?Windows 系统的显示设置里面屏幕分斌率就是指横方向多少像素竖方向多少像素,比如自己的这台笔记本电脑是 1360*768 像素的,自己为什么还在用这么低分辨率的老电脑呢,因为我给它改装加了触摸屏,开发调试自己的触摸屏仪表用

-xpos-ypos是指定仪表画面的位置,x 和 y 是从 Windows 的主显示器的左下角为零点的横纵坐标,上面的无框运行脚本中的数值,就是以桌面正中间为中心绘制 700 像素高宽的方形仪表区域

-fit是把设计的仪表画面缩放适合窗口大小,我在 XT 里面设计的仪表的尺寸可能很小也可能很大,直接显示就可能看起来太小或者仪表太大被窗口截断,所以加入了 -fit参数,类似的还有 -center参数,将设计的仪表的几何中心对准运行窗口的几何中心,否则程序将仅仅把设计仪表的画布的坐标零点放置在窗口的左下角,如果你设计仪表时候把仪表放置在画布坐标零点的左下方的话,那执行出来就会正好不给显示出仪表来。

-noborder参数去掉窗口的窗体界面 GUI 功能,没有最大化最小化按钮,不能手动调窗口大小,不加这个参数就可以像正常窗口一样操作了,不加这个参数配合 -fit参数可以缩放窗口时候缩放仪表大小。

编译链接可执行文件功能

上面只是运行可执行文件的功能,那在之前有一个环节就是编译链接可执行文件的操作:

cgmakewogl按钮

cgmakewogld按钮

配置如下,这里的 cg_make.bat批处理程序是 XT 安装后提供的自带的编译工具脚本程序,因此在参数栏内填写的参数是其特有的

cgmakewogl配置

cgmakewogld配置

-tgt是指编译目标类型,wogl是 windows 平台下的 OpenGl 底层编译的类型,而 wogl_d则是对应的 debug 带有调试信息可供调试的版本,-vsvars32是编译为 32 位可执行文件。

cg_make.bat编译脚本很长,截图部分代码如下

cg_make.bat

数百行代码,一般情况下不需要研究如何修改,只是用它来调用底层的 VC 和 VXWorks 开发编译环境而已

VC Express 的编译相关按钮

在 TC 里后台调用 VC 执行编译各种操作,从 C++代码生成编译按钮开始到

VapsXTC++makeCodeGen

到编译为静态链接库各种功能

VapsXTC++makeStaticOGLWithExports

这里使用的不是盗版破解版本的 VS,而是强烈推荐使用从微软官方网站下载的正版的免费版本 VS 2008 Express 版本,Express 版本的 VC 是官方免费的,足够使用,这一组按钮就是在前端 TC 界面中配置按钮调用 VC 后端的各个编译工具进行操作,命令参数都是 VC 的参数,含义不再解释,相关信息网上浩如烟海。

Vaps XT C++ make CodeGen

配置如下

VapsXTC++makeCodeGen配置

Vaps XT C++ make release

配置如下

VapsXTC++makeRelease配置

Vaps XT C++ make StaticOGL

配置如下

VapsXTC++makeStaticOGL配置

Vaps XT C++ make StaticOGLDebug

配置如下

VapsXTC++makeStaticOGLDebug配置

Vaps XT C++ make StaticOGLDebugWithExports

配置如下

VapsXTC++makeStaticOGLDebugWithExports配置

Vaps XT C++ make StaticOGLWithExports

配置如下

VapsXTC++makeStaticOGLWithExports配置

VXWorks 编译调试相关

wftpd32

wftpd32按钮

这是上位机和下位机文件传输时候使用的经典工具,一边开启 ftp 文件服务,一边用 ftp 客户端软件登陆上传下载文件

wftpd32按钮配置

tftpd32

tftpd32按钮

类似的一个工具

tftpd32按钮配置

wrwb-x86-win32

打开 VXWorks 的 IDE 开发集成环境 WindRiver WorkBench

wrwb-x86-win32按钮配置

WorkBench

Vaps XT


 


这样就基本上就把 VapsXT 进行航电开发所需要的 Visual Studio Express、VXWorks WorkBench 等都集成到 TC 里面打开了,不再需要从 windows 的开始菜单单独打开这些工具链了,不用 windows 开始菜单了就可以彻底使用 BBlean+TC 来做 shell 了,

taskkill /f /im explorer.exe
taskkill /f /im iexplorer.exe

这篇关于手把手教你用TotalCommander辅助做航电开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/VincentYoung/article/details/125730548
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/288573

相关文章

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录