分类: 系统运维
2012-02-06 19:38:32
打开xcode>New Project>Application>Command Line Tool
填写项目名称、公司名称、类型选择Foundation。
Xcode就会自动创建如下代码:
1 2 3 4 5 6 7 8 | #import int main (int argc, const char * argv[]) { @autoreleasepool { NSLog(@"Hello, World!"); } return 0; } |
点Run按钮就可以看到下方有Hello, World!的字符输出了。
二、文件分析#import
int main (int argc, const char * argv[]){return 0;}
主函数,返回值为0
@autoreleasepool {}
为变量申请内存空间
NSLog(@"Hello, World!");
输出字符串
书上、网上的hello world代码一般如下:
1 2 3 4 5 6 7 8 | #import int main (int argc, const char * argv[]) { NSAutoreleasePool * Pool =[[NSAutoreleasePool alloc] init]; NSLog(@"Hello, World!"); [Pool drain]; return 0; } |
本人在xcode4.2环境下编译这个代码失败了,后来查阅相关资料发现4.2以后的版本有个“自动引用计数(ARC)”,所以不能使用NSAutoreleasePool了。
如果不想使用这个“自动引用计数(ARC)”,可以修改项目的Build Settings,将Apple LLVM compiler 3.0 - Language中的Objective-C Automatic Reference Counting设置为No。
ARC参考:
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSAutoreleasePool_Class/Reference/Reference.html#//apple_ref/occ/cl/NSAutoreleasePool
http://blog.sina.com.cn/s/blog_4c4c79950100t3uy.html
http://www.cnblogs.com/shengdoushi/archive/2011/09/05/2168182.html
四、使用gcc编译打开Applications(程序)>Utilities(实用工具)>Terminal.app(终端)
1 2 3 4 5 6 7 | mkdir project cd project vi helloworld.m // 输入程序代码后保存退出 gcc -framework Foundation helloworld.m -o helloworld ./helloworld // 屏幕输出"Hello, World!" |