当前位置:  技术问答>linux和unix

elf加载器问题,寻求高手帮助

    来源: 互联网  发布时间:2016-09-05

    本文导语:  最近想实现一个elf加载器,也就是能让elf文件运行起来的东东。但遇到一个问题,不知道如何支持C++的一些特性:如何调用全局对象和静态对象的构造函数和析构函数,请各位高手不吝赐教。 | ...

最近想实现一个elf加载器,也就是能让elf文件运行起来的东东。但遇到一个问题,不知道如何支持C++的一些特性:如何调用全局对象和静态对象的构造函数和析构函数,请各位高手不吝赐教。

|
如何调用全局对象和静态对象的构造函数和析构函数?
ELF中有两个特别的段init和finit,需要将构造函数和析构函数的代码分别放到这两个段里,再深入的说,我就开始忽悠啦,算啦。

推荐书籍:程序员的自我修炼

书中错误不少,但是作为链接,加载入门可以看看。

|
这个难度有点大唉。完全没想法

|
对于加载器来说,并不会区分你二进制文件是c还是c++的。
加载器的作用是分析elf的程序头,并且将文件中相应的加载段(数据段,代码段)印映到内存中,并跳转到elf程序头中所指的程序开始的指令处。
至于C++的一些特性是c++编绎器需要支持的东西。

|
ELF文件是不区分语言的吧,我记得以前的内核中有个load_elf_binary函数,可以参考一下。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教高手关于elf,bin,.out三种文件格式的概念,含义,联系,区别
  • arm-elf-gcc 和 arm-linux-gcc有什么区别?arm-elf-gcc里的elf代表什么?
  • 我想把ELF(EXECUTABLE AND LINKABLE FORMAT)转为其它格式,寻找ELF文档!!!
  • arm-elf-gcc编译出来的elf文件如何转换成bin格式?
  • ELF文件转成二进制bin文件,除了elf文件本身,是不是还需要其他信息?
  • arm-elf-gcc问题
  • 怎么找到ELF文件代码段的位置?
  • GCC连接出的是ELF还是A。OUT?
  • ELF格式的问题!
  • 请大家谈谈ELF格式文件,如何装载?
  • 编译生成的.o和.out文件分别是什么格式的?COFF?ELF?
  • 网络技术 iis7站长之家
  • 一个ELF文件解释器的实现~~~
  • 希望了解linux中elf程序装入器的实现
  • 文件后缀.bin .axf .elf 分别说明了什么意义?
  • 关于gcc生成elf文件中的调试信息
  • ELF的重定位问题
  • ELF statifier
  • ELF文件读写库 ELFIO
  • 谁有关于ELF的资料,急用……
  • 从elf文件中读变量信息


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3