iOS 浅谈Clang的使用

作者: e40c669177be | 来源:发表于2016-07-21 15:53 被阅读3379次

Clang的简介


Clang是一个C语言、C++、Objective-C、C++语言的轻量级编译器。源代码发布于BSD协议下。也是Xcode 第一的编译器

</b>

终端用户特色:
  • 快速编译和较少内存占用;
  • 有诊断功能;
  • 兼容GCC;

</br>
</br>

Clang的简单使用


</b>

一、 编译OC

</b>

1.打开文本编译工具,输入代码,并保存为纯文本格式,保存为HelloWord.m格式
     #import <Foundation/Foundation.h>

        int main(int argc, const char * argv[]) {
         @autoreleasepool {
           // insert code here...
        NSLog(@"你好世界!");
        }
        return 0;
     }

比较偷懒的方法:在Xcode里面,使用Object -C语言创建.m文件,然后可以把这个.m 文件拷贝到桌面上

2.查看这个文件的位置

在终端 输入以下指令如图所示,指定在桌面上操作文件

cd desktop

终端示意图
3.输出可执行文件.

输入 以下指令输出可执行文件

clang -fobjc-arc -framework Foundation hello.m -o nihau

或者 重新生成 OC 文件

clang -rewrite-objc hello.m

指令解释

  • -fobjc-arc表示编译需要支持ARC特性。
  • -framework Foundation表示引用Foundation框架,这个框架中定义了很多基本的类,例如字符串、数组、字典等等。
  • 后面的hello.m就是待编译的源代码文件名。
  • -o nihao表示输出的可执行文件的文件名是nihao。

桌面上会出现名字为nigao的程序,点开就可以看到其运行效果

输入完成

</br>

二、 编译C++

</b>

如同上面的操作一样,我们按照下面下面的指令在终端输入执行即可.

</br>

1.在终端中输入 cd desktop

2.在终端中输入 clang -rewrite-objc hello.m

3.桌面上会出现.cpp文件,即是c++的实现文件,如下图所示.

4

</br>

总结: Clang是一个C++编写、基于LLVM、发布于LLVM BSD许可证下的C/C++/Objective-C/Objective-C++编译器。它与GNU C语言规范几乎完全兼容;同时Clang的使用简单方便,值得我们学习.

</br>

参考文章:

相关文章

网友评论

  • ifelseboyxx:➜ 未命名文件夹 8 clang -rewrite-objc -framework UIKit main.m
    clang: warning: -framework UIKit: 'linker' input unused [-Wunused-command-line-argument]
    main.m:9:9: fatal error: 'UIKit/UIKit.h' file not found
    #import <UIKit/UIKit.h>
    ^
    1 error generated.

    楼主 这个是什么错误?
    ifelseboyxx:@helloPluto 试试这个 `clang -x objective-c -rewrite-objc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk main.m`
    helloPluto:我也遇到这个问题了 你解决了嘛
    e40c669177be:好久没看,我都忘了怎么做的了:sob: :sob:

本文标题:iOS 浅谈Clang的使用

本文链接:https://www.haomeiwen.com/subject/qkubjttx.html