小编bat*_*ncn的帖子

令牌混淆

所有

我的代码是这样的:

#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)

所以我不知道我的代码有什么问题.谢谢您的帮助.

c macros

4
推荐指数
1
解决办法
43
查看次数

TCP和UNIX套接字之间有区别吗?

对于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)

python unix sockets tcp

0
推荐指数
1
解决办法
799
查看次数

标签 统计

c ×1

macros ×1

python ×1

sockets ×1

tcp ×1

unix ×1