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实用工具AppBox Pro使用教程大揭秘
- ››iphone4省电方法
- ››iphone 获取地址的详细信息
- ››iPhone 库的基本内存管理策略
- ››iPhone加密文字亲手做 私密信息有保障
- ››iphone 根据经纬度坐标取详细地址(包括国,省,市...
- ››iphone/ipad ios cocoa object-c 近期苹果UI部分小...
- ››iphone中如何进行多线程编程
- ››iPhone OS SDK的这些事[安装、下载、版本、实例、...
- ››iPhone ObjectC的NSAutoreleasePool
- ››iPhone 判断设备是在Portrait(纵向)还是(Landscap...
赞助商链接