1 recvfrom陷阱:
记得以前学习网络的时候,每次发送和接收的包的大小最大不超过1500,数据部分最大不超过1460,而以前的我对书本知识总是念念不忘,觉得这是定律,当在写了一个udp broadcast程序后,发现广播出去后,接收的包的大小有的一次可接收超过1500的大小,也就是对方并没有对包进行分组发送,那么我接收的时候也不需要分组接收,而是一次性将一个比较大的包接收过来,recvfrom的参数buff的length最好设置为2000(也可通过抓包软件抓包来判断好包的大小后,再进行重新调整),以防止出现类似的问题 ~~~
2 访问性:
类内部公有的enum变量可以在外面直接通过”类名::enum“访问。
3.MFC注意事项:
GUIToolkit一个mfc的扩展部分,抽时间看一下用用 。。。
4. std::string陷阱:
看如下代码:
程序存在内存泄露,原因是string对象释放,导致test函数中ppp指向
不稳定导致内存无法释放或出现其他堆损坏等不稳定因素,这个稳定真恶心。
5.某些对象内部如果有堆内存需要释放,最好定义该对象为指向对象的指针,
然后通过delete提前释放或者通过调用释放函数提前释放。代码示例如下:
6.EnterCriticalSection和LeaveCriticalSection中的临界区,一次只能被
一个线程访问!!!
7.
使用vc6.0时遇到的一个问题:
在debug模式下使用用户自定义消息所对应的函数可以有参数WPARAM wParam, LPARAM lParam,也可以没有,
但是在release模式就很在意这件事情了,必须对应才行,同样系统对应函数也是这样的,如ON_COMMAND对应的函数就
必须不带参数列表 ,否则会出现意外的内存访问出错,而且你根本无法定位问题的位置 。。。