在C代码中嵌入汇编代码
在非常看重代码性能的场合,可以通过替换关键过程的代码为汇编代码来提升性能.
GCC支持通过关键字 __asm__来嵌入汇编代码段,当编译器编译到这一段代码时,会直接将__asm__字段内的代码链接到目标中.
汇编代码为什么能提升性能?
事实上并不是汇编代码提升了性能,准确的说法应该是合理的汇编代码提高了性能.
因为C/C++代码在编译时同样会被编译为汇编代码,但是编译器的转换,一般来说都是存在可优化的地步的,人为的重写关键代码段,一般能更合理的安排过程.
asm
用法是
__asm__(
"nop\n\t"
"nop\n\t"
);
汇编代码应当放置在括号的中间 以""为分隔
此处nop意为空等待
示例代码
https://github.com/sliver-chen/codingutil/tree/master/asm