对于字串常量 resourcestring 和 const 的声明有多少区别?

时间:2021-09-02 19:10:17
我所知的 resourcestring 把字串作为资源编译进应用程序, 用PE能看到它们
const 则直接编译进应用程序, 性能上应该比res快一点, 是不是这样?
res有什么优势吗?

为了知根知底 欢迎大侠进来讨论

9 个解决方案

#1


我先来。
用资源编辑器打开可执行文件,可以看到resourcestring的字串,你可以编辑它,而不需要重新编译你的代码。

#2


同楼上
const放在数据段里,是程序的一部分,需要变异
Resourcestring放在EXE资源也就是res里面,采用资源的好处一方面可让Windows 来完成有效的内存处理,另一方面不用更改源代码就可实现程序的本地化 (把字符串翻译成不同的语言)。

#3


建议放再资源段

#4


const部分申明的常量被编译到程序中,ResourceString的则在外部文件中,使用ResourceString的一个好处是可以把语言信息放在ResourceString中,这样,开发多语言系统时,只需要把外部资源文件替换就可以达到目的。

#5


在resourcestring中声明的内容会被编译到资源中,而const中声明的则不会。所以使用resourcestring声明的内容可以通过资源修改工具进行修改。

二者定义后使用起来没有区别。

#6


我喜欢两个都不用,直接用资源文件加资源ID……

#7


楼上的和使用resourcestring是一致的嘛。

#8


To reallike(学习SICP还有Lisp……)
 还要用 brcc32编译麻烦 不如用resourcestring来的轻巧 效果一样

#9


不同的
一个是代码段,一个是资源段的

#1


我先来。
用资源编辑器打开可执行文件,可以看到resourcestring的字串,你可以编辑它,而不需要重新编译你的代码。

#2


同楼上
const放在数据段里,是程序的一部分,需要变异
Resourcestring放在EXE资源也就是res里面,采用资源的好处一方面可让Windows 来完成有效的内存处理,另一方面不用更改源代码就可实现程序的本地化 (把字符串翻译成不同的语言)。

#3


建议放再资源段

#4


const部分申明的常量被编译到程序中,ResourceString的则在外部文件中,使用ResourceString的一个好处是可以把语言信息放在ResourceString中,这样,开发多语言系统时,只需要把外部资源文件替换就可以达到目的。

#5


在resourcestring中声明的内容会被编译到资源中,而const中声明的则不会。所以使用resourcestring声明的内容可以通过资源修改工具进行修改。

二者定义后使用起来没有区别。

#6


我喜欢两个都不用,直接用资源文件加资源ID……

#7


楼上的和使用resourcestring是一致的嘛。

#8


To reallike(学习SICP还有Lisp……)
 还要用 brcc32编译麻烦 不如用resourcestring来的轻巧 效果一样

#9


不同的
一个是代码段,一个是资源段的