我可以一个普通的文件链接到我的可执行文件? [英] Can I link a plain file into my executable?

查看:104
本文介绍了我可以一个普通的文件链接到我的可执行文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

一些框架(QT时,Windows,GTK ...)提供的功能,资源添加到您的二进制文件。我不知道是否有可能实现这一目标的没有的框架,因为所真正需要的是

Some frameworks (Qt, Windows, Gtk...) offer functionality to add resources to your binaries. I wonder if it would be possible to achieve this without the framework, since all that is really needed is


  1. 要包含二进制(数据段)内的资源的地址的符号

  2. 的象征重新present资源
  3. 的长度
  4. 资源本身

这怎么可能用gcc工具实现的?

How can this be achieved with the gcc toolchain?

推荐答案

您可以这样做:

objcopy --input binary \
        --output elf32-i386 \
        --binary-architecture i386 my_file.xml myfile.o

这会产生可以链接到可执行的目标文件。
此文件将包含这些符号,你必须在你的C code到申报
能够使用它们

This produces an object file that you can link into your executable. This file will contain these symbols that you'll have to declare in your C code to be able to use them

00000550 D _binary_my_file_xml_end
00000550 A _binary_my_file_xml_size 
00000000 D _binary_my_file_xml_start

这篇关于我可以一个普通的文件链接到我的可执行文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆