阅读:2158回复:17
高分求救!VC编译的问题,很急!!!!
函数KeQueryPerformanceCounter在wdm.h和ntddk.h中声明,若不#include wdm.h或#include ntddk.h,而把那个函数的声明移植到我自己的.h文件中,编译时出现“error LNK2001: unresolved external symbol __imp__KeQueryPerformanceCounter”,我不想包含那两个头文件,该怎么解决啊?很急!!!!
[编辑 - 8/17/04 by zsh_7769] |
|
沙发#
发布于:2004-08-17 08:31
试一试
extern "C" { KeQueryPerformanceCounter(...); } |
|
|
板凳#
发布于:2004-08-17 09:32
declare it by yourself and includelib ntoskrnl.lib
|
|
|
地板#
发布于:2004-08-17 10:01
试一试 编译不过,提示函数未定义以及未定义而导致的相关错误。 |
|
地下室#
发布于:2004-08-17 10:03
declare it by yourself and includelib ntoskrnl.lib 不太明白该怎么实现,能详细一点吗? |
|
5楼#
发布于:2004-08-17 11:02
[quote]试一试 编译不过,提示函数未定义以及未定义而导致的相关错误。 [/quote] 这句叫你自己定义函数KeQueryPerformanceCounter |
|
|
6楼#
发布于:2004-08-17 11:13
怎么那么笨啊,不明白该怎么自己定义函数KeQueryPerformanceCounter,请多多指教!
|
|
7楼#
发布于:2004-08-17 15:50
LARGE_INTEGER
KeQueryPerformanceCounter( OUT PLARGE_INTEGER PerformanceFrequency OPTIONAL ); |
|
|
8楼#
发布于:2004-08-17 15:56
LARGE_INTEGER 我就是这么做的,但编译时出现“error LNK2001: unresolved external symbol __imp__KeQueryPerformanceCounter”,怎么办啦? |
|
9楼#
发布于:2004-08-17 16:12
set-> link 里加入ntoskrnl.lib
|
|
|
10楼#
发布于:2004-08-17 16:21
还是不行,编译不过,出现fatal error LNK1104: cannot open file "ntoskrnl.lib/nologo.obj",还需要设置什么吗?好痛苦!
|
|
11楼#
发布于:2004-08-17 17:33
得把ntoskrnl.lib文件找到,拷到你的工程目录
|
|
|
12楼#
发布于:2004-08-17 17:55
直接拷到我得工程目录吗?还要不要什么设置?我已经拷过去了,但编译还是老样子
|
|
13楼#
发布于:2004-08-17 18:57
直接拷到你的目录.
|
|
14楼#
发布于:2004-08-23 21:48
如果要给PerformanceFrequency赋初值,比如说2000000,但我直接给它赋值(PerformanceFrequency=2000000)好像不行,该怎么赋呢?问题随笨,还请大家多多帮忙!多谢多谢!
|
|
15楼#
发布于:2004-08-23 23:07
PerformanceFrequenc是指针,你给指针赋值
干什么?? _asm { mov eax,2000000 mov PerformanceFrequenc,eax | |
|
|
16楼#
发布于:2004-08-24 10:30
有一位网友提供下面的一段代码用于实现延时,虽然看了msdn,但我还不太清楚函数KeQueryPerformanceCounter该如何使用,直接调用下面的代码就可以了吗?这样做编译不能通过,提示‘应用程序正常初始化失败’,是什么问题呢?请多多帮忙!多谢多谢!很急!!!!
void Delay() { LARGE_INTEGER startime,endtime,freq; unsigned int n_delay=0;//微秒 startime = KeQueryPerformanceCounter(&freq); do{ endtime = KeQueryPerformanceCounter(&freq); n_delay = (endtime.QuadPart - startime.QuadPart)*1000000/freq.QuadPart; }while(n_delay<80); } |
|
17楼#
发布于:2004-08-24 14:50
试试给函数声明加上__stdcall
|
|