在VS2012 x64下编译驱动使用asm关键字的完整方案
以前看雪一篇帖子讲到了用ICC编译器来恢复__asm 本菜倒腾了一会 在VS2012 64位驱动下使用asm关键字,废话少说贴出我的配置1、去Intel官网下载Intel Parallel Studio XE,我下载的是2015版本。
2、安装好Intel Parallel Studio XE 2015后,安装WDK 7600.16385.1(WDK8似乎配置不起来)。
3、大体配置参看http://www.cnblogs.com/quark/archive/2013/05/20/3088974.html 这篇32位的驱动VS2010的配置 将其配置应用到VS2012上
然后注意修改一下几点:
Platform toolset:Intel C++ Compiler XE 15.0
lib目录 C:\WinDDK\7600.16385.1\lib\win7\amd64
附加依赖库 ntoskrnl.lib;hal.lib;ntstrsafe.lib
目标机器 x64
预处理定义 WIN64
_CONSOLE
_AMD64_
_DDK_
_NDEBUG
DBG=0
4、测试
Code:
#include"ntddk.h"
NTSTATUS DriverEntry( PDRIVER_OBJECT DriverObject,PUNICODE_STRING RegistryPath)
{
DbgPrint("HI!!\n");
__asm
{
xor rax,rax
}
return STATUS_SUCCESS;
}
编译成功:)
1>Building with Intel(R) C++ Compiler XE 15.0
1>ClCompile:
1>***** ClCompile (x64 - Intel C++)
1>DriverEntry.c
成功运行在Win7 x64
...亲爱的内联又回来了 可否运行一些比较屌的做示范呢?比如cli hlt intel的c++编译器是支持x64汇编关键字__asm的,但是x64的msvc编译器可以配置一下,然后把需要用的汇编代码单独写成函数的文件,在C语言中进行调用,配置也很简单,网上有不少教程,更改asm文件的属性即可。
页:
[1]