c - Linux中LoadString函数的等价物是什么?
问题描述
Windows 中定义的 LoadString 函数可用于从 dll 或 exe 等资源加载字符串。
Linux 中的 LoadString 等效函数是什么?
解决方案
正如评论中所指出的,没有单一的 Linux 操作系统支持从可执行文件中提取资源。Linux 中有多个选项用于国际化 (i18n)、本地化 (l10n),可以满足您的要求。
根据您的目标(消息的外部化、对 i18n 的支持……),不同的编程语言中存在类似的功能:
- Java 有资源(可以添加到 JAR 文件中),
- LIBC 提供 gettext(通过外部消息文件“.po”文件)。见https://en.wikipedia.org/wiki/Gettext
- 许多脚本环境(python、perl)通过模块提供 gettext 接口。
- 大多数基于 GUI 的框架都支持外部资源(Gnome、Xt/X11、...)
作为旁注,可以使用 dlsym 动态查找来实现“LoadString”,假设消息被编译到可执行文件中(作为“C”代码或类似代码)。可能是最后的选择。
推荐阅读
- ios - CKError.Code.networkFailure 什么时候会发生?如何解决?
- c++ - 如何调用结构数组来运行?
- cryptography - 混合 Lopez Dahab 仿射坐标中的椭圆曲线点相加算法
- angular - 如何修复未定义的地图变量?
- java - 如何在再次保存之前检查图像是否已经在内存中?
- excel - 使用特定字符串自动填充可见单元格(过滤范围) - 使用 Vbscript
- azure-service-fabric - 在最后一个节点卡住部署时如何解释服务结构状态
- python - 使用分隔符拆分文本并构建 html 页面
- javascript - 如何在移动设备的屏幕阅读器中以浏览模式捕获事件
- log4j2 - 是否可以仅禁止 Log4j2 中的警告消息而允许所有其他消息