当前位置: 首页 > news >正文

使用 VS Code 作为 VC6 的编辑器

使用 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/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
    

相关文章:

使用 VS Code 作为 VC6 的编辑器

使用 VS Code 作为 VC 6.0 的编辑器 由于一些众所周知的原因&#xff0c;我们不得不使用经典&#xff08;过时&#xff09;的比我们年龄还大的已有 25 年历史的 VC 6.0 来学习 C 语言。而对于现在来说&#xff0c;这个经典的 IDE 过于简陋&#xff0c;并且早已不兼容新的操作系…...

Peter算法小课堂—蠕动区间

蠕动区间 蠕动区间&#xff08;尺取法、双游标&#xff09;是一个经典的优化算法。 我们以毛毛虫&#x1f41b;举例说明 具体的&#xff0c;我们看题目 例题 最小区间 这一题&#xff0c;我们用暴力法&#xff0c;复杂度O(N^2) 先给出暴力法代码 int ansn1; for(int tail…...

Vant和ElementPlus在vue的hash模式的路由下路由离开拦截使用Dialog和MessageBox失效

问题复现 ElementPlus&#xff1a;当点击返回或者地址栏回退时&#xff0c;MessageBox无效 <template><div>Element Plus Dialog 路由离开拦截测试</div><el-button type"primary" click"$router.back()">返回</el-button>…...

上海市通过区块链技术攻关 构建数字经济可信安全技术底座

日前&#xff0c;上海市印发《上海区块链关键技术攻关专项行动方案&#xff08;2023—2025年&#xff09;》&#xff08;以下简称《行动方案》&#xff09;&#xff0c;提出到2025年&#xff0c;在区块链体系安全、密码算法等基础理论以及区块链专用处理器、智能合约、跨链、新…...

Java 面试题

昨天面试了两个Java开发程序员&#xff0c;问了一些问题&#xff0c;回答的不是很好&#xff0c;看看大家的回答如何&#xff0c;可以在评论区回复&#xff0c;测试下自己的水平。 A程序员&#xff1a; 1. 自我介绍一下&#xff1b; 2. 企业级和互联网行业都有那些项目经验,简…...

layui 表格 展开

一、表格嵌套表格&#xff08;手风琴打开&#xff09; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>设备上下线统计</title><script type"text/javascript" src"../../../l…...

[尚硅谷React笔记]——第4章 React ajax

目录&#xff1a; 脚手架配置代理_方法一 server1.js开启服务器server1:App.js解决跨域问题&#xff1a;脚手架配置代理_方法二 ​​​​​​​server2.js开启服务器server2第一步&#xff1a;创建代理配置文件编写setupProxy.js配置具体代理规则&#xff1a;App.js运行结果&a…...

Richard Stallman 正在与癌症作战

导读为了纪念 GNU 项目成立 40 周年&#xff0c;自由软件基金会&#xff08;FSF&#xff09;已计划在 10 月 1 日&#xff08;即GNU 40&#xff09;为家庭、学生以及美国的其他人群组织一场黑客马拉松活动。 活动之前&#xff0c;GNU 项目于 9 月 27 日迎来了 40 岁生日&#…...

MathType7.4最新免费版(公式编辑器)下载安装包附安装教程

MathType是一款专业的数学公式编辑器&#xff0c;理科生专用的必备工具&#xff0c;可应用于教育教学、科研机构、工程学、论文写作、期刊排版、编辑理科试卷等领域。可视化公式编辑器轻松创建数学方程式和化学公式。兼容Office Word、PowerPoint、Pages、Keynote、Numbers 等7…...

如何支持h.265视频

前言 略 h.265视频 h.265是一种视频编码格式。 随着视频编码技术的发展&#xff0c;相比H.264, H.265同等画质体积仅为一半、带宽占用省一半、画质更细腻等诸多优势。 但Web浏览器还不支持H.265的解码播放&#xff0c;因此基于Web Assembly(封装FFmpeg)、JS解封装、Canvas投…...

vue 放大镜(简易)

目录 zoom组件 <template><div class"pic-img"><div class"img-container"><img ref"img" load"imgLoaded" :src"url" :style"overlayStyle" error"imgerrorfun"/><div cl…...

【计算机网络】第一章——概述

个人主页直达&#xff1a;小白不是程序媛 系列专栏&#xff1a;计算机网络基础 目录 前言 计算机网络概述 概念 功能 组成 分类 标准化工作 性能指标 速率 带宽 吞吐量 时延 时延带宽积 往返时延RTT 利用率 分层 为什么要分层&#xff1f; 分层的基本原则&am…...

vue实现在页面拖拽放大缩小div并显示鼠标在div的坐标

1、功能要求&#xff1a; 实现在一个指定区域拖拽div,并可以放大缩小&#xff0c;同时显示鼠标在该div里的坐标&#xff0c;如图可示 缩小并拖动 2、实现 <div class"div_content" ref"div_content"><div class"div_image" id"…...

LuatOS-SOC接口文档(air780E)-- io - io操作(扩展)

示例 -- io模块是lua原生模块,LuatOS增加了一些API -- 请配合os模块一起使用-- 只读模式, 打开文件 local fd io.open("/xxx.txt", "rb") -- 读写默认,打开文件 local fd io.open("/xxx.txt", "wb") -- 写入文件,且截断为0字节 loc…...

【数据结构】线性表(六)堆栈:顺序栈及其基本操作(初始化、判空、判满、入栈、出栈、存取栈顶元素、清空栈)

文章目录 一、堆栈1. 定义2. 基本操作 二、顺序栈0. 顺序表1. 头文件和常量2. 栈结构体3. 栈的初始化4. 判断栈是否为空5. 判断栈是否已满6. 入栈7. 出栈8. 查看栈顶元素9. 清空栈10. 主函数11. 代码整合 堆栈Stack 和 队列Queue是两种非常重要的数据结构&#xff0c;两者都是特…...

父组件可以监听到子组件的生命周期吗?

在 Vue 中,父组件是可以监听到子组件的生命周期的。Vue 提供了一些特殊的钩子函数,可以在父组件中监听子组件的生命周期事件。 以下是一些常用的方法来监听子组件的生命周期: 1:使用$emit: 在子组件的生命周期钩子函数中,使用 $emit 方法触发自定义事件,向父组件发送通…...

[开源]MIT开源协议,基于Vue3.x可视化拖拽编辑,页面生成工具

一、开源项目简介 AS-Editor 基于 Vue3.x 可视化拖拽编辑&#xff0c;页面生成工具。提升前端开发效率&#xff0c;可集成至移动端项目作为通过定义 JSON 直接生成 UI 界面。 二、开源协议 使用MIT开源协议 三、界面展示 四、功能概述 基于Vue可视化拖拽编辑&#xff0c;…...

【C++ Primer Plus学习记录】数组的替代品

目录 1.模板类vector 2.模板类array&#xff08;C11&#xff09; 3.比较数组、vector对象和array对象 模板类vector和array是数组的替代品。 1.模板类vector 模板类vector类似于string类&#xff0c;也是一种动态数组。您可以在运行阶段设置vector对象的长度&#xff0c;可…...

JSP免杀马

JSP免杀马 随着Java框架的进化和程序员的内卷&#xff0c;使用PHP编写的系统越来少&#xff0c;使用Java编写的系统越来越多。JSP马的使用越来越多&#xff0c;但是就目前来看&#xff0c;各大厂商对JSP马的查杀效果还是不尽人意。这里简单通过Java的反射机制和ClassLoader技术…...

2023-10-16 node.js-调用python-记录

NodeJS 作为后端&#xff0c;仅在需要时调用 Python 在某些特殊的场景下&#xff0c;比如复杂耗时的数据处理和运算时&#xff0c;我们可以用 Python 脚本编写&#xff0c;然后使用 Node 的子进程调用 Python 脚本即可&#xff0c;这样可以提升效率。如下代码&#xff0c;我们…...

如何用WeChatMsg守护你的数字记忆:从聊天记录到个人AI数据中心的蜕变

如何用WeChatMsg守护你的数字记忆&#xff1a;从聊天记录到个人AI数据中心的蜕变 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Tre…...

手把手教你用LongCat-Image-Editn:无需代码,在星图平台快速搭建个人AI修图站

手把手教你用LongCat-Image-Editn&#xff1a;无需代码&#xff0c;在星图平台快速搭建个人AI修图站 1. 为什么选择LongCat-Image-Editn 1.1 普通人也能用的AI修图神器 想象一下&#xff1a;你有一张完美的照片&#xff0c;但想换个背景&#xff1b;或者产品图需要更新&…...

微信语音导出mp3全攻略:手机免电脑、在线工具、格式工厂三种方法实测对比

微信语音导出MP3全攻略&#xff1a;三种方法实测与避坑指南 每次听到微信里珍贵的语音消息时&#xff0c;你是否想过把它们永久保存下来&#xff1f;无论是孩子第一次叫"爸爸妈妈"的稚嫩声音&#xff0c;还是商务谈判中的关键承诺&#xff0c;这些语音都值得用更通用…...

【仅限头部金融级用户知晓】Java 25 ZGC 2.0生产调优白皮书(含JFR采样模板与火焰图标注规范)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Java 25 ZGC 2.0 生产调优白皮书导论 ZGC 2.0 是 Java 25 中面向超低延迟场景的下一代垃圾收集器重大演进&#xff0c;其核心目标是将 GC 停顿时间稳定控制在 **1ms 以内**&#xff08;P99 ≤ 0.8ms&am…...

062B-基于51单片机无线病房呼叫系统(+时间)【Proteus仿真+Keil程序+报告+原理图】

062B-基于51单片机无线病房呼叫系统&#xff08;时间&#xff09;一、系统硬件整体架构 本无线病房定时呼叫系统选用STC89C51单片机作为主控芯片。整体硬件配置包含&#xff1a;51 单片机最小系统、NRF24L01 无线通信模块、DS1302 实时时钟芯片、LCD1602 液晶显示模块、按键控制…...

巧妙退出Windows Insider计划:无需账户的离线解决方案

巧妙退出Windows Insider计划&#xff1a;无需账户的离线解决方案 【免费下载链接】offlineinsiderenroll OfflineInsiderEnroll - A script to enable access to the Windows Insider Program on machines not signed in with Microsoft Account 项目地址: https://gitcode.…...

彻底搞懂秒杀产品支持加入购物车:干货合集

关于这个问题&#xff0c;很多商家都不太清楚。今天来详细解答。一、问题背景在实际运营小程序商城的过程中&#xff0c;不少商家会遇到&#xff1a;【20210526功能更新】秒杀产品支持加入购物车二、详细解答秒杀产品支持加入购物车用户参与秒杀活动&#xff0c;在产品详情页即…...

点云离群点去除:统计滤波 / 半径滤波 (Open3D)

文章目录 点云离群点去除:统计滤波 / 半径滤波 (Open3D) 一、任务 二、环境 三、统计滤波 3.1 原理 3.2 代码 3.3 参数调优 四、半径滤波 4.1 原理 4.2 代码 4.3 参数调优 五、组合使用 六、结果 七、下游应用 7.1 语义分割前处理 7.2 三维重建 7.3 下采样加速 八、调试 九、总…...

告别代码格式之争:Google代码规范与自动重构工具终极实战指南

告别代码格式之争&#xff1a;Google代码规范与自动重构工具终极实战指南 【免费下载链接】styleguide Style guides for Google-originated open-source projects 项目地址: https://gitcode.com/gh_mirrors/styleguide4/styleguide 在软件开发过程中&#xff0c;代码格…...

猫抓浏览器扩展:3分钟掌握网页视频下载的终极技巧

猫抓浏览器扩展&#xff1a;3分钟掌握网页视频下载的终极技巧 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾为无法保存在线视频而烦恼&a…...