Project1

标题: 谁能告诉我LoadError:Exec Format Error是什么? [打印本页]

作者: yangff    时间: 2011-10-15 22:10
标题: 谁能告诉我LoadError:Exec Format Error是什么?
  1. zh99998  21:54:16
  2. LoadError: Exec format error
  3.         from E:/RPG/Ruby/lib/ruby/1.9.1/Win32API.rb:13:in `initialize'
  4.         from E:/RPG/Ruby/lib/ruby/1.9.1/Win32API.rb:13:in `dlopen'
  5.         from E:/RPG/Ruby/lib/ruby/1.9.1/Win32API.rb:13:in `initialize'
  6.         from (irb):6:in `new'
  7.         from (irb):6
  8.         from E:/RPG/Ruby/bin/irb:12:in `<main>'
复制代码

作者: 苏小脉    时间: 2011-10-15 23:52
库的头、符号、段等格式不对呗。想要看实现细节,自己读 dln.c、win32.c,从 引用了 DLN_ENOEXEC 处开始挖。
作者: yangff    时间: 2011-10-16 11:04
苏小脉 发表于 2011-10-15 23:52
库的头、符号、段等格式不对呗。想要看实现细节,自己读 dln.c、win32.c,从 引用了 DLN_ENOEXEC 处开始挖 ...

什么意思?这个是在Win32API.new的时候就报错了……虽然我用的是CRuby但是也不至于在Win32API.new就报错啊?再说我调用的StartRM和Ruby一毛钱关系都没有啊……
作者: 苏小脉    时间: 2011-10-16 23:10
yangff 发表于 2011-10-16 11:04
什么意思?这个是在Win32API.new的时候就报错了……虽然我用的是CRuby但是也不至于在Win32API.new就报错 ...

库的头、符号、段等格式不对,当然是在 Win32API.new 的时候就报错了,因为 Windows 的 LoadLibrary 是在这里调用的。检查下你的二进制生成是否正确吧。
作者: yangff    时间: 2011-10-16 23:19
本帖最后由 yangff 于 2011-10-16 23:20 编辑
苏小脉 发表于 2011-10-16 23:10
库的头、符号、段等格式不对,当然是在 Win32API.new 的时候就报错了,因为 Windows 的 LoadLibrary 是在 ...


必然正确,本机可用。。测试C++可调用
作者: 苏小脉    时间: 2011-10-16 23:22
yangff 发表于 2011-10-16 23:19
必然正确,本机可用。。测试C++可调用

既然你生成的二进制在某个机器上出了问题,那就绝无“必然正确”之理,忽略环境问题的程序员不是好战斗机。
作者: yangff    时间: 2011-10-17 18:40
苏小脉 发表于 2011-10-16 23:22
既然你生成的二进制在某个机器上出了问题,那就绝无“必然正确”之理,忽略环境问题的程序员不是好战斗机 ...

= =我又没修改什么就是按照C++正常的导出方式。。也没手贱选Debug之类的,优化也就是普通的O2,我和萌娘的配置也差不多,都是Win7 X64,按理说不至于


yangff于2011-10-17 18:40补充以下内容:
= =我又没修改什么就是按照C++正常的导出方式。。也没手贱选Debug之类的,优化也就是普通的O2,我和萌娘的配置也差不多,都是Win7 X64
作者: 苏小脉    时间: 2011-10-17 22:22
yangff 发表于 2011-10-17 18:40
= =我又没修改什么就是按照C++正常的导出方式。。也没手贱选Debug之类的,优化也就是普通的O2,我和萌娘 ...

我之前看你不是用了 #pragma *_seg 之类的指令么?瞎用的话难免会产生平台依赖性。
作者: yangff    时间: 2011-10-18 20:44
本帖最后由 yangff 于 2011-10-18 20:45 编辑
苏小脉 发表于 2011-10-17 22:22
我之前看你不是用了 #pragma *_seg 之类的指令么?瞎用的话难免会产生平台依赖性。 ...


确实用了,不过不用不行啊……这是很常见的使用方法不因该出问题的,绝大多数的Win Hook都是用这种方法共享数据的……




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1