vs X64汇编 LNK2001: unresolved external symbol mainCRTStartup

本文介绍如何在Visual Studio中设置64位汇编项目并解决常见错误LNK2001。通过调整工程属性指定入口函数,使自定义的汇编程序能够正确运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在vs 下编写64位汇编,新建工程,右键工程名,选择"Build Dependencies" -> "Build Customizations":


勾选 masm:


添加main.asm,敲了一段最简单的代码:

.code
main proc
	ret
main endp

end

直接F5运行(已添加工程右键),恼人的错误:

LNK2001: unresolved external symbol mainCRTStartup


无法解析的外部符号 mainCRTStartup,这是默认的入口函数,它会调用我们写的main函数,但那是C/C++中的main函数,比如void main() { return 0; },编译器找不到此类main函数就会报出上述错误,所以我们需要将入口函数指定为我们自己的main函数(此mian非彼main,你可以改成其他符合标识符规范的任意名字)。

右键工程名,选择最后一项工程属性

Linker -> Advanced ->  Entry Point : main                     名称需要与代码中保持一致。


如无意外,此时可以正常运行了,当然这段代码什么都没做,你也就看不到任何结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值