当我尝试在这段代码上使用GNU缩进时:
tree_node_s *t = GC_MALLOC_ATOMIC (sizeof (tree_node_s));
*t = (tree_node_s){.val = n,.h = 0};
我明白了:
tree_node_s *t = GC_MALLOC_ATOMIC (sizeof (tree_node_s));
*t = (tree_node_s)
{
.val = n,.h = 0};
现在显然,这看起来非常糟糕,并不是一个结构文字。我只将默认选项传递给GNU缩进(意味着是GNU样式)。有没有我可以传递给它的选项,以便以一种看起来不那么可怕的方式处理这种情况?
答案 0 :(得分:1)
它至少在2.2.11中有所作为,但在块外的复合语句中可能存在另一个问题(请查看bugzilla链接)。如果您使用的是旧版本,则可以升级并重试。
只是一个建议。
答案 1 :(得分:-1)
如果'tree_node_s'不止一个内部变量(如int,char等),那么发布的代码将无法正常工作
这是因为从结构中分配结构仅在创建接收结构时有效。在已发布的代码中,已经创建了接收结构,因此不会执行正确的分配。
建议:
imp.find_module('XX')
也许不那么优雅,但非常可靠。