我在看一些C代码,注意到它充满了这些花括号,围绕着没有任何控制 struct 的代码块.看一看:
//do some stuff . . .
fprintf(stderr, "%.2f sec\n", (float)(clock() - t) / CLOCKS_PER_SEC);
{
//a block! why not?
char *tmp_argv[3];
tmp_argv[0] = argv[0]; tmp_argv[1] = str; tmp_argv[2] = prefix;
t = clock();
fprintf(stderr, "[bwa_index] Convert nucleotide PAC to color PAC... ");
bwa_pac2cspac(3, tmp_argv);
fprintf(stderr, "%.2f sec\n", (float)(clock() - t) / CLOCKS_PER_SEC);
}
为什么要在代码中插入这样的块?里面塞满了.有什么性能优势吗?一些神秘的东西?为什么?
edit: 这段代码来自BWA,这是一个生物信息学程序,使用Burrows-Wheeler transform将小序列与大参考序列对齐,以防你们中的任何人感到疑惑.这个代码示例与应用程序的功能不是特别相关.