开发学院手机开发iPhone 开发 iPhone逆向基础 阅读

iPhone逆向基础

 2010-06-04 13:52:00 来源:WEB开发网   
核心提示:将下面的代码存为hello.m#import @interface HelloWorld : NSObject- (void) hello;@end@implementation HelloWorld- (void) hello {NSLog(@”hello world!”);}@endint main(void) {

将下面的代码存为hello.m

#import

@interface HelloWorld : NSObject

- (void) hello;

@end

@implementation HelloWorld

- (void) hello {

NSLog(@”hello world!”);

}

@end

int main(void) {

HelloWorld *hw = [[HelloWorld alloc] init];

[hw hello];

[hw release];

}

在Mac OS X 10.6.2上编译它

gcc -o hello hello.m -L /System/Library/Frameworks/Foundation.framework/Foundation

这是编译的 x86 Mac版本, 而我们需要一个ARM iPhone版本

/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc

-arch armv6 -lobjc

-isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk

-framework Foundation -framework CoreFoundation

-o iphone_hello hello.m

我们再来尝试使用 将接口和实现写在不同的文件中,并用Makefile来实现编译

以下代码,保存为Talker.h

#import

@interface Talker : NSObject

- (void) say: (char *) phrase;

@end

以下代码保存为Talker.m

#import “Talker.h”

@implementation Talker

- (void) say: (char *) phrase {

printf(“%s ”, phrase);

}

@end

以下代码保存为hello.m

#import “Talker.h”

int main(void) {

Talker *talker = [[Talker alloc] init];

[talker say: "Hello, World!"];

[talker release];

}

如果编译Mac OS X Intel版本,可用

mkdir build

gcc -o build/hello Talker.m hello.m -framework Foundation

如果编译iPhone ARM版本, 虽然也可以用命令行编译

/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc

-arch armv6 -lobjc

1 2 3  下一页

Tags:iPhone 逆向 基础

编辑录入:coldstar [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接