11

私は Mac OS X コマンドライン ツールを持っており、バイナリ ファイル自体にデータを埋め込むことでメリットが得られます。

mach-o ファイルが複数のセグメントをサポートしていることは知っていますが、そのうちのいくつかは任意のデータを格納するために使用できます。しかし、それを行うためのコマンドライン ツールが見つかりません。

おそらくもっと簡単な方法 (たとえば、データ ファイルを C ソース コードに変換し、gcc でリンクする) でデータをバイナリに取り込む方法があることは知っていますが、この問題に興味を持ちました。魔法を知っている人はいますか?

4

1 に答える 1

14

リンカ ld は引数 -sectcreate を取ります。

マニュアルページから、

 -sectcreate segname sectname file
             The section sectname in the segment segname is created from
             the contents of file file. The combination of segname and 
             sectname must be unique  there cannot already be a 
             section (segname,sectname) from any other input.

GCC には、変数に適用して非標準セクションに属していることを示すことができるセクション属性もあります。

于 2009-10-22T05:47:54.780 に答える