【发布时间】:2013-03-29 16:23:49
【问题描述】:
我正在尝试理解其他人编写的 C 代码,但遇到了一段我不理解所有语法的代码,而我不理解的部分我不知道如何搜索。我将不胜感激有关如何搜索此内容和我可能遇到的其他类似事物的解释或信息,或两者兼而有之。有问题的代码是以下行:
int r = uv_listen((uv_stream_t*) &server, 128, on_new_connection);
我知道 r 是一个变量,它被声明并初始化为函数“uv_listen()”返回的值,128 是一个字面 int 参数,on_new_connection 必须是一个函数指针,因为这是一个调用的回调函数。 server 是一个自定义类型的变量(uv_tcp_t),带有 & 是指服务器的地址。我不明白的是“(uv_stream_t *)&server”。看起来这是函数的参数之一。我可以理解返回值作为参数的函数调用,但这看起来不像函数调用。 “uv_stream_t”是在他们的代码中定义的另一种自定义类型。
我不知道它是否有助于理解它的含义,但代码行来自编写的示例代码,以帮助理解如何使用 libuv。
【问题讨论】: