讲解 VC 下如何正确的创建及管理项目

本文讲解 Visual C++ 的项目文件组成,以及如何正确的创建及管理项目。

本文所设计的内容是初学者必须要掌握的。不能正确的管理项目,就不能进一步写有规模的程序。

一、项目下各种常见文件类型的作用

  1. 代码文件

扩展名为 .cpp、.c、.h 等。

通常情况下,项目会由多个代码文件和头文件组成,每个文件实现不同的功能。

  1. 资源文件

扩展名为 .rc 。

资源文件中定义了项目中所需的各种资源,例如图片、图标、对话框、声音等。项目中的资源引用情况均会记录在其中。有些资源会完整的记录在 .rc 里面,有些资源仅仅在 .rc 里面记录一个链接。

  1. 项目管理文件

扩展名在不同版本的 VC 下有区别:VC6 为 .dsp,VC2008 / VC2010 为 .vcproj,VC2012 为 .vcxproj 。

项目管理文件管理所有代码、资源文件以及项目设置。

  1. 工作区管理文件

扩展名在不同版本的 VC 下有区别:VC6 为 .dsw,VC2008 及以上版本为 .sln 。

在工作区内可以包括多个项目。

  1. 编译的输出文件

默认情况下,VC 会将编译结果输出在 Debug 和 Release 文件夹下面。

二、创建项目

每个项目要有一个独立的文件夹,千万不要在同一个文件夹里面放不同项目的代码文件。

使用 VC 创建项目的时候,会自动以项目名称建立一个文件夹。具体创建项目的步骤,请参考 EasyX 官网的 Flash 演示视频。

我理解,很多初学者写的项目都只有几十行,为了几十行代码就创建一个文件夹以及一大堆于此相关的文件,似乎不值得。但是,编写代码必须使用正确的方式,同一个文件夹只能有与本项目相关的文件。

当然,如果仅仅作为小代码的保存方式,也是可以在同一个文件夹下面存放多个不同项目的代码文件的。

每次启动项目,不要双击 .cpp 文件,而要双击 .dsw 文件。这样才能让项目相关的文件都被正确关联。

三、管理项目

随着代码越写越大,项目所涉及的文件也会越来越多。这时候,将这些文件分类存放就显得很重要了。例如,可以将所有图片资源放在 res 文件夹下面等等。

四、发布项目

项目写完以后,想把最终生成的 .exe 发给好友欣赏,这时候就要注意了:

VC 的编译输出有两个文件夹,Debug 和 Release。

Debug 文件夹下面的 .exe 文件,是用来调试的,里面包含多种调试信息,比较臃肿,并且使用的是调试版本的库,因此发给别人的时候,别人通常是无法执行的。

Release 文件夹下面的 .exe 文件,是用来发布的,里面删掉了所有调试信息,比较精简,使用常规库,是可以拷贝给别人使用的。

在 VC 顶部的工具条上可以切换编译方式是 Debug 还是 Release。

对于一般程序而言:

VC6 编译的 Release 版本的 .exe 文件,可以单独运行在任何 windows 平台上(大于 win95 即可)。

VC2008 / 2010 / 2012 编译的 Release 版本的 .exe 文件,运行它的电脑需要安装对应版本的运行时库。电脑上一般都有安装。如果没有安装,单独装一下就好了。

几个版本的运行时库的微软官方下载地址:

VC2008 (VC++ 9.0) 运行时库(x86):https://www.microsoft.com/zh-cn/download/details.aspx?id=5582

VC2008 (VC++ 9.0) 运行时库(x64):https://www.microsoft.com/zh-cn/download/details.aspx?id=2092

VC2010 (VC++ 10.0) 运行时库(x86):https://www.microsoft.com/zh-cn/download/details.aspx?id=8328

VC2010 (VC++ 10.0) 运行时库(x64):https://www.microsoft.com/zh-cn/download/details.aspx?id=13523

VC2012 (VC++ 11.0) 运行时库:https://www.microsoft.com/zh-cn/download/details.aspx?id=30679

VC2013 (VC++ 12.0) 运行时库:https://www.microsoft.com/zh-CN/download/details.aspx?id=40784

VC2015 (VC++ 14.0) 运行时库:https://www.microsoft.com/zh-CN/download/details.aspx?id=53587

VC2017 (VC++ 15.0) 运行时库(x86):https://go.microsoft.com/fwlink/?LinkId=746571

VC2017 (VC++ 15.0) 运行时库(x64):https://go.microsoft.com/fwlink/?LinkId=746572

转载说明:

转载自EasyX 官方网站中的文章VC 下如何正确的创建及管理项目

VC 下如何正确的创建及管理项目的更多相关文章

  1. centos 下 KVM虚拟机的创建、管理与迁移

    kvm虚拟机管理 一.环境 role         hostname    ip                  OS kvm_server   target      192.168.32.40 ...

  2. vue-cli3.0 使用图形化界面创建和管理项目

    1.打开终端输入vue ui vue ui 2.创建项目 3.选择一套预设,点击创建项目按钮 4.等待安装 5.安装完成后 6.可以添加插件 7.项目依赖管理 8.项目配置管理 9.项目任务管理 10 ...

  3. Django_01_创建图书管理项目

    在django中,项目的组织结构为一个项目包含多个应用,一个应用对应一个业务模块 示例:创建项目的名称为test1,完成“图书-英雄”信息的维护,创建应用名称为booktest 创建项目:首先进入到虚 ...

  4. ubuntu下使用命令行创建一个android项目

    在ubuntu中配置好jdk和android_sdk环境后,可以通过命令行方式创建一个android工程. 具体命令如下: android create project --target <ta ...

  5. 在Windows下使用Git+TortoiseGit+码云管理项目代码

    1.      安装Git 下载地址:点击打开链接 安装指南:默认选项即可 2.      安装TortoiseGit 下载地址:点击打开链接 安装指南:点击打开链接 3.      在码云创建账号, ...

  6. 如何创建一个Django项目

    Django 软件框架 软件框架是由其中的各个模块组成,每个模块负责特定的功能,模块与模块之间相互协作来完成软件开发. MVC简介 MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的 ...

  7. Angular学习笔记—创建一个angular项目

    开始项目前,你需要先安装node和npm,然后执行npm install -g @angular/cli安装Angular CLI. 如何安装node.js和npm npm使用介绍 1.安装angul ...

  8. Vue Create 创建一个新项目 命令行创建和视图创建

    Vue Create 创建一个新项目 命令行创建和视图创建 开始之前 你可以先 >>:cd desktop[将安装目录切换到桌面] >>:vue -V :Vue CLI 3.0 ...

  9. Centos7下创建和管理用户

    centos服务管理主要命令是systemctl,centos7的服务不再放在/etc/init.d/下;而放在/usr/lib/systemd/system下,centos7系统中systemctl ...

随机推荐

  1. idea教程--Maven 骨架介绍

    简单的说,Archetype是Maven工程的模板工具包.一个Archetype定义了要做的相同类型事情的初始样式或模型.这个名称给我们提供来了一个一致的生成Maven工程的方式.Archetype会 ...

  2. Python:对元组使用关键字in

    如果in的左边是个含有多个元素的元组对象 例如 ('a','b') in L 那么L在什么情况下,这个式子会输出True呢? 答案是,L中必须也有一个和想要查找的元组一模一样的元组才行,比如: L=[ ...

  3. c/c++中sort函数用法

    转载自博主:九江镇中https://www.cnblogs.com/jjzzx/ c++标准库里的排序函数的使用方法 I)Sort函数包含在头文件为#include<algorithm>的 ...

  4. 文件上传漏洞之MIME类型过滤

    上传的时候修改Content-Type为image/jpeg等程序指定的类型即可. 修改为: 使用蚁剑连接测试

  5. CV之各种不熟悉但比较重要的笔记

    解析: skip connection 就是一种跳跃式传递.在ResNet中引入了一种叫residual network残差网络结构,其和普通的CNN的区别在于从输入源直接向输出源多连接了一条传递线, ...

  6. tp5 数据库迁移及数据填充

    1:首先通过 composer 安装    原命令加空格 1.* 2:创建 3:填入数据 4:运行,刷新数据库 数据填充: 1:在命令行输入以下命令 composer require fzaninot ...

  7. pd.merge操作的on参数解释

    # 同时传入两个Key,此时会进行以['key1','key2']列表的形式进行对应,left的keys列表是:[['K0', 'K0'],['K0', 'K1'],['K1', 'K0'],['K2 ...

  8. Net6 Configuration & Options 源码分析 Part2 Options

    Net6 Configuration & Options 源码分析 Part2 Options 第二部分主要记录Options 模型 OptionsConfigurationServiceCo ...

  9. (九)React Ant Design Pro + .Net5 WebApi:后端环境搭建-IdentityServer4-简单配置

    一.简介 IdentityServer4 是用于 ASP.NET Core 的 OpenID Connect 和 OAuth 2.0 框架,通过中间件的方式集成.JWT(json web token) ...

  10. 知识点简单总结——Lyndon分解

    知识点简单总结--Lyndon分解 Lyndon串 定义:一个字符串的最小后缀就是整个串本身. 等效理解:这个串为其所有循环表示中最小的. Lyndon分解 定义:将字符串分割为 $ s_{1} s_ ...