使用 Visual Studio Code (VS Code) 作为 Visual C++ 6.0 (VC6) 的编辑器

news/2024/10/22 7:44:44/

使用 Visual Studio Code (VS Code) 作为 Visual C++ 6.0 (VC6) 的编辑器

由于一些众所周知的原因,我们不得不使用经典(过时)的比我们年龄还大的已有 25 年历史的 VC++ 6.0 来学习 C 语言。而对于现在来说,这个经典的 IDE 过于简陋,并且早已不兼容新的操作系统,用它学习早已成为一种折磨。但现代的 C 语言编译环境又无法兼容某些教材或考试的语言逻辑。那我们就只使用它的编译器吧!

安置 VC98 编译器工具

以下文件从 Visual Studio 6.0 Enterprise (6.00.8168) 中提取,提取步骤放在本文末尾,如链接失效可自行制作。

https://pan.baidu.com/s/1d-r0C6DSYan4oJvKjv5zeg?pwd=VC98

下载编译器文件解压到一个没有中文和空格的路径,这里我的路径是 E:/Library/VC98
0

配置 VS Code 编辑器环境

  1. 安装 C/C++ 插件。
    1

  2. 安装 Code Runner 插件。
    2

  3. 自己的项目目录(想放哪就放哪qwq)建立一个新目录作为工作区存放需要用 VC6 编译的 C 语言文件,这里我放在了桌面 D:\Desktop\VC6_C
    3

  4. 在工作区中新建 .vscode 目录,并在其中新建 settings.json,内容为:

    {"C_Cpp.default.includePath": [// VC98编译器所在路径/INCLUDE"E:/Library/VC98/INCLUDE"],"code-runner.executorMap": {// VC98编译器所在路径/VC98.BAT"c": "cd $dir && E:/Library/VC98/VC98.BAT CL $fileName /nologo && $dir$fileNameWithoutExt",// VC98编译器所在路径/VC98.BAT"cpp": "cd $dir && E:/Library/VC98/VC98.BAT CL $fileName /nologo && $dir$fileNameWithoutExt",}
    }
    
  5. 在工作区中新建一个测试 C 文件,右键 Run Code 运行。
    4

提取和制作 VC98 编译器工具(如果你感兴趣)

提取编译器文件

  1. 下载 Visual Studio 6.0 Enterprise (6.00.8168),得到 Visual Studio 6.0 Enterprise (6.00.8168).7z
  2. 解压出其中的 VSE600ENU1.ISO 文件。
  3. 解压出 VSE600ENU1.ISO 中的 VC98\BINVC98\INCLUDEVC98\LIB 目录和 COMMON\MSDEV98\BIN\MSPDB60.DLL 文件。
  4. MSPDB60.DLL 文件复制到解压出的 VC98\BIN 中。
  5. 现在我们得到了以下目录
    VC98
    ├───BIN
    ├───INCLUDE
    └───LIB
    

编写编译脚本

这里直接使用 BIN 下的编译器是找不到头文件和库文件的,因为原始的 VC++ 6.0 软件在调用编译器时会设置 INCLUDELIB 环境变量,所以我们通过脚本包装编译命令。

  • VC98.BAT <编译工具> [参数]
    @ECHO OFFSET INCLUDE=%~DP0INCLUDE
    SET LIB=%~DP0LIBFOR /F "TOKENS=1* DELIMS= " %%I IN ("%*") DO "%~DP0BIN\%%I" %%J
    

http://www.ppmy.cn/news/1169217.html

相关文章

Qt扫盲-QTextCodec理论总结

QTextCodec理论总结 一、概述二、编码支持三、使用四、创建自己的编解码器类 一、概述 QTextCodec 是Qt提供的一个管理字符串编码的功能&#xff0c;他可以在不同编码方式中来回转换&#xff0c;在文件读取的时候、格式编码转换的时候用处很大。Qt使用Unicode 编码来存储、绘制…

【项目实战】从零开始设计并实现一个接口异常链路分析器

这不是马上要到1024了吗&#xff0c;这不得弄个什么工具给部门项目提提效&#x1f62f;&#xff1f; 1. 背景 在我们服务端应用当中&#xff0c;我们往往会要求更高的性能和更高的稳定性&#xff0c;但实际开发的过程中&#xff0c;可能会出现很多赶时间的情况&#xff08;也…

基于Ubuntu Server编译YTM32 SDK工程

基于Ubuntu Server编译YTM32 SDK工程 文章目录 基于Ubuntu Server编译YTM32 SDK工程需求下载软件包安装与配置配置虚拟机联网模式启用ssh连接启用ftp连接安装armgcc编译工具链确认make工具 验证 需求 在Linux系统环境下搭建SDK的编译环境&#xff1a; 方便加入到持续集成工具…

C语言学习书籍推荐

C语言学习书籍推荐如下&#xff1a; 《C程序设计语言》&#xff08;The C Programming language&#xff09;&#xff1a;这本书由C语言创始人Brian W. Kernighan和Dennis M. Ritchie所写&#xff0c;是介绍标准C语言及其程序设计方法的权威性经典著作。《C陷阱与缺陷》&#…

蓝桥杯刷题单

第一周&#xff0c;链表、栈、队列 0、时间复杂度与空间复杂度&#xff08;补充内容&#xff09; 1、链表的基础知识&#xff1a;单链表 2、反转链表&#xff08; LeetCode 206 &#xff09; 3、相交链表&#xff08; LeetCode 160 &#xff09; 4、合并两个有序链表 &…

MMWHS数据集

Multi-Modality Whole Heart Segmentation (MMWHS) 数据集[1] 是多模态医疗图像数据集&#xff0c;有磁共振&#xff08;Magnetic Resonance Imaging&#xff0c;MRI&#xff09;和断层扫描&#xff08;Computed Tomography&#xff0c;CT&#xff09;两种&#xff0c;[2] 对数…

Prometheus接入AlterManager发送邮件告警(基于K8S环境部署)

文章目录 一、配置AlterManager告警发送至邮箱二、Prometheus接入AlterManager配置三、部署PrometheusAlterManager(放到一个Pod中) 注意&#xff1a;请基于 PrometheusGrafana监控K8S集群(基于K8S环境部署)文章之上做本次实验。 一、配置AlterManager告警发送至邮箱 1、创建…

AWS SAP-C02教程6--安全

云的安全是一个重要的问题,很多企业不上云的原因就认为云不安全,特别是对安全性要求较高的企业,所以云安全是一个非常广泛且重要的话题,其实在之前章节中的组件都会或多或少讲述与其相关的安全问题,这里也会详细讲一下。本章主要通过讲述一些独立或与安全有关的组件以及网…