摘要: 具体的包分析,可以参考我在项目中写的这个头文件:/** EAP 标志 **/ #define OFFSET_EAP_TYPE 0x12 //EAP包类型标志在包内的偏移地址 #define EAP_REQUEST 0x01 #define EAP_REPLY 0x02 #define EAP_SUCCESS 0x03 #define EAP_FAILURE 0x04 //EAP请求 #define OFFSET_REQUEST_TYPE 0x16 #define REQUEST_IDENTITY 0x01 //请求用户名 #define REQUEST_PASSWORD 0x99 //请求密码 阅读全文
posted @ 2011-03-09 22:19 Ethan.Tang 阅读(276) 评论(0) 推荐(1) 编辑
摘要: 大家都知道团队项目中常常要使用版本控制系统来对代码进行版本管理和对多人协作。不过有时候个人项目也需要版本控制。去年暑假的时候,记得我当时在为我所在学校的linux用户编写一个802.1x协议认证客户端,很快问题来了,因为是初次做像样一点的东西,在软件界面等方面又有比较多的要求,经常发现各种各样的bug,于是三天之后,我建立了一个日志文件来记录各种修改、各种问题和一些编写过程中产生的想法,但是这种方... 阅读全文
posted @ 2011-03-09 20:51 Ethan.Tang 阅读(1725) 评论(0) 推荐(1) 编辑
摘要: 在Qt中,undefined reference to ‘vtable for 通常出现在打开了宏 Q_OBJECT的程式当中。我遇到的情况是:将类体及类体实现直接写到main.cpp里,没有包含 moc文件。这是一种常见的C++错误,通常就是类体中声明的虚函数没有找到实体。有时候你会说,我没有声明虚函数啊,怎么出来的? 那么建议你 Ctrl+左键追踪一下Q_OBJECT这个宏,这个宏其实默认给你的类加入了一些虚函数的声明(关于signal-slot实现的关键设施),而其实现实在moc_xx.cpp中自动生成的,如果你的编译过程没有产生这个文件,或者产生的这个文件没有参与到编译链接中去,那么就 阅读全文
posted @ 2011-03-09 20:42 Ethan.Tang 阅读(22184) 评论(0) 推荐(0) 编辑
摘要: Qt下静态编译Qt,根据我的经验,如果按照Windows下那种直接拿官方sdk安装之后的文件来编译是行不通的,需要直接下载Qt的source包,目前诺基亚的源码叫做qt-everywhere-opensource-src的tar包,到网上一查,乖乖,大部分人编译这个包居然花费了12~13个小时!但是,根据我在Windows下静态编译Qt的经验,其实这之中很多东西都是可以不用编译的,最终我大约用了40分钟编译完成了全部内容。如果你直接使用官方的sdk安装,那么你就已经有了一个动态库,现在你又通过源码包编译,那么只要编译出静态库,因为你已经有动态库,你甚至只需要编译静态release库就足够了,谁 阅读全文
posted @ 2011-03-09 20:05 Ethan.Tang 阅读(9982) 评论(1) 推荐(0) 编辑
摘要: 从2月15号提前回校做linux联创客户端,到现在已经过去了三个星期。或者本来我只是想要把去年暑假的版本重新实现而已,但是很快发现,联创的802.1x协议其实不仅仅是前辈们分析出的那么多,协议的设计已经足以极大地简化程序的设计,并且也可以轻易的分辨出各种情况。为了得到这个结果,我大概花了两天的时间,然后又进行重新设计。虽说寒假时写了扫雷和连连看两个小程序,现在对Qt比较熟练了,不过因为要涉及到可读... 阅读全文
posted @ 2011-03-08 23:27 Ethan.Tang 阅读(328) 评论(0) 推荐(0) 编辑