我用 NASM 汇编器编写了一个简单的程序:
global _start ; делаем метку метку _start видимой извне
section .text ; объявление секции кода
_start: ; метка _start - точка входа в программу
mov rax, 40 ; произвольный код возврата - 40
ret ; выход из программы
接下来,我通过编写命令创建了一个目标文件:
nasm -f win64 hello.asm -o hello.o
然后,在应用程序下打开Native Tools Command Prompt for VS 2022
,我写下以下命令来创建可执行文件:
link hello.o /entry:_start /subsystem:console /out:hello2.exe
我收到错误:
Microsoft (R) Incremental Linker Version 14.42.34321.1
Copyright (C) Microsoft Corporation. All rights reserved.
LINK : error LNK2001: неразрешенный внешний символ _start.
hello2.exe : fatal error LNK1120: неразрешенных внешних элементов: 1
如何修复它?
用户@KR对问题LNK 2001 无法解析的外部符号 _mainCRTStartup MASM 的回答的翻译:
其他答案让我感到困惑,所以我将添加我的解决方案。在项目属性中转到:
配置属性>>链接器>>高级
在高级中,顶部应该有一个入口点。进入那里
main
。