摘要:本来准备把所有编译错误都写到一个List中,在编译结束后再全部输出。可发现这样做有好几个缺点:1. 编译错误与文本行struct Line相联系。如果在一个List中,就会大量插入Line结构。Line结构中保存文本行的大小默认为500byte, 如果错误多起来空间消耗是非常恐怖的。我考虑了使用FlyWeight节省空间,但是如果source文件很大,FlyWeight依然不能给我带来多大优点。编...
阅读全文
随笔分类 - C/C++
My love
摘要:马上就要进入对象系统的实现了 感觉美妙VC6对template的支持真是太一般了, VC7.1到VC6的移植工作几乎全受到template的影响.entry void Fun(f32 a, f64 b){st.0st.1st.2st.3ldc.s 3addret}void SunjingisBaobao(){ldstr "yes"prtsret}f32 IWillWin(){ldc.s 1ret}...
阅读全文
摘要:从没想过事情会发展的这样迅速我的虚拟机和汇编器正在以飞快的速度成长。TracerBullet确实是一种非常可行的方法Refactoring也真好用,尽管我用的是C/C++我有新的打算想进一步去完善它了,这在现在看来简直是无法抗拒的。
阅读全文
摘要:呵呵基本完成,总算呼了一口气ldc.s 332ldc 123divldc 125ldc.s 34.33st.0st.3multaddldstr "Iceman is a great man\n"prtshalt 生成的东西 嘿嘿 # " " # $ % Iceman is a great ma...
阅读全文
摘要:蠕动是探索未知领域最好的方式简单的Assembler并不算很不好弄。首先舍弃了各种复杂结构的metadata generating, 只对简单指令进行模拟。比如OPDEF(ADD, "add", 0XFF, 0X0C )OP...
阅读全文

浙公网安备 33010602011771号