所有
我的代码是这样的:
#define TTP_ROUTE_TABLE_ENTRY_INC(table) \
static inline void \
ttp_route_##table_inc(void) \
{ \
cur_l3_##table_table_entries++; \
}
TTP_ROUTE_TABLE_ENTRY_INC(ipv4_host)
TTP_ROUTE_TABLE_ENTRY_INC(ipv4_route)
TTP_ROUTE_TABLE_ENTRY_INC(ipv6_host)
TTP_ROUTE_TABLE_ENTRY_INC(ipv6_route)
#undef TTP_ROUTE_TABLE_ENTRY_INC
Run Code Online (Sandbox Code Playgroud)
但是gcc警告:
lib/ttp-route-table.c:130:1: error: redefinition of 'ttp_route_table_inc'
Run Code Online (Sandbox Code Playgroud)
所以我认为GCC预处理## table into table,实际上我想要
TTP_ROUTE_TABLE_ENTRY_INC(ipv4_host)
Run Code Online (Sandbox Code Playgroud)
将翻译成这个:
static inline void \
ttp_route_ipv4_host_inc(void) \
{ \
cur_l3_ipv4_host_table_entries++; \
}
Run Code Online (Sandbox Code Playgroud)
所以我不知道我的代码有什么问题.谢谢您的帮助.
对于TCP套接字,许多客户端可以连接它并发送数据并关闭。但是对于UNIX套接字,如果客户端关闭套接字,则服务器端也会关闭。是吗?
但我认为TCP也具有STOP状态。
这是我的python UNIX套接字代码:
sock_file = "%s_%d.sock" % (sock_name, port)
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
sock.bind(sock_file)
sock.listen(1)
Run Code Online (Sandbox Code Playgroud)