intrin.hが存在しない?
投稿者: tkazushi 投稿日時: 木, 2008/12/25 - 11:25
はじめまして
MSDNフォーラムにWindowsDDKのコミュニティがあるとの書き込みを見たので質問させていただきます.
WDKfor Windows Server 2008 - Build 18002を使ってx86上でドライバの開発を行っています.
http://msdn.microsoft.com/ja-jp/library/y55zyfdx(VS.80).aspx
このページで,intrin.hをインクルードすれば__rdmsr()が使用できると書いてあったので,
早速ためしてみたのですが,
\programs\winkvm\kernel\winkvm.c(4) : fatal error C1083: Cannot open include file: 'intrin.h': No such file or directory
となってしまい,ヘッダファイルが取り込めませんでした.
プロトタイプ宣言を自前で宣言してもリンク時にエラーが出ます.
検索すると#pragma intrinsic(__readmsr)という記述がでてきたので,入れてみましたが何も変わりません.
どうやれば使えるようになるのでしょうか?
__readmsr()以外にもintrin.hに含まれている関数を使いたいので,できればインラインアセンブラですべて実装するのは避けたいです.
よろしくお願いいたします.

私もあまり自信がな
私もあまり自信がないので、参考までに。
intrin.hはたぶんVisualStudioに含まれているファイルだと思います。
DDKの中には入ってないんじゃないでしょうか。
そもそもドライバ開発でintrin.hって使えるのかな?
ちゃんと調べた訳じゃないんでわかりませんが。
お返事ありがとうご
お返事ありがとうございます.
intrin.hのなかには多数の特権命令が含まれているようです(__writecr4(), __readmsr()等)
これは明らかにユーザモードでは実行できない命令ですので,カーネルレベルの開発ができるDDK以外に
使いようがないのではと推測しています.
ためしにヘッダファイルをコピーして無理やり使ってみます.