蓝色 ,主业三流青春校园小说作家兼反差萌段子手… 韦易笑 等 130 人赞同 若是C / C++的话,我推荐ATOM的这几个插件主要用于代码补全,实时语法检测,以及代码格式调整,其实就是Clang的那一套。当然你也可以使用linter-gcc,来使用gcc错误提示。而在编辑器中,我喜欢使用终端,那么 ...
分类:
其他好文 时间:
2016-06-17 19:23:54
阅读次数:
636
Clang Attributes 黑魔法小记 Clang Attributes 是 Clang 提供的一种源码注解,方便开发者向编译器表达某种要求,参与控制如 Static Analyzer、Name Mangling、Code Generation 等过程,一般以 __attribute__(xx ...
分类:
其他好文 时间:
2016-06-08 10:36:06
阅读次数:
208
最近在给编译环境centOS6.5安装新版clang(clang3.4/3.5)的时候,虽然已经装了gcc4.9.1,但编译的时候(参考clang官方主页http://clang.llvm.org/get_started.html的步骤,在独立build目录下运行clang自带的configure脚本),仍然出了“ccompiler
cannotcreateexecutables”的提..
分类:
系统相关 时间:
2016-06-02 20:19:14
阅读次数:
217
很多时候,出现一些类似GNU,GCC,CLANG,LLVM等与编译器有关的名词的时候,都不太清楚它到底是干嘛的,理解这些东西后, 对于xcode中很多配置型的需求修改起来都会得心应手,因此有必要了解透彻他们直接的关系与区别。 1 GUN “GNU,名称来自Gnu's Not Unix"的缩写,一个类 ...
分类:
其他好文 时间:
2016-05-30 19:42:40
阅读次数:
525
四年前Clang添加了关键字instancetype,目的在于取代-alloc和-init等方法的返回类型id,那么使用instancetype到底比id好在哪里? instancetype宣言 不管何时,只要一个class要返回它相同的类实例,使用instancetype都是更加合适的。 我们知道 ...
分类:
其他好文 时间:
2016-05-30 10:08:50
阅读次数:
118
runtime(运行时):底层C语言的库,包含很多C语言的API OC在运行的过程中,都会被编译器编译成runtime运行时C语言 clang -rewrite -objc main.m 会生成main.cpp 作用: runtime属于OC的底层实现,可以进行一些非常底层的操作(OC无法实现) 1 ...
分类:
其他好文 时间:
2016-05-23 17:16:15
阅读次数:
165
- 先自己从源代码 (http://llvm.org/releases/) 编译llvm和clang,或者直接安装clang for Windows - 测试过使用cygwin (https://cygwin.com/install.html) 中安装的libc++,以及cygwin带的mingw编 ...
一、什么是instancetype instancetype是clang 3.5开始,clang提供的一个关键字,表示某个方法返回的未知类型的Objective-C对象。我们都知道未知类型的的对象可以用id关键字表示,那为什么还会再有一个instancetype呢? 二、关联返回类型(related ...
分类:
其他好文 时间:
2016-05-15 12:22:41
阅读次数:
155
关于C、OC、C++、OC++、Swift的一些常识 OC是C语言的一个超集,是一门面向对象的语言,因为苹果的崛起而火,API主要是cocoa(OSX)和cocoatouch(iOS),GCC 和 Clang 都能编译OC,现在xcode使用的是Clang。 OC的实现是建立在运行时机制(runti ...
分类:
编程语言 时间:
2016-05-14 17:02:59
阅读次数:
192
Block源码解析和深入理解
Block的本质
Block是”带有自动变量值的匿名函数”.
我们通过Clang(LLVM编译器)来将OC的代码转换成C++源码的形式,通过如下命令:
clang -rewrite-objc 源代码文件名
下面,我们要转换的Block语法
1
2
3
4
5
6
7
int main(int argc, const cha...
分类:
其他好文 时间:
2016-05-13 14:53:07
阅读次数:
232