Category Archives: LLVM

LLVM的扩展——对C函数的重载

众所周知,在C中不存在函数重载,不过LLVM提供了额外的扩展,实现了C函数的重载。要是用这个特性也十分简单,只需要在声明函数时加上__attribute__((overloadable))即可。

不过这个特性(据我所知)只在LLVM里提供。如果你的程序需要在其他没有LLVM编译器的平台下编译的话,请直接简单粗暴的换个函数名。

Continue reading LLVM的扩展——对C函数的重载

LLVM框架学习笔记(1)

LLVM,对于很多OS X/iOS开发者来说,即使没有真正接触过,但想必也是有所耳闻。

LLVM,从名字上看就让人想到JVM (Java Virtual Machine),实际上也差不多,LLVM即Low Level Virtual Machine。那么既然是Virtual Machine,它也拥有自己的IR(中间表示)。

你可以在LLVM的官网上下载它的源码或者预编译版本。

那么就先从Hello World!开始吧

Continue reading LLVM框架学习笔记(1)