C语言编译器(C语言编程软件)完全攻略(第十九部分:VC6.0(VC++6.0)使用教程(使用VC6.0编写C语言程序))

介绍常用C语言编译器的安装、配置和使用。

十九、VC6.0(VC++6.0)使用教程(使用VC6.0编写C语言程序)

Visual C++ 6.0简称VC或者VC6.0,是微软1998年推出的一款C/C++ IDE,界面友好,调试功能强大。VC6.0是一款革命性的产品,非常经典,至今仍然有很多企业和个人在使用,很多高校也将VC6.0作为C语言的教学基础,作为上机实验的工具。本教程中的代码,也都是在VC6.0下运行通过。

VC6.0 确实有点老了,如果不是学校要求或者项目需要,建议使用 Visual Studio 代替,这里之所以讲解 VC6.0,是为了照顾在校生或者有特殊需求的读者。

1、安装VC6.0

微软原版的 VC6.0 已经不容易找到,网上提供的都是经过第三方修改的版本,删除了一些使用不到的功能,增强了兼容性。这里我们使用 VC6.0 完整绿色版,它能够支持一般的 C/C++ 应用程序开发以及计算机二级考试。

下载地址:VC 6.0中文版下载

2、在VC6.0下运行C语言程序

C-Free 支持单个源文件的编译和链接,但是在VC6.0下,必须先创建工程(Project),然后再添加源文件。

一个真正的软件,往往需要多个源文件和多种资源,例如图片、视频、控件等,通常是把它们放到一个文件夹下,进行有效的管理。你可以把工程理解为这样的一个文件夹,IDE通过工程来管理这些文件。工程有不同的类型,例如开发“黑窗口”的控制台程序,需要创建Win32 Console Application工程;开发带界面的GUI程序,需要创建Win32 Application工程

(1)新建Win32 Console Application工程

打开VC6.0,在菜单栏中选择“文件 -> 新建”,或者 Ctrl+N,弹出下面的对话框:

切换到“工程”选项卡,选择“Win32 Console Application”,填写工程名称和路径,点击“确定”,会弹出一个对话框询问类型,这里选择“一个空工程”,如下图所示:

点击“完成”按钮完成工程的创建。

(2)新建C源文件

在菜单栏中选择“文件 -> 新建”,或者 Ctrl+N,弹出下面的对话框:

切换到“文件”选项卡,选择“C++ Source File”,填写文件名,点击确定完成。

该步骤是向刚才创建的工程添加源文件。

(3)编写C语言代码

在工作空间中可以看到刚才创建的工程和源文件,如下图所示:

双击 hello.c,进入编辑界面,输入上节中的代码。

(4)编译并运行代码

你可以在“组建”菜单中找到编译、组建和运行的功能,如下图所示:

更加简单的方法是使用快捷方式,如下图所示:

保存编写好的源代码,点击运行按钮 Ctrl+F5,如果程序正确,可以看到运行结果,如下图所示:

注意:编译生成的 .exe 文件在工程目录下的Debug文件夹内。以上面的工程为例,路径为 E:\cDemo,打开看到有一个Debug文件夹,进入可以看到 cDemo.exe。

在Debug目录中还会看到一个名为 hello.obj 的文件。.obj是VC/VS生成的目标文件,类似于C-Free下的.o文件。

3、工程文件说明

进入工程目录 E:\cDemo,除了 hello.c,还会看到很多其他文件,它们是VC6.0创建的,用来支持当前工程,不属于C语言的范围,你可以忽略它们。

如果读者感兴趣,我们也提供了简单的说明:
1) .dsp文件:DeveloperStudio Project,工程文件(文本格式),用来保存当前工程的信息,例如编译参数、包含的源文件等,不建议手动编辑。当需要打开一个工程时,打开该文件即可。

2) .dsw文件:DeveloperStudio Workspace,工作区文件,和DSP类似。

3) .opt文件:IDE的Option文件,保存了与当前工程有关的开发环境的配置,例如工具条位置、打开的文件、光标位置等。

4) .plg文件:日志文件(HTML文件),保存了程序的编译信息,例如错误和警告等。

一个工程可以包含多个源文件和资源文件(图片、视频等),但只能生成一个二进制文件,例如可执行程序.exe、动态链接库.dll、静态链接库.lib等。工程类型决定了不同的配置信息,也决定了生成不同的二进制文件。

一个工作区可以包含多个工程,能够批量生成多个二进制文件。

我们安装的较大的程序,安装目录中一般包含多个 EXE 和 DLL。对于这样的程序,可以先创建一个工作区,再创建多个工程,这样就能一次性生成所需的多个二进制文件。

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

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

相关文章

iOS苹果和Android安卓测试APP应用程序的区别差异

在移动应用开发中,测试是一个至关重要的环节。无论是iOS苹果还是Android安卓,测试APP应用程序都需要注意一些差异和细节。本文将详细介绍iOS和Android的测试差异,包括操作系统版本、设备适配、测试工具和测试策略,并回答一些新手容…

1.5 Unity中的数据存储 PlayerPrefs、XML、JSON

Unity中的三种数据存储:数据存储也称为数据持久化 一、PlayerPrefs PlayerPrefs是Unity引擎自身提供的一个用于本地持久化保存与读取的类,以键值对的形式将数据保存在文件中,然后程序可以根据关键字提取数值。 PlayerPrefs类支持3种数据类…

数一下 1到 100 的所有整数中出现多少个数字9并输出这些数字

分析: 我们知道 1-100的整数 i 中,9会出现在十位和个位上,数9出现的次数可以通过以下来实现: 个位是9 // i % 10得到整数 i 个位上的数十位是9 // i / 10得到整数 i 除了个位数的数字 这也是做这道题之后,我们需要…

filecoin通过filutils 区块浏览器获取历史收益数据

filecoin 历史收益数据 每天每T平均收益 导出历史每日收益为文档 filutils 区块浏览器 导出历史每日收益为文档 #!/bin/bashfor i in {1..10} doecho $iresult$(curl --location --request POST https://api.filutils.com/api/v2/powerreward \--header User-Agent: Apifox/1.…

黑马程序员SpringBoot2-运维实用篇

视频连接:运维实用篇-51-工程打包与运行_哔哩哔哩_bilibili 打包与运行 程序打包与运行(Windows) 可执行jar包目录结构 左上角的结构是没有插件打包后的结构,左下是安装插件后的结构。 jar包描述文件(MANIFEST.MF&a…

2023 波卡年度报告选读:Polkadot SDK 与开发者社区

原文:https://dashboards.data.paritytech.io/reports/2023/index.html#section6 编译:OneBlock 编者注:Parity 数据团队发布的 2023 年 Polkadot 年度数据报告,对推动生态系统的关键数据进行了深入分析。报告全文较长&#xff…

[C#]使用OpenCvSharp实现区域文字提取

【官方框架地址】 github.com/shimat/opencvsharp 【算法介绍】 采用opencv算法实现文字区域提取,步骤如下: (1)形态学操作 (2)查找轮廓 (3)筛选那些面积小的 (4&#…

01.从头梳理--应用软件全生命周期中可用工具(Java方向)

在管理软件的全生命周期中,有很多辅助工具可以帮助开发和管理Java项目。以下是一些主要的工具和框架,这些工具主要在需求收集、设计、开发、测试、部署和运营维护等阶段发挥作用: 1.需求收集工具 JIRA::一个灵活的问题和项目跟踪…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)主线程给子线程添加任务以及如何处理该任务

在看此篇文章,建议先看我的往期文章: 基于多反应堆的高并发服务器【C/C/Reactor】(中)在EventLoop的任务队列中添加新任务-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/135346492?spm1001.2014.3001.5501一…

Raft Lab3A

Lab3 需要在 Raft 层上实现一个 fault-tolerant key-value service,满足强一致性,也就是线性一致性 (Linearizable Consistency)。线性一致性保证整个系统看起来好像只有一个副本,其中所有的操作都是原子性的。简单地说,线性一致性…

什么是发作性睡病?

发作性睡病是一种罕见的神经系统疾病,主要症状表现为无法控制的白天嗜睡。此病在全球范围内的发病率约为0.02-0.18%,通常在儿童或青少年时期发病。 首先,我们来了解一下发作性睡病的典型症状。患者在清醒状态下,如上课、开会或开…

swift ——多行文字前面内容省略

首先来说一说ios中的 lineBreakModelineBreakMode : 设置文字过长时的显示截断样式 可选值如下 byWordWrapping : 以单词为单位换行,以单词为单位截断。byCharWrapping :以字符为单位换行,以字符为单位截断。byClipping &#x…

C+语言的新特性

总是期待学习别人做好了的东西,是否也是一种懒惰呢? C语言是一门想象中的语言,它介于C和C之间。新的研究表明,C语言不支持某些特性,而C过于复杂。于是,便有了C语言,它的新特性如下: …

【Proteus仿真】【Arduino单片机】太阳能追光系统设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用LCD1602液晶、光敏传感器、ADC模块、按键模块、28BYJ48步进电机驱动模块、直流电机模块等。 主要功能: 系统运行后,L…

QGIS009:QGIS常用插件、GDAL和GRASS GIS常用工具

摘要:本文介绍QGIS支持的数据格式、QGIS常用插件以及GDAL和GRASS GIS模块常用工具。 一、QGIS支持的数据格式 1、矢量数据格式 1.1文件格式 ESRI Shapefile(SHP):ESRI公司开发的一种空间矢量数据文件格式,是最为常用的矢量数据格式之一,支持点、线、面等要素类型。GeoJ…

vue 的实例生命周期

Vue.js 的实例生命周期指的是 Vue 实例在创建、更新和销毁过程中的一系列事件和钩子函数,允许在不同阶段执行自定义操作。Vue 实例的生命周期可以分为以下阶段: 创建(Creation): beforeCreate:在实例初始化…

DS|哈夫曼编码及应用

题目一:DS树 -- 赫夫曼树的构建与编码 题目描述: 给定n个权值,根据这些权值构造huffman树,并进行huffman编码 注意数组访问是从位置1开始 要求:赫夫曼的构建中,默认左孩子权值不大于右孩子权值 输入要…

淘宝商品详情API接口(item_get-获得淘宝商品详情)主图,属性,sku,价格,搜索商品列表

淘宝开放平台提供了API接口,允许开发者获取淘宝商品的相关信息。为了获取商品详情,您可以使用 item_get API接口。以下是如何使用此API接口来获取商品的主图、属性、SKU、价格以及搜索商品列表的简要说明: 公共参数 名称类型必须描述keyStr…

PromptCast:基于提示学习的时序预测模型!

目前时序预测的SOTA模型大多基于Transformer架构,以数值序列为输入,如下图的上半部分所示,通过多重编码融合历史数据信息,预测未来一定窗口内的序列数值。 受到大语言模型提示工程技术的启发,文章提出了一种时序预测新…

Redis小计(3)

目录 redis为什么是单线程模型和为什么不推荐使用"keys *"指令 redis为什么是单线程模型和为什么不推荐使用"keys *"指令 单线程模型可以避免线程安全问题,即并发访问导致的数据冲突。当大量客户端发来请求时,redis服务器只能一个一…