问题 如何在Rust可执行文件中嵌入资源?


这是表弟 这个问题在这里 为C问同样的事情

基本上,有没有比将它变成一个巨大的字节数组并将其放入源文件更好的方法?

或者,宏是否有能力这样做? (Rust Macros ......看起来很密集,但我不了解它们的确切功能。)


11291
2017-11-26 03:06


起源



答案:


你可能想要 include_bytes!

如果您使用的是旧版本的Rust,请使用 include_bin! 代替。


12
2017-11-26 03:18



完善。 :)我有一种感觉宏会做到这一点,但谷歌没有想出任何东西,我只是没想到在那里搜索:) - Logan
请注意,此宏已重命名为 include_bytes! 在较新的Rust版本中。 - Adrian Willenbücher


答案:


你可能想要 include_bytes!

如果您使用的是旧版本的Rust,请使用 include_bin! 代替。


12
2017-11-26 03:18



完善。 :)我有一种感觉宏会做到这一点,但谷歌没有想出任何东西,我只是没想到在那里搜索:) - Logan
请注意,此宏已重命名为 include_bytes! 在较新的Rust版本中。 - Adrian Willenbücher


您也可以使用此工具 https://github.com/pyros2097/rust-embed 这是由我创建的,它为您的资源生成防锈代码。


0
2018-04-05 11:04



您是否建议将其用于我计划解析的50 MB二进制文件 nom?谢谢 - ChrisR
是的,去吧。我唯一能看到的问题是在发布模式下,宏将生成一个Vec <u8>,它将生成50MB的代码。我不知道编译代码会花多长时间,以及代码是否会在第一时间正确生成,因为我还没有测试过这么大的文件。 - pyros2097