哪种方法可以比其他方法更快地调用本机API?

时间:2011-05-14 06:14:28

标签: winapi visual-c++ c++-cli

假设我有三段代码可以调用本机Win API,如下所示:

1)编译模式:/clr

#pragma unmanaged
void finc(){
::MessageBox(NULL, "Hi all", "Win32 Message Box",0);
}
#pragma managed

2)编译模式:/clr:safe

[DllImport("user32.dll", CharSet=CharSet::Auto)]
int MessageBox(IntPtr, String^ text, String^ caption, unsigned int type);
int main(){
MessageBox(IntPtr::Zero, "Hi all", "Win32 Message Box",0);
}

3)编译模式:/clr

void finc(){
::MessageBox(NULL, "Hi all", "Win32 Message Box",0);
}

哪些代码可以在调用Win API函数时提供最佳性能(最快),以及why

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

通过分析测试它。调用方法100k次,计时并打印每次测试的数字。