几天前,我遇到了一个与struct sockaddr_un相关的奇怪错误。可以在此处阅读有关此内容的更多信息。
一段时间后,我也找到了该错误的解决方案,这只是memset 'ing整个变量。现在我的问题是,正如已经在那边的一篇文章中提出的那样,为什么?
为什么我需要将整个本地而不是动态分配的变量设置为 0,即使我已将每个成员设置为合法且正确的值?
在其他struct(例如struct sockaddr_in)中是一个变量,它被用作填充,以便在内部看起来与struct sockaddr相同。您必须用 0 填充(或者也许您不必?请纠正我)该变量,以使程序在任何时候都能正确运行。
另外,我在哪里可以查看像 connect() 这样的源代码?会不会是 connect() 函数没有很好地实现?还是我缺少一些基础知识?
先感谢您。