Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1345653
  • 博文数量: 206
  • 博客积分: 10571
  • 博客等级: 上将
  • 技术积分: 2610
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-30 11:50
文章分类
文章存档

2014年(1)

2013年(4)

2012年(18)

2010年(14)

2009年(31)

2008年(3)

2007年(135)

分类: 系统运维

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 这行加载Foundation头文件,Foundation库包含了基本的操作字符串、内存等功能。

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!"
阅读(2870) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~