osg*_*sgx 16 gcc c99 built-in memcpy
memcpyGCC中有一个C99/posix 函数版本:__builtin_memcpy.
有时它可以被GCC替换为内联版本的memcpy,在其他情况下,它被替换为调用libc的memcpy.例如,这里注意到:
最后,在编译器注释中,__ builtin_memcpy可以回退到发出memcpy函数调用.
这个选择的逻辑是什么?在其他gcc兼容的编译器中逻辑是否相同,如clang/llvm,intel c ++编译器,PCC,suncc(oracle studio)?
当我更喜欢使用__builtin_memcpy而不是简单的memcpy?