第90章 编译器内部函数

编译器内部函数(compiler intrinsic)是与特定编译器有关的函数,并非寻常的库函数。在编译库函数时,编译器会调用(call)这个函数;而在编译内部函数时,编译器会使用对应的机器码进行直译。内部函数通常是与特定CPU特定指令集有关的伪函数。

例如,C/C++语言里没有循环移位运算指令,而多数CPU硬件支持这种指令。为了便于编程人员使用这种指令,MSVC推出了有关的伪函数_rotl() 和_rotr()。在编译这两个函数时,编译器会直接使用x86指令集中ROL/ROR指令的opcode进行替换。

此外,为了方便程序代码调用SSE指令,MSVC还推出了一些内部函数。

如需查询所有的MSVC内部函数,请查阅MSDN网站:http://msdn.microsoft.com/en-us/library/ 26td21ds.aspx