ios 安卓 c语言编译器,浅尝iOS使用clang

【注】本文是个人学习clang时做的一些笔记和整理,分享一下仅供参考,文中多处摘自参考文章。

b5262a405abe

好想有个能千变万化的编译器,没错就是它,就是它. -----Clang

简介

clang是一个c,c++、oc语言的轻量编译器,源码发布于BSD 协议下。

终端用户特色

快速编译和较少内存占用

有诊断功能

兼容gcc

一、查看oc中c语言的实现源码

使用vim编辑器测试

打开vim 建立.c文件

vim test.c

写入测试的代码,下面测试代码查看block的实现(输入上面指令后,输入“i”开始编辑,粘贴完后按“esc”键,输入“:wq”,回车)

#include

int main () {

void(^blk)(void) = ^{

printf("Block\n");

};

blk();

return 0;

}

b5262a405abe

vim file

编译,目录下面会生成a.out文件

gcc test.c

最后使用clang查看源码,成功会生成test.cpp文件,里面就是源码

clang -rewrite-objc test.c

b5262a405abe

生成文件

test.cpp文件就是相关的c++实现

.cpp:只能编译c++代码,.mm是编译c,oc,c++,.h是声明,.m包含oc和c代码的文件

二、编译oc

同样创建测试代码文件,test.m

#import

int main(int argc, const char * argv[]) {

@autoreleasepool {

// insert code here...

NSLog(@"你好世界!");

}

return 0;

}

输出可执行文件

clang -fobjc-arc -framework Foundation test.m -o outputname

b5262a405abe

可执行文件

b5262a405abe

执行结果

指令解释

-fobjc-arc表示编译需要支持ARC特性

-framework Foundation表示引用Foundation框架

test.m是待编译的源文件名

-o outputname表示输出可执行文件名是outputname

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

参考文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值