满分求解简单C语言问题
懂的人教教新手,谢了啊, 给分标准:根据贡献度,回答准确且容易理解,最好有例子.
1)谭浩强书中说不能把共用体变量作为函数参数,而我用VC6, 怎么可以呢, 是书错了吗?
2)VC编译一个程序,为什么要生成那么多*.opt, *.plg文件, 这些干嘛用的?为什么需要这样做?
3)VC6.0和查看生成的程序占多少内存?
4)为什么软件都需要创建安装程序, 用生成的程序,直接移植不行吗?会出现什么后果?
5)为什么net只创建一个空窗体就占用10M内存呢?那其他软件,为什么只占那么少的内存呢,他们怎么实现的呢?
6)CSDN帐号积分可以直接转到另外的帐号吗?有什么限制吗?
[解决办法]
APS //支持ResourceView
BSC //浏览器信息文件
CLW //支持ClassWizard
DSP //项目文件,不能删除和用文本编辑器编辑
DSW //工作空间文件,不能删除和用文本编辑器编辑
MAK //外部的创建文件
NCB //支持ClassView
OPT //保存工作空间的配置
PLG //建立日志文件
这些文件都有一定的作用,拿CLW来说,如果你有一个新类,需要加到ClassWizard中,除了将相应的.h 和.cpp加到DSP中还需要重新编译CLW。PLG文件记录着你的项目配置信息。
[解决办法]
1) 共同体? 是 union 吧, 听起来怪怪的 :)
作为函数参数是可以编译过的,只是你可能得到错误的值而已
比如
union Un {
int intValue;
float flaotValue;
}
void fun(Un param) { cout < <param.intValue; };
这个是可以编过的,但你不能确保你之前已经对 intValue 赋予正确值了,
有可能你得到的是赋给 floatValue 的值
2)嘿嘿
VC项目文件说明
.opt 工程关于开发环境的参数文件。如工具条位置等信息;
.aps (AppStudio File),资源辅助文件,二进制格式,一般不用去管他.
.clw (ClassWizard信息文件),实际上是INI文件的格式,有兴趣可以研究一下.有时候ClassWizard出问题,手工修改CLW文件可以解决.如果此文件不存在的话,每次用ClassWizard的时候绘提示你是否重建.
.dsp (DeveloperStudio Project):项目文件,文本格式,不过不熟悉的话不要手工修改
.dsw (DeveloperStudio Workspace)是工作区文件,其他特点和DSP差不多.
.plg 是编译信息文件,编译时的error和warning信息文件(实际上是一个html文件),一般用处不大.在Tools-> Options里面有个选项可以控制这个文件的生成.
.hpj (Help Project)是生成帮助文件的工程,用microsfot Help Compiler可以处理.
.mdp (Microsoft DevStudio Project)是旧版本的项目文件,如果要打开此文件的话,会提示你是否转换成新的DSP格式.
.bsc 是用于浏览项目信息的,如果用Source Brower的话就必须有这个文件.如果不用这个功能的话,可以在Project Options里面去掉Generate Browse Info File,可以加快编译速度.
.map 是执行文件的映像信息纪录文件,除非对系统底层非常熟悉,这个文件一般用不着.
.pch (Pre-Compiled File)是预编译文件,可以加快编译速度,但是文件非常大.
.pdb (Program Database)记录了程序有关的一些数据和调试信息,在调试的时候可能有用.
.exp 只有在编译DLL的时候才会生成,记录了DLL文件中的一些信息.一般也没什么用.
.ncb 无编译浏览文件(no compile browser)。当自动完成功能出问题时可以删除此文件。build后会自动生成。
3) 直接在系统任务管理器的进程列表里看咯
4) 软件可以安装和不安装,不安装的一般叫绿色软件咯
安装是因为程序比较大,而且有很多烦琐的系统设置,比如环境变量,
文件关联等等,一般涉及写注册表
5) 你的工程设置有问题吧,我2005写个mfc还才做了不少事情的才占不到5M
6)不知道,应该不可以吧,要不不就可以刷分拉:)
[解决办法]
1)谭浩强书中说不能把共用体变量作为函数参数,而我用VC6, 怎么可以呢, 是书错了吗?
可以,你的程序有一定的问题。
2)VC编译一个程序,为什么要生成那么多*.opt, *.plg文件, 这些干嘛用的?为什么需要这样做?
一些辅助文件而已。
3)VC6.0和查看生成的程序占多少内存?
查看任务管理器就可以知道了。
4)为什么软件都需要创建安装程序, 用生成的程序,直接移植不行吗?会出现什么后果?
如果是一个非常简单的程序,
也许打包为安装程序没有必要,
但是如果是一个很大的工程呢? 比如大型的游戏, 文件拷贝方式,如果某个文件丢失了,整个程序就无法工作了 ..