当前位置: 首页 > 面试题库 >

如何将文件嵌入Golang二进制文件?

高晋
2023-03-14
问题内容

我有一些从Go程序中读取的文本文件。我想提供一个可执行文件,而无需另外提供该文本文件。如何将其嵌入Windows和Linux上的编译中?


问题答案:

使用go-bindata。从自述文件:

该工具可将任何文件转换为可管理的Go源代码。对于将二进制数据嵌入到go程序中很有用。在转换为原始字节片之前,可以选择对文件数据进行gzip压缩。



 类似资料:
  • 问题内容: 这可能是一个非常业余的问题。我正在尝试将静态文件嵌入到二进制文件中。html。如何使用https://github.com/jteeuwen/go- bindata 做到这一点? 因此,我可以使用此https://github.com/jteeuwen/go-bindata#accessing-an- asset 访问资产,但是该如何处理“数据”,以及如何解析文件,执行模板以及服务他们

  • 问题内容: 我有23位表示为字符串,并且需要将此字符串作为4个字节写入二进制文件。最后一个字节始终为0。以下代码有效(Python 3.3),但感觉不太好(我对Python和编程很陌生)。您有任何改善技巧吗?似乎for循环可能有用,但是如何在循环中进行切片而不出现IndexError?请注意,当我将位提取到一个字节中时,我会反转位顺序。 问题答案: 您可以将其视为int,然后按以下方式创建4个字节

  • 我想以这种形式将短int x=0x4740写入二进制文件:0100 0000 0100 0111,当我在记事本中打开它时,它是@G。它正在工作。当我尝试编写例如短int a=0xf0ff;(二进制:1111 0000 1111 1111)时,记事本显示给我的不是我的数字二进制(➕是1100 1011 1001 1001 1100 0100 1001 0001)。如何在这个文件中编写它并获得1111

  • 问题内容: 在Linux上,是否可以将版本信息嵌入到ELF二进制文件中?我想在编译时嵌入此信息,以便稍后可以使用脚本将其提取。一种骇人听闻的方法是植入可以使用命令提取的内容。是否有更常规的方法,类似于Windows DLL的Visual Studio工厂版本信息(注意DLL属性中的版本选项卡)? 问题答案: 如果使用cvs或subversion,执行此操作的一种方法是在源文件中使用特殊格式的特殊i

  • 问题内容: 假设我主要是Linux用户,但是我正在Go中开发一个我希望成为跨平台的应用程序。我到处搜寻,但似乎找不到能满足以下条件的信息: 如果我在amd64 Ubuntu系统上使用二进制文件,那么它也可以在 其他任何人的 64位Ubuntu / Debian系统上运行吗? 我如何使用它来构建一个x86_64二进制文件,该二进制文件也将在32位Debianlikes上开箱即用? 如果必须使用Win

  • 我想编程一个16/32位的EEPROM。我正在用C程序编写这个文件,但是似乎只执行8位?我写了一个简单的例子,使用xxd(和hextump)查看结果,但文件似乎只有8位。我想知道是否由于hexdump的限制,我只能看到8位 有人知道我如何检查所有的位都被写入文件吗? 使用xxd我看到: 编辑:我试图确保有32位写入文件。xxd的结果是: 其中显示有16位用于,但其他16位在哪里?理想情况下,我希望