如何在MASM/ML64中调用与保留字同名的外部函数
MASM/ML64调用与保留字同名外部函数的解决方案
针对add函数的正确写法
如果外部函数实际导出名为_add,需调整指令顺序,先解除保留字限制再定义别名:
option nokeyword: <add> alias <add> = <_add> EXTERN _add:PROC ; 此时可直接用add调用目标函数 call add
如果外部函数的实际导出名就是add(无下划线),无需别名,直接解除保留字后声明即可:
option nokeyword: <add> EXTERN add:PROC call add
注意:ML64默认会给C风格函数名添加下划线,若外部函数未加下划线,可通过OPTION LANGUAGE:C++关闭自动下划线修饰,或匹配外部函数的命名规则。
NASM备选方案
若MASM的配置始终无法生效,转用NASM的写法更简洁直接,无需处理保留字额外配置:
extern add:proc call add
内容的提问来源于stack exchange,提问作者pm100
相关产品推荐
相关产品推荐

