VC中的.res文件是什么,有什么作用,怎样发挥作用?

VC中的.res文件是什么,有什么作用,怎样发挥作用?,第1张

res是文件夹,资源文件在里面,也就是你建的会话窗,揿钮,图标,滑块,zhidao菜单等等。所有这些小回零件都有个id,程序里你要加入某id发生了什么事件,例如某揿钮揿下去执行什么,揿钮上来了执行什么,滑块拉答了百分之几的距离执行什么。

资源文件通过编译,与程序结合在一起。

嗯,你这个问题很普遍的。我谈谈个人的体会啊:

1、VC所使用的资源编译器和MASM32中的编译器是一样的,实际上, Win32平台上的资源编译器都是rc.exe,目前版本都稳定在6.0左右。并且RC.exe这个东西只适用于本机代码资源编译,在.net架构下是看不到其身影了。不过了解一下资源编译,或直接使用rc.exe有助于更深层次理解windows内核的一些方面。

2、为什么VC编辑好的RC文件无法用MASM32里面的RC.EXE编译成功呢?这是因为VC生成的.rc资源脚本包含了其本身特有的一些头文件。当在vc环境下编译.rc时,编译器能够找到这些头文件,但当你自己使用rc.exe编译时,由于只指定了一个.rc文件,编译自然出错。

有三种解决办法:

a、还是用vc做资源文件。直接在VC环境中将*.rc编译为*.res(这个几乎是自动生成的),汇编的时候直接"link /subsystem:windows *.obj *.res"就行了。这样使资源的编译变得简单,可以做出好看的界面。

当然,如果你不嫌累,可以用vc编辑好,然后把.rc文件中的头文件清理一下,再自己手工用rc.exe进行编译也是可以的。

b、采用其它所见即所得工具编辑资源,比如:Resource Workshop

c、推荐的方法:对于win32汇编,很多人都采用nmake来维护代码,在makefile文件中使用ml.exe, rc.exe,link.exe等工具来自动生成程序。asm源代码则在ue等工具中编辑。这种方法是很不错的,那么masm32所起的最大作用就是提供了一个include头文件集和一个lib导入库,而这是win32汇编最宝贵的原材料。要使这个编程环境能够正常运作,需要设置一些环境变量,例如以下的脚本:

@echo off

set include=F:\masm32\include%include%

set lib=F:\masm32\lib%lib%

set path=F:\masm32\bin%path%

cd /d H:\SoftwareProgram\ASM

echo on

在上面的脚本中,

include指示ml.exe,rc.exe编译器在遇到include指令时的搜索路径。比如汇编资源编译时,一般都要include <resource.h>,这里的resource.h中含有许多windows内置资源所使用的宏定义。

lib指示ml.exe处理includelib时的搜索路径以及link.exe在链接dll库时用到的导入库路径。

path指向masm32的bin目录,这样可以直接在命令行输入相关命令

最后一行cd /d ...则是将当前目录变换到自己汇编工作的工作目录。

另外为了使用nmake工具,可以将nmake.exe和vc的安装目录拷贝到masm32\bin下,当然这不是必须的,因为vc在安装时已自动为其安装目录设置了path环境。

分类: 电脑/网络 >>程序设计 >>其他编程语言

解析:

你说的是资源文件,一种开发工具一个样,VC新建一个工程自动就建成了一个与工程名相同的.res

VB得加载一个资源编辑器之类的外接程序,然后就可以创建和修改资源文件了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11930486.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存