VC 下如何正确的创建及管理项目
讲解 VC 下如何正确的创建及管理项目
本文讲解 Visual C++ 的项目文件组成,以及如何正确的创建及管理项目。
本文所设计的内容是初学者必须要掌握的。不能正确的管理项目,就不能进一步写有规模的程序。
一、项目下各种常见文件类型的作用
- 代码文件
扩展名为 .cpp、.c、.h 等。
通常情况下,项目会由多个代码文件和头文件组成,每个文件实现不同的功能。
- 资源文件
扩展名为 .rc 。
资源文件中定义了项目中所需的各种资源,例如图片、图标、对话框、声音等。项目中的资源引用情况均会记录在其中。有些资源会完整的记录在 .rc 里面,有些资源仅仅在 .rc 里面记录一个链接。
- 项目管理文件
扩展名在不同版本的 VC 下有区别:VC6 为 .dsp,VC2008 / VC2010 为 .vcproj,VC2012 为 .vcxproj 。
项目管理文件管理所有代码、资源文件以及项目设置。
- 工作区管理文件
扩展名在不同版本的 VC 下有区别:VC6 为 .dsw,VC2008 及以上版本为 .sln 。
在工作区内可以包括多个项目。
- 编译的输出文件
默认情况下,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 下如何正确的创建及管理项目的更多相关文章
- centos 下 KVM虚拟机的创建、管理与迁移
kvm虚拟机管理 一.环境 role hostname ip OS kvm_server target 192.168.32.40 ...
- vue-cli3.0 使用图形化界面创建和管理项目
1.打开终端输入vue ui vue ui 2.创建项目 3.选择一套预设,点击创建项目按钮 4.等待安装 5.安装完成后 6.可以添加插件 7.项目依赖管理 8.项目配置管理 9.项目任务管理 10 ...
- Django_01_创建图书管理项目
在django中,项目的组织结构为一个项目包含多个应用,一个应用对应一个业务模块 示例:创建项目的名称为test1,完成“图书-英雄”信息的维护,创建应用名称为booktest 创建项目:首先进入到虚 ...
- ubuntu下使用命令行创建一个android项目
在ubuntu中配置好jdk和android_sdk环境后,可以通过命令行方式创建一个android工程. 具体命令如下: android create project --target <ta ...
- 在Windows下使用Git+TortoiseGit+码云管理项目代码
1. 安装Git 下载地址:点击打开链接 安装指南:默认选项即可 2. 安装TortoiseGit 下载地址:点击打开链接 安装指南:点击打开链接 3. 在码云创建账号, ...
- 如何创建一个Django项目
Django 软件框架 软件框架是由其中的各个模块组成,每个模块负责特定的功能,模块与模块之间相互协作来完成软件开发. MVC简介 MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的 ...
- Angular学习笔记—创建一个angular项目
开始项目前,你需要先安装node和npm,然后执行npm install -g @angular/cli安装Angular CLI. 如何安装node.js和npm npm使用介绍 1.安装angul ...
- Vue Create 创建一个新项目 命令行创建和视图创建
Vue Create 创建一个新项目 命令行创建和视图创建 开始之前 你可以先 >>:cd desktop[将安装目录切换到桌面] >>:vue -V :Vue CLI 3.0 ...
- Centos7下创建和管理用户
centos服务管理主要命令是systemctl,centos7的服务不再放在/etc/init.d/下;而放在/usr/lib/systemd/system下,centos7系统中systemctl ...
随机推荐
- curl 命令常用
参考: https://www.cnblogs.com/name-lizonglin/p/12167808.html -- 测试 请求返回时间 测试Pod 之间解析时间 用key为空字符串查me ...
- 转 Autofac怎么依赖注入ASP.NET MVC5类的静态方法
之前我有介绍过怎么在ASP.NET mvc5中实现的Controller的依赖注入.一般是通过Contrller的构造函数的参数或者属性来注入,但是这有一个共同点就是调用这个类的方法一般都是实例方法, ...
- Django的models由数据库表生成
Django的models由数据库表生成 参考文献:https://www.cnblogs.com/sukura/p/14306510.html 目的或效果:方便实现使用django原生的后台管理系统 ...
- ORACLE中ROWNUM
一.rownum 1.rownum是对结果集添加的一个伪列: 2.是先按某种条件查询出结果集之后又添加上的一个列; 3.它总是从1开始,因此在使用的过程中需要谨慎使用>,>=,=,betw ...
- JSP 表单提交 数据库乱码解决方法
问题:有时候在做jsp逻辑处理时,比如提交表单,从前台注册的页面提交了一部分的数据,但是后面处理的JSP页面通过 request.getParameter 调用时,获取到的是一堆乱码. 乱码分析:因为 ...
- Lua中如何实现类似gdb的断点调试—09支持动态添加和删除断点
前面已经支持了几种不同的方式添加断点,但是必须事先在代码中添加断点,在使用上不是那么灵活方便.本文将支持动态增删断点,只需要开一开始引入调试库即可,后续可以在调试过程中动态的添加和删除断点.事不宜迟, ...
- 【自动化基础】allure描述用例详细讲解及实战
前言 allure可以输出非常精美的测试报告,也可以和pytest进行完美结合,不仅可以渲染页面,还可以控制用例的执行.下面就对allure的使用进行一个详细的介绍和总结. 需要准备的环境: pyth ...
- hive从入门到放弃(三)——DML数据操作
上一篇给大家介绍了 hive 的 DDL 数据定义语言,这篇来介绍一下 DML 数据操作语言. 没看过的可以点击跳转阅读: hive从入门到放弃(一)--初识hive hive从入门到放弃(二)--D ...
- 什么是CSRF跨站请求伪造?(from表单效验csrf-ajdax效验csrf-Ajax设置csrf-CBV装饰器验证csrf)
目录 一:csrf跨站请求伪造 1.什么是CSRF? 2.CSRF攻击案例(钓鱼网站) 3.钓鱼网站 内部原理 4.CSRF原理(钓鱼网站内部本质) 5.从上图可以看出,要完成一次CSRF攻击,受害者 ...
- MySQL存储引擎,索引及基本优化策略
存储引擎 与Oracle, SQL Server这些数据库不同,MySQL提供了多种存储引擎.什么是存储引擎?存储引擎其实就是一套对于数据如何存储,查询,更新,建立索引等接口的实现.不同存储引擎特性有 ...