打完补充:以下内容全部是我一家之言,只是愿意分享,内容如有不妥还请见谅。

======================================================

刚才接收了一份代码,庞大的sdf文件也传过来了。如果咱们想分享一份代码的话,其实只需要很少的文件即可。我把我对VS工程里各种文件的认识分享出来,如有错误还请指正,我也是一知半解,欢迎探讨。

我以自己的C语课设为例,大家打开文件夹后,有这些:

第一个文件夹里就是源代码。理论上,“ball_moving”是“项目”的名字。(因为我的这个工程只包含一个项目,咱们现阶段的大部分工程皆是如此。所以写单文件程序时,使用code::blocks等不需要工程的IDE会比较方便。)

第 二个.sln文件就是VS的工程文件。这个工程文件相当于是一个总目录,它组织了整个工程的一些信息。.sln是VS2010/2012/2013 /2015等较新VS版本的工程文件,如果大家用的是VC6.0,那工程文件就是.dsw。请注意,VC6.0是无法打开.sln文件的。而用VS打 开.dsw也可能会遇到兼容性问题。所以推荐大家使用VS。

其实.sln文件也只是个文本文档,里面的内容如图所示,是可以随意改的(雾)。

第三个就是大家熟悉的.doc文件了,它和这个工程没什么关系,只是一个课设作业要求的手册。说实话,我倒是极力建议大家在把自己的代码给他人看之前,先为TA写好一份简单的程序流程说明。这样可以节省双方大量的时间。

咱们现在打开"ball_moving"文件夹。

如果你对我的课设有印象,你会记得我非常逗比地把每个函数都拆成了一个.cpp文件,所以为了反映普遍情况,咱们化简如下:


第一个是.h文件,就是头文件。这个头文件里的内容,和咱们平时在int
main()的上边所写的那些"声明"并无二致。这样写是为了…较真。其实要是真的想较真的话,应该是一个.cpp文件(模块)(编译出的.lib)专配
一个.h文件(接口),暂且忽略这个逗比的事情。

第二个.cpp文件就是所有的源代码啦。这个.cpp文件可以用任意文本编辑器修改。我极力建议大家不要用Word保存代码最好也别用txt文件保存代码。尤其是你想把代码发给别人/交作业等等情况。请保持对接收者的信任,用其他格式存代码必然增加双方的工作量。当然,这只是我的一种个人态(dou)度(bi),大可不必在意。

.dat 和 .csv 文件是…我选择的存档和榜单的格式,和文本文件没啥区别,大家感兴趣的话可以了解一下,用txt也行。选择.dat的原因是一般情况下用户就不会乱改了(雾)(别问我,这主意是投稿时候管理员给我提出来的),.csv的话是方便对成绩进行排序。

然后ball_moving.rc 和 .ico文件是配套的。他们的全部使命就是给我的程序加上可爱、真诚、善良、勤劳、勇敢、美丽、温柔、知性的二胡卵子(鸟)。如果你不想给程序加自定义图标的话是没有此类文件的。

再看比较重要的两位。

vcxproj.filters是项目的虚拟目录,也就是这个:(图片来自网络)

所以最好把它带上。

.vcxproj想必你已经猜出它的功能了,它是项目的“目录”,和.sln文件的作用差不多,所以也是一定要带上的。

好了,以上文件就是一个VS的工程所必备的文件,总结来说:

.sln

项目名的文件夹

.vcxproj

.vcxproj.filters

(若干).cpp

(如果有).h

其他也许会存在的杂项

好了,如果是要交作业/把代码共享给别人的话,这些文件就够用了。

哪些文件不需要呢?

大家可能注意到了,工程文件夹下总是有个巨大无比的.sdf文件,体积(我见过的)从几M到上百M不等。你要是问我它是干啥用的…我也不知道。大概跟调试有关吧,比如你在哪加了几个断点之类的信息。

那些.suo和.opensdf之类的文件,打包的时候删掉就好。


外,工程文件夹里的Debug / Release
文件夹都是可以删掉的,那些文件夹里是你编译出的.exe以及等等辅助文件。VS里的“清理解决方案”的功能就类似于把这些文件夹清空。这些文件夹里的文
件…如果你真的感兴趣的话。exe文件就是最后出来的可执行文件,.ilk文件是连接时生成的文件,.pdb保存调试信息用的。我目前电脑里没有更多工程
可供参考了…印象中有时候还会有.obj文件,那些就是编译器编译代码生成的“目标文件”,然后连接器在把目标文件和库连接在一起。如果用过VC6.0,
还会记得在“运行”按钮左侧有两个按钮,那俩一个是编译、一个是连接。在VS里就二合一了,而且默认设置好像会自动删除掉.obj文件。

精简一些总是好的,如果只打包了必要的文件,整个压缩包的大小会以K计,而不是以若干M来计。好比笔记本的屏幕,脏的时候也能用,干净的时候还是能用,但我总是愿意把屏幕擦得干净一点,而不是留下许多奇奇怪怪的污渍。


果大家去看EasyX官网的示例代码,会发现有一个游戏名叫“大丰收”,那个程序的打包方式基本是此文所倡导内容的反例。以我个人逗比的三观来看,那个程
序的代码质量和风格也是个大大的反例。至于我为什么揪出了这个程序,大家看看便知,你也会知道我为什么想要给这个网站投稿。

poi。

VS工程里的文件都是啥?如何打包? 2015-03-04的更多相关文章

  1. C盘里的桌面文件移到E盘里了,然后E盘里的文件都显示到桌面上了,怎么将桌面文件还原回C盘

    1 . 直接按Windows键+R,打开"运行"对话框,在输入框中输入"regedit"命令,会打开注册表编辑窗口: 2.打开注册表文件将HKEY_CURREN ...

  2. android 工程里缺少 R.java 文件原因和解决方法

    作为新手,学习android 的时候难免要导入一些示例,目的为了更加了解android各种API用法,顺便也可以学习下别人代码的写法. 可是导入android源码后,基本都有错误,R.java也不会自 ...

  3. eclipse的工程里的*.properties文件默认以unicode的编码形式显示

    今天发现导入eclipse的工程里的*.properties文件无法显示中文,是unicode的编码形式显示的. 原因是Eclipse的.properties文件的默认编码为iso-8859-1. 选 ...

  4. VC工程里,如何编译汇编语言的文件

    最近老是有朋友问,VC工程里,如何编译汇编语言的文件,接下来就说一下步骤: 1.将汇编语言文件,加入到工程里: 2.在Solution Explorer窗口中右键单击Visual C++项目,选择Bu ...

  5. 清理iOS工程里无用的图片,可瘦身ipa

    工程在经过多人后,往往会出现较多的垃圾,导致打包出来的ipa文件偏大,有时候我们会通过清理代码来给程序瘦身,而瘦身ipa效果明显的,主要通过清理程序里的无用图片. 推荐一个清理图片的应用 https: ...

  6. 在 C++Builder 工程里调用 DLL 函数

    调用 Visual C++ DLL 给 C++Builder 程序员提出了一些独特的挑战.在我们试图解决 Visual C++ 生成的 DLL 之前,回顾一下如何调用一个 C++Builder 创建的 ...

  7. AltiumDesigner学习笔记(一)——创建工程与原理图文件

    一.创建工程与原理图文件 1.通过菜单创建PCB工程 (1)File - New - Project - PCB Project,即可在当前工作区创建新的PCB工程 (2)新建工程并不直接在硬盘中创建 ...

  8. 论XCODE工程里使用的宏定义.

    在XCODE开发过程中,经常会遇到引用头文件,引用库路径的问题,如果不是直接的源码引入,则需要在工程中增加设置.虽然现在有了Pod这类集合管理工具,但有时为了一个很小的lib引入Pod这尊大神还是有点 ...

  9. 在 C++Builder 工程里使用 Visual C++ DLL(3个工具) good

    译者序: 第一次读这篇文章是在 2001 年 10 月,帮我解决了一点小问题.本来不好意思翻译,因为英语水平实在太差.最近发现不少网友在问在 C++Builder 的工程里调用 Visual C++  ...

随机推荐

  1. .Net中的泛型(where T : class的含义)

    Eg: class A<T>where T:new() where表明了对类型变量T的约束关系.where T: A表示类型变量是继承于A的,或者是A本身.where T:new()指明了 ...

  2. W5500EVB UDP模式的测试与理解-新华龙电子

    WIZnet 之前已经介绍过W5500EVB 在TCP模式下的两种(Server及Client)数据传输的实现过程,那么传输控制协议中,UDP也是非常常用的,这种无连接的协议在更多场合为用户提供了便捷 ...

  3. STL容器

    啦啦啦,今天听啦高年级学长讲的STL容器啦,发现有好多东西还是有必要记载的,毕竟学长是身经百战的,他在参加各种比赛的时候积累的经验可不是一天两天就能学来的,那个可是炒鸡有价值的啊,啊啊啊啊啊 #inc ...

  4. tomcat源码剖析

    最近看Tomcat的源码的节奏还算是挺紧凑的,给人的感觉,tomcat的代码相对以前读的jetty的代码显得更有条理一些...当然这也是有可能是因为自己看的jetty的版本是比较老的,而看的Tomca ...

  5. Git self-learning

    ---恢复内容开始--- 使用后的总结 git config --global user.name "" #设置和查看用户名git config --global user.ema ...

  6. 使用python+pychram进行API测试(接口测试)初级STEP 1

    花了一天时间安装了解了下最基本的python+pychram进行API测试,下面这个可以指导自己以后入门:基本的开发级别还需要学习 1.python下载地址:https://www.python.or ...

  7. 《开源安全运维平台OSSIM最佳实践》

    <开源安全运维平台OSSIM最佳实践> 经多年潜心研究开源技术,历时三年创作的<开源安全运维平台OSSIM最佳实践>一书即将出版.该书用80多万字记录了,作者10多年的IT行业 ...

  8. python模块之subprocess

    可以执行shell命令的相关模块和函数有: os.system os.spawn* os.popen*          --废弃 popen2.*           --废弃 commands.* ...

  9. 解决sublime3 package control显示There are no packages available for installation

    之前一直是在windows上使用sublime,由于公司内部搭建了服务器,干脆把所有项目搬到了服务器上,自然也装上了牛逼闪闪的sublime,然而在接下来安装插件的时候却出了问题,package co ...

  10. spring3 项目更新

    列志华 (组长) http://www.cnblogs.com/liezhihua/ 团队guihub https://github.com/LWHTF/OrderingFood 黄柏堂 http:/ ...