使用 VS Code 作为 VC++ 6.0 的编辑器

使用 VS Code 作为 VC++ 6.0 的编辑器

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

安置 VC98 编译器工具

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

https://pan.baidu.com/s/10AWkAWMvOmrNdJt6qNUvog?pwd=vc98

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

配置 VS Code 编辑器环境

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

  2. 安装 Code Runner 插件。
    2

  3. 在设置中查找 code-runner.executorMap 并编辑。
    3

  4. 在 Json 配置文件中找到如下内容并进行更改。

    "code-runner.executorMap": {... // 其它语言配置"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",... // 其它语言配置
    }
    

    将其更改为 cd $dir && VC98所在路径/RUN $fileName,这里我的路径是E:/Library/VC98。

    "code-runner.executorMap": {... // 其它语言配置"c": "cd $dir && E:/Library/VC98/RUN $fileName",... // 其它语言配置
    }
    
  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\BIN,VC98\INCLUDE,VC98\LIB 目录和 COMMON\MSDEV98\BIN\MSPDB60.DLL 文件。
  4. 将 MSPDB60.DLL 文件复制到解压出的 VC98\BIN 中。
  5. 现在我们得到了以下目录
    VC98
    ├───BIN
    ├───INCLUDE
    └───LIB
    

编写编译脚本

这里猜测原始的 VC++ 6.0 软件有注册过自身的路径,这里只使用 BIN 下的编译器是找不到头文件和库文件的,所以这里通过脚本包装编译命令。

  • CL.BAT

    @ECHO OFF
    "%~DP0BIN\CL.EXE" %* /I "%~DP0INCLUDE" /link "/LIBPATH:%~DP0LIB"
    
  • RUN.BAT

    @ECHO OFF
    "%~DP0CL" "%~DPNX1" /nologo > nul && "%~DPN1"
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.tpcf.cn/news/110070.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

KNN算法

文章目录 释义欧氏距离simple——KNNsklearn——KNN 释义 近朱者赤近墨者黑----从训练数据集中找出和待预测样本最接近的K个样本 对于分类问题,我们使用了多数表决法来判断目标对象的类别。 对于回归问题,我们使用了平均值法来判断目标对象的数值 如上…

【YOLO】语义分割和实例分割(四)

0 YOLO系列笔记 【YOLO】朴实无华的yolov5环境配置(一) 【YOLO】yolov5训练自己的数据集(二) 【YOLO】目标识别模型的导出和opencv部署(三) 1 前言 在之前的实践过程中,总结了如何使用YOLOv…

Vue3响应式原理初探

vue3响应式原理初探 为什么要使用proxy取代defineProperty使用proxy如何完成依赖收集呢? 为什么要使用proxy取代defineProperty 原因1:defineproperty无法检测到原本不存在的属性。打个🌰 new Vue({data(){return {name:wxs,age:25}}})在vue…

WuThreat身份安全云-TVD每日漏洞情报-2023-10-13

漏洞名称:libcue <2.2.1 越权访问漏洞 漏洞级别:高危 漏洞编号:CVE-2023-43641,CNNVD-202310-579 相关涉及:系统-alpine_edge-libcue-*-Up to-(excluding)-2.2.1-r0- 漏洞状态:未定义 参考链接:https://tvd.wuthreat.com/#/listDetail?TVD_IDTVD-2023-25092 漏洞名称:科大…

电脑版便签软件下载用哪个?

在面对每天繁忙的工作日程&#xff0c;电脑是许多上班族不可或缺的工作助手&#xff0c;而一款得心应手的电脑便签软件&#xff0c;更是可以帮助大家记录、提醒、督促各项任务按时完成的得力助手。那么&#xff0c;究竟在众多的电脑便签软。件中&#xff0c;哪一位能够真正成为…

Ubuntu:Arduino IDE 开发环境配置【保姆级】

物联网开发学习笔记——目录索引 本章主要介绍在Ubuntu系统搭建Arduino IDE 开发环境&#xff0c;windows系统请移步&#xff1a;Windows&#xff1a;Arduino IDE 开发环境配置【保姆级】 参考官网&#xff1a;Arduino - Home 有关更多详细信息&#xff0c;请参阅 Arduino I…

SpringCloud微服务(注册发现Nacos、服务调用SSM、网关gateway)项目环境搭建(项目概况,SSM细节总结)

目录 1.nacos环境搭建nacos安装 2.项目主体结构6.2)表结构分析6.4)**运营端微服务搭建**6.4)登录功能实现 7)接口工具postman、swagger、knife4j7.1)postman7.2)swagger7.3)knife4j 8)网关9)前端集成9.1)前端项目部署思路9.2)配置nginx 1.nacos环境搭建 nacos安装 ①&#xf…

LDAP用户密码自服务平台搭建

源码地址&#xff1a;https://github.com/ltb-project/self-service-password 官方文档 &#xff1a;https://self-service-password.readthedocs.io/en/latest/ 1.创建配置文件 mkdir -p /opt/ssp cd /opt/ssp vim ssp.conf.php2.在ssp.conf.php其中输入如下配置选项&#…

ELK日志分析系统的详细介绍与部署

文章目录 1. ELK的概述1.1 简介1.2 使用ELK的理由1.3 ELK的主要组件1.3.1 Elasticsearch1.3.2 Kibana1.3.3 Logstash1.3.3.1 简介1.3.3.2 Logstash常用相关命令选项 1.3.3.3 Logstash 的输入和输出流1.3.4 Logstash的相关配置文件 1.3.4 Filebeat1.3.4.1 简介1.3.4.2 filebeat …

数学分析:傅里叶级数

卓里奇书好的一点就是&#xff0c;不是直接引出公式&#xff0c;而是告诉你理由。先引出正交的概念&#xff0c;然后在函数空间中&#xff0c;也有正交&#xff0c;只不过是无限维的空间。 这里要注意&#xff0c;明确说明了是有限个。 在函数空间里面&#xff0c;内积是指进行…

Go 深入解析非类型安全指针

一、引言 非类型安全指针&#xff08;也称为“裸指针”或“原始指针”&#xff09;在编程领域中一直是一个具有争议和挑战性的主题。它们赋予程序员直接操作计算机内存的能力&#xff0c;为高级性能优化和底层系统交互提供了可能。然而&#xff0c;这种能力往往伴随着高风险&a…

studio one6值不值得下载?好用吗

零基础学混音&#xff0c;持之以恒才能有所收获。首先要明确自己的学习目标&#xff0c;然后选择适合自己的教程。这套教程适用于后期制作和直播&#xff0c;同样适用。我切换到了桌面屏幕。 在这个基础上运行&#xff0c;它提供了适合零基础的模板&#xff0c;适合直播唱歌或…

【iOS】使用单例封装通过AFNetworking实现的网络请求

这里写目录标题 前言单例封装网络请求1. 首先创建一个继承于NSObject的单例类&#xff0c;笔者这里以Manager对单例类进行命名&#xff0c;然后声明并实现单例类的初始化方法2.实现完单例的创建方法后我们即可通过AFNetworking中的GET方法进行网络请求3.在Controller文件中创建…

Electron之集成vue+vite开发桌面程序

在electron中集成vue开发桌面程序 使用我们之前创建的electron项目 创建vue 项目 命令行进入electron根目录 执行下面命令 npm create vitelatest vue -- --template vue这样就创建了一个vue项目&#xff0c;文件名是vue&#xff0c;命令行进入vue下&#xff0c;执行下面命…

css 文字溢出问题

文字溢出处理方案 : 1首先 , 强制文本在一行中显示 ; white-space: nowrap; 2然后 , 隐藏文本的超出部分 ; overflow: hidden; 3最后 , 使用省略号代替文本超出部分 ; text-overflow: ellipsis; white-space 样式 用于设置 文本显示方式 : 默认方式 : 显示多行 ; white-s…

了解Qt QScreen的geometry ,size

目的 了解qt 对于屏幕的size&#xff0c; geometry含义&#xff0c; 更能有效实现最大化&#xff0c; 向下还原逻辑操作 Test 目前我有两个屏 &#xff0c;1920x1080&#xff0c; 3840*2160. 检测当前程序所在screen&#xff08;1920x1080&#xff09;下属性 int screenNum…

算法课作业2 OJ for Divide and Conquer

https://vjudge.net/contest/581947 A - Ultra-QuickSort 题意 每次给n个无序的数&#xff0c;互不重复&#xff0c;问最少需要多少次必要的交换操作使n个数有序。 思路 看一眼想到逆序数&#xff0c;然后验证了逆序数的个数符合样例&#xff0c;但想了一个3 2 1的话实际上…

Camera BSP之GPIO/I2C/PMIC简介

和你一起终身学习&#xff0c;这里是程序员Android 经典好文推荐&#xff0c;通过阅读本文&#xff0c;您将收获以下知识点: 一、GPIO介绍二、IC 总线概括三、PMIC 概括四、思考 一、GPIO介绍 GPIO&#xff1a;General Purpose Input Output &#xff08;通用输入/输出&#xf…

有序性

在多线程编程中,有序性是指程序执行的顺序和操作的期望顺序一致。在多线程环境下,由于线程的并发执行,可能会导致操作的执行顺序与程序代码中编写的顺序不一致,从而引入了并发问题。 有序性问题通常涉及到以下两个方面: 指令重排序:现代处理器通常会对指令进行重排序以提…

Java数据结构之第二十章、手撕平衡AVL树

目录 一、二叉平衡树 1.1二叉搜索树回顾以及性能分析 1.1.1二叉搜索树的概念 1.2二叉搜索树的查找 1.3二叉树查询性能分析 二、AVL树 2.1AVL树的概念 2.2AVL树节点的定义 2.3AVL树的插入 2.4AVL树的旋转 2.4.1新节点插入较高左子树的左侧---右单旋 2.4.2新节点插入较…