我正在尝试解决我的应用程序在activemq-cpp-3.4.0库中遇到的问题,并且我已经逐行跟踪以查看它出错的地方.应用问题本身与这个问题相关; 我遇到了一些我不理解的代码,我希望有人可以解释发生了什么.
跟踪,我发现以下代码(注意:这在技术上是在apr库中):
alloc_socket(new, cont);
/* For right now, we are not using socket groups. We may later.
* No flags to use when creating a socket, so use 0 for that parameter as well.
*/
(*new)->socketdes = socket(family, type, protocol);
if ((*new)->socketdes == INVALID_SOCKET) {
return apr_get_netos_error();
}
Run Code Online (Sandbox Code Playgroud)
我很困惑alloc_socket(new, cont),但具体来说我对(*新)调用的内容感兴趣.这会分配另一个实例this吗?如果是这样,socketdes通过(*new)再次使用来检查存储的值是否是一个谬论,因为这将创建另一个单独的实例?还是我完全偏离轨道?