OC http://www.jianshu.com/p/c2dabb4fd761
block的语法看上去好像很特别,但实际上是作为极为普通的C语言代码来处理的。这里我们借住clang编译器的能力:具有转化为我们可读源代码的能力。 控制台命令是: clang -rewrite-objc 源代码文件名。
?
1 2 3 4 5 | |
经过 clang -rewrite-objc 之后,代码编程这样了(简化后代码,读者可以搜索关键字在生成文件中查找):
我们都知道可以通过Xcode来学习Objective-C编程语言,但是能不能脱离XCode这个IDE进行Objective-C学习呢?当然是可以的。
作为程序员都应该知道任何一门编程语言都离不开编译器,OC也不例外,我们可以通过度娘搜索发现,XCode的默认编译器是clang,那么问题来了,我能不能通过clang命令直接编译并运行一段OC代码呢?当然是可以的。
关于XCode编译器详细介绍可以参考该文章:编译器
下面将叙述一下如何通过Mac OS中文本编辑器创建一个Hello Word的程序,并通过clang命令编译运行。
步骤1
打开“文本编辑”工具,输入以下代码,并保存为纯文本格式,文件名命名为HelloWord.m,路径随意放。
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool
{
NSLog(@"Hello, OC!");
}
return ;
}
步骤2
接下来可以利用“终端”将HelloWord.m文件编译成可执行文件了,具体步骤:
1.打开“终端”
2.通过cd命令进入HelloWord.m文件所在目录
3.使用clang命令对HelloWord.m文件进行编译
最后生成HelloWord可执行文件,如下图所示。
图1
$ clang -fobjc-arc -framework Foundation HelloWord.m -o HelloWord
有几个地方需要注意一下:
- $符号是终端命令提示符,不是需要输入的内容
- -fobjc-arc表示编译器需要支持ARC特性
- -framework Foundation表示引用Foundation框架
- HelloWord.m为需要进行编译的源代码文件
- -o HelloWord表示输出的可执行文件的文件名
步骤3
生成可执行文件后,就可以在终端中执行该文件了,输入的命令如下:
$ ./HelloWord
执行结果如下图:
图2
另外也可以直接双击运行刚才生成的HelloWord可执行文件,运行结果和上面运行结果一样。
图3
至此通过几个简单的clang命令,就可以编译运行一段简单的HelloWord的Objective-C代码了。
文/Kevin丨Wang(简书作者)
原文链接:http://www.jianshu.com/p/c2dabb4fd761
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。