现在的位置: 首页 > 综合 > 正文

problem log

2013年12月09日 ⁄ 综合 ⁄ 共 1084字 ⁄ 字号 评论关闭

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对应的函数就

必须不带参数列表 ,否则会出现意外的内存访问出错,而且你根本无法定位问题的位置 。。。

 

抱歉!评论已关闭.