私はWin環境が初めてで、WinカーネルAPIを使用するコードを記述しようとしていますが、Ubuntu 10.04では... mingw32(より具体的にはi586-mingw32msvc)を使用しています
私のコード:
#include<ddk/winddk.h>
int main()
{
return 0;
}
しかし、ddk/winddk.h ヘッダーで多くのエラーが発生しています: Compiling as: i586-mingw32msvc-gcc WaitForSingleObj_2.c
すべてのエラーは次のようになります。
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/ddk/winddk.h:9208: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'NTSTATUS'
私はこれに何か欠けていますか?ヘッダー iostream と windows.h でコンパイルしようとしたので、問題なく動作します。
編集:
#include<ntdef.h>
#include<ddk/ntddk.h>
#include<ddk/winddk.h>
#include<ddk/ntddndis.h>
int main()
{
KTIMER *timer;
KeInitializeTimer(timer);
return 0;
}
KTIMERまでは問題ありませんが、新しいエラーが発生しました: /tmp/cc0epAQA.o:WaitForSingleObj_2.c:(.text+0x1d): `_ imp _KeInitializeTimer@4' への未定義の参照 collect2: ld が 1 つの終了ステータスを返しました
plzを含めるヘッダーファイルを教えてください。
編集:[他の人がすでにコメントしていて、私が経験したように(!)Windonwsカーネル開発に他のプラットフォームを使用しないようにしてください]
プロジェクト プロパティから追加のインクルード パスを指定して、Visual C++ Express に切り替え、WDK をダウンロードしました。 1\inc\api;)
しかし(私はこれが嫌いですが!)次のような多くのコンパイルエラーが発生しています
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.h(543): error C2143: syntax error : missing ')' before 'const'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.h(543): error C2143: syntax error : missing '{' before 'const'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.h(543): error C2059: syntax error : ','
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.h(543): error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.h(550): error C2143: syntax error : missing ')' before 'const'
私のコード:
#include <wdm.h>
int mian()
{
/*
* PKTIMER Timer;
*/
}
誰かがアイデアを持っているなら、助けてください!