c – 如何在RHEL/GCC下实现ntoh功能?

前端之家收集整理的这篇文章主要介绍了c – 如何在RHEL/GCC下实现ntoh功能?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
生产问题导致我们的团队遇到以下问题:

>在使用GCC 4.4.6的RHEL6下,如何实现ntoh和ntohl?
>已知的实现是快还是慢?
>我如何实际看到生成函数汇编代码

我知道问题背后的含义可能看起来很牵强和荒谬,但我被要求调查.

有问题的硬件是英特尔盒子,小端,64位处理器,并以64位编译.

解决方法

>它们由glibc而不是GCC提供,在/usr/include/bits/byteswap.h中查找__bswap_16和__bswap_32函数,这些函数在启用优化时使用(有关详细信息,请参阅< netinet / in.h>怎么样.)
>你没有说你正在使用什么样的架构,在大端系统上它们是无操作的,所以最快速!在little-endian上,它们是特定于架构的手动优化汇编代码.
>使用GCC的-save-temps选项保留中间.s文件,或者在编译之后和汇编代码之前使用-S停止,或者使用 http://gcc.godbolt.org/

猜你在找的C&C++相关文章