爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1026|回复: 6
收起左侧

[求助] 关于ELFLoader.cpp中的define wintel

[复制链接]
发表于 2008-3-16 15:36:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册会员 微信登录

x
这个源文件一开始就将 #define wintel 注释掉了,就是没有打开wintel这个编译选项。
而main函数也是包含在wintel选项中的,如下
  1. #ifdef wintel
  2. int main(int argc, char* argv[]){
  3.   if(argc<2)
  4.   {
  5.     cout << "no .elf specified"<<endl;
  6.     return -1;
  7.   }
  8.   
  9.   cout << elfload(argv[1],0,0,0);
  10.   return 1;
  11. }
  12. #endif
复制代码
这样岂不是main都不会执行了,那ELFLoader.cpp有什么用?

[ 本帖最后由 birbird 于 2008-3-16 15:39 编辑 ]
发表于 2008-3-16 21:15:47 | 显示全部楼层
呵呵,这个就是条件编译嘛
wintel大概意思可以是windows intel,应该是给x86架构的CPU用的。

IAR给西机编译补丁的话,并不一定要使用main函数作为程序入口,在汇编中可以用RSEG关键字,在C/C++中应该是ELFLOADER.CPP下面那一段。
这样才能达到一个补丁,多个HOOK的效果嘛
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-16 23:55:52 | 显示全部楼层
受教,
我也觉得wintel是给x86的编译选项,
但西机就没有这个构架的CPU,要这个选项何用……
莫非是,在电脑上测试用?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-16 23:57:39 | 显示全部楼层
关于“一个补丁,多个HOOK”,请多说两句,
回复 支持 反对

使用道具 举报

发表于 2008-3-17 09:01:49 | 显示全部楼层
原帖由 birbird 于 2008-3-16 23:55 发表
受教,
我也觉得wintel是给x86的编译选项,
但西机就没有这个构架的CPU,要这个选项何用……
莫非是,在电脑上测试用?

移植过来的嘛,作者没有把它去掉,其实你把它去掉也没关系
回复 支持 反对

使用道具 举报

发表于 2008-3-17 09:05:07 | 显示全部楼层
原帖由 birbird 于 2008-3-16 23:57 发表
关于“一个补丁,多个HOOK”,请多说两句,

ELFLOADER不是有什么PATCH_ONCREATE,PATCH_ONCLOSE等等HOOK。
回复 支持 反对

使用道具 举报

发表于 2008-5-9 21:58:45 | 显示全部楼层

顶啦~~~~~

有话则长,文滔武略,津津乐道,无话则短,三言两语,简明扼要。我狂顶啦~~~~~~~~~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员 微信登录

本版积分规则

小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

GMT+8, 2024-5-20 14:12

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表