在上次博文《关于调试AI的闲话(1)》中,提到一个利用共享内存实现的参数调试模块,我整理了一下代码,现在放出来,给大家参考,
下载地址:
也可用svn通过以下地址来得:
http://tsiu.googlecode.com/svn/branches/blogver/
编译方法:
用VS2005以上打开,选择Debug NoDx或者Release NoDx, 在AITest工程,ATInit.cpp中,有一个宏
#define APP_ONE
打开这个宏,编译一次生成一个可执行文件AITest.exe(在exeaitest中),重命名后(比如,AITestA.exe),再关闭这个宏,重新编译一次。
测试方式:
打开编译好的两个exe文件,在其中一个窗口中(有文字提示),按住鼠标左键移动鼠标,就可以看到在另一个窗口中有一个红色的圈在同时移动,另外绿色的圈也是通过这个模块来通信的。
参数调试模块:这次提到的模块代码主要是这两个文件,
TAI_RefValue.h
TAI_RefValue.cpp
说明:
- 使用方法可以参考AITest中的例子,注意,需要每帧调用Flush来刷新。
- 删除后内存回收的功能还没做,这个需要改变内存的组织方式来做,现在是用数组的方式,可能需要改成链表的方式来组织
- 不建议将RefValue用在临时变量里,因为观察一个临时变量的某个值没有什么意义
顺便说一下,整个分享出来的代码是基于一个叫“TsiU”的框架来做的,它是我一直在维护的一个自己用的小型的框架,我平时做的一些AI的sample,或者一些工具,都会基于这个框架,TsiU有一些基本的UI控件库,网络模块库,GDI绘图模块,D3D绘图模块等等,可以快速的做成一个小型的示例程序,很方便(具体可参考AITest),并且整个架构是用Object的方式来组织,非常容易理解和扩展。整个框架很轻量化,基本就是做了一些底层的基本的功能,这样我在平时做东西的时候,就不需要重新写底层了,把精力都放在高层的实现了。以后分享代码都会基于这个框架,大家也可以通过svn来随时update到我最新的改动。下图就是TsiU里的几个工程介绍,代码不多,大家想看的也可以自己看一下:)
————————————————————————
作者:Finney
Blog:AI分享站(http://www.aisharing.com/)
Email:finneytang@gmail.com
本文欢迎转载和引用,请保留本说明并注明出处
————————————————————————
非常感谢博主分享 已经check了代码 等空了学习下