3

私は自分のコードの一部を純粋な ascii 以外のシステムにもう少し使いやすくしようとしていますが、ELF バイナリの NEEDED エントリに使用される特定の文字エンコーディングがあったのか、それともかなり標準的ではなく、作成システムに基づいているのか疑問に思っていましたファイルシステムのエンコーディング(または、バイナリを作成したものに渡されたバイトだけでも直接)(もしそうなら、バイナリにエンコーディングを指定する場所はありますか?現在のシステムのエンコーディングが私の使用法ではうまく機能しないと仮定すると) 、ASCII以外の名前はほとんど禁止されていますか、それとも何か他のものですか?

4

2 に答える 2

3

ELF 形式は、NEEDED フィールドを「ヌル終了文字列」として指定し、エンコーディングについては詳しく述べていません。これは、8 ビット ASCII 文字列を暗示しています。

個人的には、最終製品や開発プロセスに付加価値を提供しない実行可能ファイル形式の仕様を複雑にすることに何の意味もないと思います。ユーザーはライブラリ名を見ないので、そのローカリゼーションを気にしません。UTF-8 の使用を試みることはできますが、実際のファイル システムのエンコーディングは UTF-8 であるとは限りません。確実にするには、ターゲット リンカーがこれらの文字列をどのように処理するかを知る必要があります。

于 2008-10-01T05:45:09.033 に答える
1

私の知る限り、非 ASCII 文字を扱う標準的な Unix の方法は、それらを UTF-8 としてエンコードすることです。

于 2008-10-01T05:34:03.333 に答える