iPhone逆向基础
2010-06-04 13:52:00 来源:WEB开发网将下面的代码存为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
- ››iphone图片拉伸的几种方法
- ››iphone正则表达式的简单使用
- ››iPhone开发Unresolved Symbols CAKeyframeAnimati...
- ››IPhone开发-“此证书是由未知颁发机构签名”解决方...
- ››IPhone开发-整合私钥和证书,生成.p12文件
- ››iPhone应用开发-UIPickerView选取器详解
- ››iphone 获取屏幕的宽度和高度
- ››iPhone读取工程包中的二进制文件
- ››iPhone新手机 不挂YouTube APP
- ››iPhone 获取指定格式的时间和日期
- ››iPhone版PPS走进生活 观赏体验媲美PC版
- ››iPhone两种不同的应用程序:两种方法的哲学思想
更多精彩
赞助商链接