-1

我正在做一个项目,我有一个 C 程序,其中代码超过 3000 行,需要大量时间才能完成。我需要将其划分为函数以获得更快的结果。

有没有一种快速的方法或某种方法可以用来帮助我将函数制作成很长的 C 代码?还是我必须手动完成所有功能的代码?

例如这段代码和很多很多喜欢它。

addr_len = sizeof their_addr;
if ((numbytes = recvfrom(sockfd, ubuf, 6 , 0,(struct sockaddr *)&their_addr, &addr_len)) == -1) 
{
    perror("recvfrom");
    //exit(1);
}

inet_ntop(their_addr.ss_family,get_in_addr((struct sockaddr *)&their_addr),s, sizeof s);

//printf("listener: packet is %d bytes long\n", numbytes);

ubuf[numbytes] = '\0';
printf("listener: packet contains \"%s\"\n", ubuf);
4

2 回答 2

2

据我所知,没有自动化的方法可以实现这一点。您需要手动执行此操作。

于 2013-03-27T09:17:57.033 回答
2

3000 行代码不算多……但对于单个函数来说却是很多代码。虽然这可能不会对性能产生影响,但您应该拆分代码以提高可读性/维护性并避免重复代码。

如果您认为您的代码花费的时间太长,则无法查看需要花费的时间,但请注意,例如,在您发布的示例中,您使用可能是阻塞函数的 recvfrom (这没有错,但如果您需要等待对于传入的数据,您的程序显然将需要该数据到达所需的时间)。

于 2013-03-27T09:22:56.543 回答