我正在开发一个项目,我有一个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);
答案 0 :(得分:2)
就我的知识而言,没有自动化的方法来实现这一目标。您需要手动执行此操作。
答案 1 :(得分:2)
3000行不是很多代码......但是单个函数的代码很多。虽然这可能不会对性能产生影响,但您应该将代码拆分为可读性/维护并避免重复代码。
如果您认为您的代码花了太长的时间来查看花时间,但请注意,例如,在您发布的示例中,您使用了recvfrom,这可能是一个阻塞函数(没有错,但是如果你需要等待您的程序显然需要的传入数据,只要该数据到达需要它。