You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将ML.exe生成的asmtest.obj与MSBuild输出的driver.sys进行链接?

解决MSBuild驱动项目中汇编文件的编译与链接问题

方案1:让MSBuild自动编译并链接汇编文件

直接把你的asmtest.asm加入驱动项目,修改vcxproj文件添加MASM编译规则:

<ItemGroup>
  <!-- 替换为你的汇编文件路径 -->
  <MASM Include="asmtest.asm" />
</ItemGroup>

MSBuild会根据目标架构(x86/x64)自动调用对应汇编器(ML.exe/ML64.exe)生成obj文件,并将其自动加入链接环节,最终合并到driver.sys中。

方案2:手动编译汇编后链接obj文件

如果已经用ML.exe生成了asmtest.obj,只需把该obj文件加入MSBuild的链接输入列表:

<ItemGroup>
  <!-- 填写asmtest.obj的绝对路径或相对项目目录的路径 -->
  <Link Include="asmtest.obj" />
</ItemGroup>

MSBuild在链接驱动时会自动将这个obj和其他编译生成的obj一起打包成最终的sys文件。

关键注意事项

  • 汇编器版本要匹配驱动架构:x86驱动用ML.exe,x64驱动必须用ML64.exe,否则obj架构不兼容会导致链接失败。
  • 手动编译汇编的命令示例:
    • x86驱动:ml /c /coff asmtest.asm
    • x64驱动:ml64 /c asmtest.asm
  • 检查驱动项目链接器配置:确认入口点(如DriverEntry)、子系统设置为Windows Driver,避免因配置不兼容导致链接错误。

内容的提问来源于stack exchange,提问作者trapstar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 09:33:11