??xml version="1.0" encoding="utf-8" standalone="yes"?>
找了一圈,发现q是Log4c最合适。所以只好决定在Log4c的基上移植了Q看来找C个轻量的Log库不太容易?/p>
mt.exe –manifest MyLibrary.dll.manifest -outputresource:MyLibrary.dll;2
这样处理后的DLL再拷贝到官方的Wireshark的插件目录中可以了。不q采用Visual Studio 2005生成的插件要分发时必d时分?a >Visual Studio 2005的C语言q行?/font>Q看来不如Visual Studio 2003方便?/p>
其中?b参数表示只显C文件名Qdir的结果会写入prj.map文gQ正好可以满求?/p>
最后的l计l果表明Q我们的协议栈有109个文Ӟ不包括需要的q行库)Q共161,688行代码,其中I白?3,554Q注释行?8,311。这是一个小巧的Q但是完整的基站协议栈代码?/p>
最q太太的学校使用思维导图ȝ教学中的知识点,她因为电脑不熟,我帮了下忙,l果发现q个思维导图真的很方便!今天用思维导图整理了一下项目的知识体系Qؓ下一步安排学生课题、申请专利和发表文章做准备。由于课题内Ҏ较敏感,下面用一些简单的例子代替实际做的工程?/p>
使用思维导图的最大好处是方便Q只要用Enter键就可以d一个节点,而用Tab键就可以d一个子节点Q如果发现节点的层次或顺序不对,可以随意地拖动节点进行调_一起都很方便,不象Visio或者SmartDrawQ必ȝ几下鼠标才能完成q些操作。你可以惛_哪里Q就d哪里Q特别适合Ҏ考,Ҏ理,比在U怸比划q方ѝ下面就是一个简单的例子?/p>
以前我整理项目的知识体系Q往往使用SmartDrawQVisio在这斚w比SmartDraw更难使)。用SmartDrawQ一是操作比思维导图ȝQ二是如果图太大了,Z便于阅读Q就必须体pȝ构图按照层次分割成很多文Ӟ然后利用SmartDraw的链接功能将它们链接C赗而在思维导图中,q一切就变得很容易。你可以在一张图中画下所有层ơ关p,如果觉得层次多了Q可以用鼠标点下节点右侧“减号”Q就可以把子节点都收hQ象下图一栗如果想看子节点Q再点一下节点右?#8220;加号”可以,收羃自如Q非常方ѝ?/p>
有时候子节点太多Q希望在一个单独的H口中编辑或昄Q可以选择Drill down功能Q它可以把所有子节点都显C在一个单独的H口中,而选择Drill up功能又可以回到顶层。这h可以方便地观察全局Q又可以照顾导细节,比SmartDraw/Visio方便多了?/p>
其实最早接触思维导图Q是前段旉在广州,七所的吴挺用MindMap制作了一个项目的q度表,每个节点前可以加上Marker清晰地看出每个项目进展的情况Q象下面q张图一栗不q当时误以ؓq个软g是类似Visio或者Project那样的YӞ没有重视Q现在才发现完全不是那么回事?/p>
在网上搜索了一下,Ҏ维导图的介l还真是很多Q可惜我今天才用上。我推荐癑ֺ癄的相关介l?/font>Q值得一诅R?/p>
支持思维导图的Y件很多,前面的博?/font>已经说了Q我要尽量用开源Y件。在|上真找CƄ当不错的Q?a target=_blank>XMind?/p>
要编写一个调节器Q需要从template_modifiers::TemplateModifierz一个类Q?/span>
用户自定义的调节器一般采?#8220;x-”开头。调节器可以带有用户参数Q例如上例的“=4”是用户参数Q表C生成的二进制串的长度ؓ4Q如果不?/span>4位,前面自动?/span>0?/span>
调节器的主要功能是在Modify函数中实现的Q在该函C调用outbuf->Emit函数来输出所需要的l果?/span>
要在E序中支持调节器Q还需要调?/span>google::template_modifiers::AddModifier函数dBitStringModifier的实例。如Q?/span>
TAU G2生成的程序至是2个线E:一个是ȝE,是main函数所在的U程Q象环境函数中的xInitEnv和xInEnv都是在主U程中的Q主U程讄断点很容易,只要在启动调试器后,使用Debug菜单中的Toggle Breakpoint(F9)可以了Q因试器默认是把主U程当作当前U程的;另一个线E是UML代码所在的U程Q通常你不需要在生成的UML代码中设|断点,但是xOutEnv在这个线E中Q而且如果在UML代码中调用了C语言的函敎ͼ那么q些C语言的函C在这个线E中Q而在q个U程中如果还是用F9直接讄断点往往不会成功了,E序往往不会停下来而是l箋执行?/p>
要想在xOutEnv或者自q写的C语言函数中设|断点进行调试,可以使用Debug菜单中的Toggle Global Breakpoint(Shift F9)讄全局断点。设|全局断点后,当UML代码所在的U程执行到断点处Q这个线E就会停下来Q此时可以用Debug菜单中的Attach功能Q将当前U程׃U程变ؓUMLU程Q这样就可以单步跟踪调试了。UMLU程在Attach对话框中通常是最后一个线E,默认情况下其名字应该为t1Q但是有的时候线E名会显CZؓq?/p>
Teng | CT++ | CTemplate | |
变量 | 支持 | 支持 | 支持 |
函数 | 支持 | 支持 | 支持QModifierQ?/td> |
包含 | 支持 | 支持 | 支持 |
条g语句 | 支持 | 支持 | 不支?/td> |
循环 | 支持 | 支持 | 支持 |
计算 | 支持 | 不支?/td> | 不支?/td> |
赋?/td> | 支持 | 不支?/td> | 不支?/td> |
注释 | 支持 | 支持 | 支持 |
安全性设?/td> | 不支?/td> | 不支?/td> | 支持 |
用户定义函数 | 不支?/td> | 支持 | 支持 |
最q开始尝试用Doxygen生成E序的文档。程序的源代码采用的是GB2312的格式存储的Q而Doxygen输出的文是UTF-8格式的,出现了ؕ码。虽然Visual Studio 2003支持以UTF-8格式存储源代码,但是要把所有文仉转换担心太麻烦。于是,在配|文件中增加了一行代码:
INPUT_ENCODING = GB2312
q下问题解决了,Doxygen在生成文时自动文件的~码从GB2312转换为UTF-8Q输出就没有q了?/p>