关于VC高效函数调用的问题
1、纯C/C++代码如果同时用inline __fastcall 修饰,是否管用,是否比单独的inline和__fastcall要稍微的高效和快速些?2、内嵌汇编的naked函数是否能用inline __fastcall修饰,有效果么? 我觉得如果使用inline关键字,就没有必要在使用__fastcall了。 o
一堆naked汇编再加快速度
怎么做? 估计这得取决于编译器的智能程度。
inline 修饰符并非强制性的:编译器有可能会置之不理。
比方说,递归函数通常不会被编译成 inline。
编译器 有权自行决定是否要定义成 inline 的函数编译成 inline。
我的做法是:不直接指定哪个函数是 inline,但编译选项中含 /Ob2,让编译器自己决定去。
还有一种做法是设定:#pragma auto_inline( [{on | off}] ) 这里还掺和了内嵌汇编的函数!!!
要高效的汇编
但不知道,汇编函数会自动展开么? 纯汇编的函数不会展开的(除非在代码生成的时候在作展开,可能性很小)。
不过如果将汇编嵌入到一个c函数里面,那么这个c函数还是可能被展开的。
只要你使用了汇编,通常会阻止编译器的优化。所以不是十分必要,不要用嵌入汇编。而且即使使用了,也要非常小心 呵呵
我昨天测试的汇编和非汇编的差距很小
但,都不是你原始的带除法版本
另外, P4 2.0级的时间是810秒 810秒是什么时间,完全处理一个文件?怎么这么慢,是不是你处理的流程不对?
我这里通常是150秒左右。慢一点的机器也就200多秒呀
页:
[1]