iOS clang编译Objective-C程序
2015-11-17 21:43
330 查看
1.简介
Clang是一个C,C++,Objective-C,Objective-C++语言的轻量级编译器。源代码发布于BSD协议下。
终端用户特色:
快速编译和较少内存占用[3] ;有诊断功能;兼容GCC;
实用工具和应用:
基础架构模块库;可满足多样的客户需求(代码重构,静态分析,代码生成,等);允许集成到各种IDE中;使用LLVM'BSD'协议;
内部设计与实现:
一个简单的可移植的代码库;一个为C语言、Objective-C、C++、Objective-C++设计的通用的语法解析器
2.Objective-c如何用clang编译器编译运行Objective-C代码?
答案是可以的。
1.打开文本编辑工具 输入以下代码 并保存为纯文本格式
保存为HelloWorld.m文件
2.接下来可以利用“终端”将HelloWorld.m文件编译成可执行文件了,具体步骤:打开终端-》cd命令进入helloworld.m文件所在目录
使用以下命令进行编译,生成可执行文件
$ clang -fobjc-arc -framework Foundation main.m -o main
文件如下图
![](https://img-blog.csdn.net/20151117213759579?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
注意:
1)$符号是终端命令提示符,不是需要输入的内容
2)-fobjc-arc表示编译器需要支持arc特性
3).-framework Fundation表示引用Fundation框架。
4).HelloWorld.m为需要进行编译的源代码文件
5).-o HelloWorld表示输出的可执行文件的中文名
3.生成可执行文件 就可以在终端执行该文件。输入的命令如下:
执行结果
Hello,world"
直接双击运行刚才生成的HelloWorld可执行文件,运行结果和上面可执行文件一样
通过几个简单的clang命令,就可以编译运行一段简单的Objective-C代码了。
Clang是一个C,C++,Objective-C,Objective-C++语言的轻量级编译器。源代码发布于BSD协议下。
终端用户特色:
快速编译和较少内存占用[3] ;有诊断功能;兼容GCC;
实用工具和应用:
基础架构模块库;可满足多样的客户需求(代码重构,静态分析,代码生成,等);允许集成到各种IDE中;使用LLVM'BSD'协议;
内部设计与实现:
一个简单的可移植的代码库;一个为C语言、Objective-C、C++、Objective-C++设计的通用的语法解析器
2.Objective-c如何用clang编译器编译运行Objective-C代码?
答案是可以的。
1.打开文本编辑工具 输入以下代码 并保存为纯文本格式
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSLog(@"Hello,world"); } return 0; }
保存为HelloWorld.m文件
2.接下来可以利用“终端”将HelloWorld.m文件编译成可执行文件了,具体步骤:打开终端-》cd命令进入helloworld.m文件所在目录
使用以下命令进行编译,生成可执行文件
$ clang -fobjc-arc -framework Foundation main.m -o main
文件如下图
注意:
1)$符号是终端命令提示符,不是需要输入的内容
2)-fobjc-arc表示编译器需要支持arc特性
3).-framework Fundation表示引用Fundation框架。
4).HelloWorld.m为需要进行编译的源代码文件
5).-o HelloWorld表示输出的可执行文件的中文名
3.生成可执行文件 就可以在终端执行该文件。输入的命令如下:
$./main
执行结果
Hello,world"
直接双击运行刚才生成的HelloWorld可执行文件,运行结果和上面可执行文件一样
通过几个简单的clang命令,就可以编译运行一段简单的Objective-C代码了。
相关文章推荐
- Object-c之正则表达式之一
- Object-C之文件操作
- 构造函数语意学(inside the c++ object model)
- Objective-C 中的NSLog
- objective-c 中3种随机数的用法:arc4random( ) random( ) CCRANDOM_0_1( )
- 镜头跟随GameObject移动。
- 【转载】浅谈OpenCV人脸检测以及两个函数cvHaarDetectObjects和cvRunHaarClassifierCascade
- Objective-c 常用字符串操作
- Objective-C中NSArray和NSMutableArray的基本用法
- Qt学习之路(10): Meta-Object系统
- Data-Driven 3D Voxel Patterns for Object Category Recognition
- Python基础学习-'module' object has no attribute 'urlopen'解决方法
- java object
- OC字符串的常规用法NSString的操作
- JAVA基础知识回顾(基本数据类型,switch参数,equals与==的区别,Object有哪些公用方法)-1
- Objective-C中常量重复定义的解决方案
- ldap获取数据中的objectGUID乱码问题
- [CareerCup] 14.5 Object Reflection 对象反射
- Objective-c:属性
- NSDate和NSString之间的相互转换