是否可以将metallib与可执行文件合并?

问题描述 投票:1回答:1

我使用Objective-C和Metal框架制作了一个命令行工具。但我想用metallib封装可执行文件。

我想知道是否有一种方法可以合并这两个,以便可执行文件可以独立运行?

objective-c metal
1个回答
2
投票

您可以使用-sectcreate <segname> <sectname> <path>选项将.metallib文件作为加载程序部分嵌入到可执行文件中。如果您使用编译器来驱动链接(这是非常典型的),您可以将其作为-Wl,-sectcreate,<segname>,<sectname>,<path>传递。您可以选择最多15个字符的任意段和节名称。避免使用以下划线为前缀的名称,因为这些名称是系统保留的。

然后,您可以使用getsectdata()在运行时检索数据。从中构造一个NSData并将其传递给-[MTLDevice newLibraryWithData:error:]

© www.soinside.com 2019 - 2024. All rights reserved.