visual studio C/C++ 编程学习 visual studio 中的生成事件

也许是太方便了,大家在visualstudio中调试代码时,大多习惯了直接点这个小绿箭头,但其实从点这个小绿箭头直到程序开始运行中间经历了多个步骤。

下面我就这段事件在编译过程中遇到的问题,讲一些我的经验。

今天先来说一说 visual studio 中的生成事件

一个事例:有几幅bmp图像数据文件放在 test .vcproj工程文件所在文件夹下面的Data文件夹中。此时,外界调用该工程所生成的DLL文件,且需要取Data文件夹中bmp图像数据文件。

如下图所示:

作为首启动项的CallTest需要读取test下面的Data文件夹中的图像。

当然,遇到这种情况,我们可以手动操作,把那几幅图像拷贝到该工程文件夹的外部去;也可以在外部需要读取图像的代码处写清楚数据的路径。但是,如果计算机能够自动完成,咱干嘛还劳心劳力呢?

见下图:

在项目属性-> 配置属性 -> 生成事件 下面有预生成、预链接、生成后事件三种,对于上述需求,预生成、生成后两种均可搞定:在命令行敲 xcopy  .\Data\*.bmp  ..\Outfolder\Data。前面是.,代表test .vcproj所在的文件夹下面;后面是..,代表test .vcproj所在的文件夹上一层文件夹。另需注意是反斜杠\。

编译通过:

成功复制了*.bmp图像文件至指定位置。

另,附上xcopy这个dos命令的用法:

dos很强大,同志需努力!

对了,末了,拷贝文件只是生成事件的简单应用,利用它还可以写一些其他脚本,见:

http://blog.163.com/[email protected]/blog/static/109412748201332402929279/

http://blog.sina.com.cn/s/blog_752ca76a010181ma.html

http://msdn.microsoft.com/zh-cn/library/aa833213(v=vs.100).aspx

时间: 2024-10-21 10:02:19

visual studio C/C++ 编程学习 visual studio 中的生成事件的相关文章

多线程编程学习六(Java 中的阻塞队列).

介绍 阻塞队列(BlockingQueue)是指当队列满时,队列会阻塞插入元素的线程,直到队列不满:当队列空时,队列会阻塞获得元素的线程,直到队列变非空.阻塞队列就是生产者用来存放元素.消费者用来获取元素的容器. 当线程 插入/获取 动作由于队列 满/空 阻塞后,队列也提供了一些机制去处理,或抛出异常,或返回特殊值,或者线程一直等待... 方法/处理方式 抛出异常 返回特殊值 一直阻塞 超时退出 插入方法 add(e) offer(e) put(e) offer(e, timeout, unit

ExtJS学习--------Ext.Element中的常用事件和其他重要的方法学习(实例)

常用事件: 其他重要方法: 具体实例:(实例结果可以将对应的代码取消注释进行测试) Ext.onReady(function(){ Ext.create('Ext.panel.Panel',{ title:'我的面板' , width:'100%' , height:400 , renderTo:Ext.getBody(), html:'<div id=d1><span id=sp>我是sp的内容</span><div id=d2>我是d2的内容</d

使用 Visual Studio Team Test 进行单元测试和java中的测试

原文:使用 Visual Studio Team Test 进行单元测试和java中的测试 C#中test测试地 方法一. 1.从NUnit官网(http://www.nunit.org/index.php)下载最新版本NUnit,当前版本为NUnit2.5.8. 2.安装后,在VS2008中新建测试项目StartNUnit 3.右击项目选择属性,在打开的窗口中选择调试.如图: 4.选择启动外部程序,并定位到NUnit的启动程序nunit.exe.如图: 5.在项目中添加NUnit引用,如图:

【C++】利用Visual Studio 2008编写C++,Visual Studio 2008的基本使用

现在很多高校还是利用Visual C++ 6.0这一经典版本在教C++,很多人对自己第一个程序的回忆是利用Visual C++ 6.0用C语言写的Helloworld,之后再学习C++的类,不过还是在使用Visual C++ 6.0.于是Visual Studio对Visual C++ 6.0界面的布置改动得比较大,有大部分人如果要写C/C++还是会使用Visual C++ 6.0,甚至苦苦寻找win8下运行Visual C++ 6.0的方法,之后再弄个虚拟机之类的.一直对新式的C语言编写工具讳

Cocos开发中性能优化工具介绍之Visual Studio内存泄漏检测工具——Visual Leak Detector

那么在Windows下有什么好的内存泄漏检测工具呢?微软提供Visual Studio开发工具本身没有什么太好的内存泄漏检测功能,我们可以使用第三方工具Visual Leak Detector(以下简称vld). vld工具是VC++环境下一款小巧易用.免费开源的内存泄漏检测工具,vld可以显示导致内存泄漏的完整内存分配调用堆栈.vld的检测报告能够对每个内存泄漏点提供完整的堆栈跟踪,并且包含其源文件及行号信息. 安装过程是,先在到地址http://vld.codeplex.com/下载vld安

Visual Studio 2013 EF5实体数据模型 EDMX 使用 T4模板生成后使用 ObjectContext对象

Visual Studio 2013 EF5实体数据模型 EDMX 使用 T4模板生成后的继承对象为DbContext,以前的熟悉的ObjectContext对象不见了,当然使用ObjectContext对象不是每个程序员都需要的,解决办法有两种: 方法1.打开Model.Context.cs,添加 public OracleModelEntities(ObjectContext objectContext, bool dbContextOwnsObjectContext)           

升级 Visual Basic 6.0 项目到Visual Studio 2012

Visual Studio 2012 没有为 Visual Basic 6.0 应用程序和项目提供升级工具. 如果要在 Visual Studio 中将项目从 Visual Basic 6.0 升级到 Visual Basic,可以使用随 Visual Studio 早期版本提供的升级工具,然后在 Visual Studio 2012 中再次升级该项目. 将 Visual Basic 6.0 项目升级到当前版本的 Visual Basic 打开 Visual Basic 2008 速成版或 Vi

Visual Studio 生成事件这件小事

在上一篇<Visual Studio 调试技巧>中,介绍了一些VS常用的调试操作,今天,聊一聊VS当中一个不太常见,但有时又有妙用的操作——VS生成事件. 一.什么是VS生成事件 简单来说,VS生成事件就是在编译项目的过程中发生的一些事件.根据事件发生的时机,允许自定义一些操作. VS生成事件可以在项目上右键,选择属性菜单后看到.VS生成事件分为以下两大部分: 1. 生成前事件命令行,可以指定在项目编译之前执行的一些命令行操作. 通过点击编辑预先生成按钮,可以编辑生成前事件命令行.其中宏按钮允

Visual C# .NET精彩编程实例集锦-配套光

Visual C# .NET精彩编程实例集锦-配套光盘文件简介 Visual C# .NET精彩编程实例集锦-配套光盘文件 http://www.songtaste.com/user/10494806/info http://www.songtaste.com/user/10494811/info http://www.songtaste.com/user/10494812/info http://www.songtaste.com/user/10494819/info http://www.s