10 2012 档案
摘要:lua发布的代码中,本身提供了makefile用来在多个平台上编译lua,但是针对windows,它提供的是mingw:mingw: $(MAKE) "LUA_A=lua51.dll" "LUA_T=lua.exe" \ "AR=$(CC) -shared -o" "RANLIB=strip --strip-unneeded" \ "MYCFLAGS=-DLUA_BUILD_AS_DLL" "MYLIBS=" "MYLDFLAGS=-s" lua.exe
阅读全文
摘要:和同事聊起了这个话题,下面是一些思考与问题:【思考】基本套路与Java应该是一致的,也就是Mark - Sweep - Compact:C++中可分为两种类型:一是用户自定义类型;一种是内置的类型。每次分配内存时候,都把内存地址保存到一个hashmap中,key为内存地址,value为false。这是准备工作,然后在某个时间点需要做垃圾回收的时候:寻找以下三种用户自定义类型的对象:全局的;静态的;当前栈上的,把这些对象作为根,然后递归寻找他们所引用的内存(成员), 并在hashmap中把这些内存地址为key的项的值设为true,表示不应回收。(Mark)遍历hashmap,把value为fal
阅读全文