从java转向Objective(2)

你可能见过C语言版本的经典“Hello World”程序,该程序可输出“Hello World”或类似的简短语句。“Hello World”通常是C语言编程初学者要学习的第一个程序。我们将继承此优良传统,便携一个类似的程序,这里称为“Hello Objective-C”

解构Hello Objective-C程序

hello Objective-C.m内容如下;

#import <Foundation/Foundation.h>

int main(int argc, const char *argv[])

{

NSLog (@”hello, Objective-C!”);

Return (0);

}

Xcode的.m扩展名表示文件含有Objective-C代码,应由Objective-C编译器处理。C编译器处理名称以.c结尾的文件,而C++编译器处理.cpp文件。在Xcode中,所有这些编译工作全由GCC(GNU Compiler Collection,GNU编译器集合)处理,这个编译器能够理解C语言的全部3哥变体。

如果了解普通的C语言,那么你应该很熟悉.m主文件中包含的两行代码:main()声明和末尾的return(0)语句。请记住,Objective-C本质上就是C语言,它用来声明main()和返回值的语法和C语言是一样的。其他代码看上去与正规的C语言有些许差别,例如:这个陌生的#import是什么?

Objective-C刚诞生的时候,扩展名.m代表message,指的是Objective-C的一个主要特性。

#import,与C语言一样,Objective-C使用头文件来包含元素声明,这些元素包括结构体、符号常量、函数原型等。C语言使用#include语句通知编译器应在头文件中查询定义。在Objective-C程序中也可使用#include来实现这个目的。但你可能永远不会那么做,而会像下面这样使用#import:

#import <Foundation/Foundation.h>

#imiport是GCC编译器提供的,Xcode在编译   Objective-C、C和C++程序时都会使用它。#import可保证头文件只被包含一次,而不论此命令实际上在那个文件中出现了多少次。(在C语言中,程序员通常使用基于#ifdef命令的方案来避免一个文件包含另一个文件,而后者又包含第一个文件的情况。而在Objective-C中,程序员使用#import实现这个功能。)

#import <foundation/Foundation.h>语句告诉编译器查看Foundation框架中的Foundation.h头文件。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/ppsfw.html