iOS clang编译Objective-C程序

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.打开文本编辑工具 输入以下代码 并保存为纯文本格式

#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代码了。

可以使用GNUstep在Windows XP上寫Objective-C程式,但是Objective-C已經加了很多新東西,而GNUstep裡的gcc並不提供,所以,这个是GNUstep,再加上新一代的編譯器架構Clang與LLVM(這也是Apple在新版Xcode裡預設使用的編譯器),這樣就能有Objective-C 2.0的功能,以及block與ARC(automatic reference counting)。 問:想開發iPhone或iPad或Mac的軟體,該怎麼辦? 答:使用Apple官方的軟體開發工具Xcode,只要到Apple公司的開發者網站,註冊一下(免費),即可下載最新版的Xcode。Xcode只能在Mac OS X(作業系統)上運行,所以要買一台Mac機器(硬體) 也就是說,如果你有一台Mac電腦(花錢買),下載Xcode(免費下載)後,就可以開始開發,在模擬器上執行看到成果。但是,如果想在iPhone實機上執行你寫的程式的話,那就要加入Apple的iOS Developer Program(要錢,一年要付$99) 問:想先學學Objective-C程式語言,還不想砸錢買Mac,有辦法在Windows上寫Objective-C程式嗎? 答:有,就是這篇的重點了。 节选自:http://yehnan.blogspot.com/2012/03/windowsobjective-cgnustepclangllvm.html 以上这个是中文网址,不过要越墙。 英文原文:https://solarianprogrammer.com/2012/03/21/clang-objective-c-windows/ 这个可以自用访问的。O(∩_∩)O哈哈~ 介于开源与自由精神,就不收费了,免费赠送,就当为这东西做推广了。也可在github上直接下载,只是担心不同地区对于国外网站的速度问题,选择上传csdn给大家提供方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值