Windows下Keil 4工程默认Keil 5打开的解决办法

本文详细介绍了在安装Keil5后遇到的Keil4工程文件默认被Keil5打开的问题,并提供了具体的解决步骤。通过修改注册表设置,可以成功将Keil4工程文件的默认打开方式更改为Keil4。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

案例背景:在安装Keil 4进行51系列单片机学习之后安装Keil 5进阶STM32系列单片机的学习。刚安装完后,之前编辑的Keil 4工程还是默认Keil 4打开,Keil 5的工程默认Keil5打开。但由于当初安装系统的时候把用户名称设置为了中文,导致Keil 5的工程不能正常编译。尝试各种方式更改用户名称为英文后依旧无法正常编译,于是重装系统。重装系统后,打开Keil 5尝试编译,成功编译。但在后续打开Keil 4工程文件时默认从Keil 5打开。经打开方式选择Keiil 4应用程序打开仍然从Keil 5打开,多次尝试后未果。

这里写图片描述

那么问题来了:如何让原本的Keil 4工程变回默认从Keil 4打开呢?

  • 首先分析一波,为什么重装系统盘后,默认方式改变了,而且通过打开方式选择Keil 4应用程序打开也改变不了从Keil 5启动的事实。
  • 重装系统会导致什么呢?
  • 会导致原来个人的配置文件丢失。
  • 没错,那就是注册表的改变!
  • 那就让我们打开注册表!开始搞事情吧。
  • win+R打开运行,接着输入regedit.exe。
    这里写图片描述
    这里写图片描述
  • 接着点开HKEY_CLASSES_ROOT拉到UV开头部分。
  • 这里写图片描述
  • 然后通过对工程右键属性查看我们可以Keil 4的工程文件名后缀为.uvproj,而Keil的工程文件名后缀为.uvprojx;
  • 所以我们可以确定,没带X的是Keil 4,带X的是Keil 5。
  • 点开目录,直到子目录出现command。(以Keil 5为例)
    -这里写图片描述

  • 这时旁边出现如下图所示项目。
    这里写图片描述

  • 现在开始真正的搞大事情啦,双击默认。
    这里写图片描述

  • 将数值数据改为你安装的Keil应用程序的路径即可。

  • 记得要两个都改噢,看看哪个出问题了。
### 如何通过 `java -jar` 命令运行后台服务 #### 后台运行的基础概念 当使用 `java -jar` 命令启动一个 Java 应用程序时,默认情况下该应用程序会在前台运行。这意味着如果你关闭终端或者断开 SSH 连接,程序可能会被终止[^1]。 为了防止这种情况发生并让程序在后台持续运行,可以采用以下几种方法: --- #### 方法一:使用 `&` 符号将程序放入后台 可以通过在命令末尾加上 `&` 来实现简单的后台运行功能。这种方式可以让程序继续运行而不阻塞当前的 Shell 终端。 ```bash java -jar your-application.jar & ``` 这种方法虽然简单有效,但如果终端会话结束(比如用户注销或网络中断),程序仍然可能被杀死[^4]。 --- #### 方法二:使用 `nohup` 防止挂起 `nohup` 是一种更可靠的解决方案,它可以忽略 SIGHUP 信号,从而即使终端关闭也能保持程序运行。 ```bash nohup java -jar your-application.jar > output.log 2>&1 & ``` 上述命令中: - `> output.log` 将标准输出重定向到文件 `output.log` 中; - `2>&1` 表示错误日志也写入同一文件; - 最后的 `&` 则表示将任务放到后台执行[^3]。 这样设置后,无论何时关闭终端,Java 程序都会继续正常工作。 --- #### 方法三:利用 `screen` 或 `tmux` 创建持久化会话 对于需要长期维护的服务来说,推荐使用工具如 `screen` 或者 `tmux` 提供更加灵活的方式管理长时间运行的任务。 以 `screen` 为例: 1. 开始一个新的 screen session: ```bash screen -S mysession ``` 2. 执行 jar 文件: ```bash java -jar your-application.jar ``` 3. 按下组合键 Ctrl+A, D 脱离当前屏幕但仍保留其内部活动状态。 之后可通过命令重新连接至之前创建好的 session 查看进程状况。 此法特别适合那些希望随时监控服务器上正在做什么事情的人群。 --- #### 解决常见问题 ##### 问题 1: 当前 ssh 窗口被锁定无法输入新指令怎么办? 答:如果只是想把现有作业移到背景去而不想新开另一个 shell 实例的话,在发出 ctrl+z暂停应用后再键入 bg 即可将其转为后台模式;当然也可以一开始就加 & 参数来规避这个问题。 ##### 问题 2: 如果远程登录结束后发现原来跑着的应用突然停掉了怎么回事呢? 答:这是因为默认行为下的子进程依赖于父进程存活的缘故所致——一旦前者消失后者也就跟着消亡了。所以建议按照前述介绍的方法之一采取措施加以防范。 ##### 问题 3: 日志记录怎么处理比较好些啊? 答:考虑到实际运维需求,最好能够妥善安排好各个阶段产生的消息存储位置以便后续排查故障之需。例如借助上面提到过的 nohup 方案就能轻松达成目标。 ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值