我有以下代码,它比inet_addr快约7倍。我想知道是否有办法改进它以使其更快,或者是否存在更快的替代方案。这段代码要求提供一个有效的,以空值终止的IPv4地址,且不带空格,在我看来,这总是这样,因此我针对这种情况进行了优化。通常,您会进行更多的错误检查,但是如果有一种方法可以使以下操作更快,或者存在更快的替代方法,我将不胜感激。UINT32 GetIP(const char *p){ UINT32 dwIP=0,dwIP_Part=0; while(true) { if(p[0] == 0) { dwIP = (dwIP << 8) | dwIP_Part; break; } if(p[0]=='.') { dwIP = (dwIP << 8) | dwIP_Part; dwIP_Part = 0; p++; } dwIP_Part = (dwIP_Part*10)+(p[0]-'0'); p++; } return dwIP;}
3 回答
- 3 回答
- 0 关注
- 712 浏览
添加回答
举报
0/150
提交
取消