在C中用匿名结构体实现容器

C++中的STL非常实用,很多人都觉得非常好用,甚至有不少人将C++视为C + STL来使用而不是当初的C with class。但是是不是为了使用STL就必须要使用C++呢?我这里讲述一种在C中利用匿名结构体来实现容器的方法,这样就没有必要单纯为了容器而“使用”使用C++。本文主要讲如何利用匿名结构体实现vector容器,但是对于其它的容器(list、deque等)其实参照本文介绍的方法也很容易实现,就不再一一赘述了。

继续阅读

未分类 Comments(0) 2015年8月31日 01:14

奇怪的Xcode的linker错误

今天工作的时候,将一个很简单的iOS项目的Build Configuration从Debug改为Release就遇到了很诡异的链接错误,大概是这样的:

LLVM ERROR: Broken funciton found, compilation aborted!

clang: error: linker command failed with exit code 1 (use -v to see invocation)

我仔细思考了一下,然后尝试着关闭了Link-Time Optimization(也就是调用clang/LLVM时的-flto开关),于是就解决了。深切怀疑这是LLVM链接时优化的bug。

未分类 Comments(0) 2015年8月17日 19:17