【第22期】观点:IT 行业加班,到底有没有价值?

iOS clang编译Objective-C程序

原创 2015年11月17日 21:43:12

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

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

使用clang命令行工具编译链接Objective-C应用程序

Objective-C编程语言是一种面向对象的高级编程语言,可以用它编写基于Mac或者iOS系统的应用程序。 闲言少叙,下面我们创建一个Hello World程序,了解一下最基本的Objective...
  • pucker
  • pucker
  • 2012-02-24 17:02
  • 18077

iOS 终端使用Clang编译 重写观察Runtime源码

一.在终端使用Clang命令 编译(相比于Xcode运行,可以单独的编译文件并运行) 1.到要编译的工程目录 2.$ clang -fobjc-arc -framework Foundation ...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

从代码开始编译clang/llvm

译至:http://d.hatena.ne.jp/embedded/20140827/p1

clang llvm 源码编译安装

由于安装 vim 插件 youcompleteme 需要使用到 clang llvm 系统,所以我在公司的开发机上通过源码形式安装了 clang llvm。安装方式与普通软件源码安装类似,由于依赖较...

LLVM 和Clang源代码编译

Getting Started: Building and Running Clang This page gives you the shortest path to checking out...

深入剖析 iOS 编译 Clang / LLVM

http://www.starming.com/index.php?v=index&view=107 前言 iOS 开发中 Objective-C 和 Swift 都用的是...

源码编译安装 clang

参考文章 https://solarianprogrammer.com/2013/01/17/building-clang-libcpp-ubuntu-linux/ 安装好 ubuntu 后,打开...

VS2012 编译clang源码

之前下载的clang无法识别头文件,没办法,只能自己编译clang。详细步骤参见[编译clang](“http://clang.llvm.org/get_started.html“)。按照网页上Usi...

深入研究Clang(四) Clang编译器的简单分析

首先我们确定下Clang编译器的具体内容和涵盖范围。之前在《LLVM每日谈之二十 Everything && Clang driver 》中曾经提到过,Clang driver(命令行表...

编译器(GNU & GCC & clang & llvm)

前言: 很多时候,出现一些类似GNU,GCC,CLANG,LLVM等与编译器有关的名词的时候,都不太清楚它到底是干嘛的,理解这些东西后, 对于xcode中很多配置型的需求修改起来都会得心应手,因此有必...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)