2008-10-01 99 views
3

我想让我的一些代码对非纯粹的ascii系统更友好一些,并且想知道是否有一个特定的字符编码用于ELF二进制文件中的NEEDED条目,或者它是非常不规范的,并且基于创建系统的文件系统编码(或者甚至直接传递给创建二进制文件的字节)(假如当前系统编码不适合我的用法,想想),非ASCII名称几乎被禁止或其他?ELF中是否有标准编码需求条目?

回答

1

据我所知,处理非ASCII字符的标准Unix方式是将它们编码为UTF-8。

3

ELF格式将NEEDED字段指定为“以null结尾的字符串”,并没有多说关于编码,这几乎意味着8位ASCII字符串。

我个人没有看到复杂化可执行文件格式规范的任何问题,它不会为最终产品或开发过程提供任何附加值:用户不会看到库名称,因此他们不会关心本地化的其中。您可以尝试使用UTF-8 可能,但实际的文件系统编码不保证是UTF-8。为了确保你需要知道你的目标链接器如何处理这些字符串。