在汇编中如何使用C函数?

fhw217 2016-08-28 02:33:16
我用的是VS2015进行汇编,出现链接错误:

1>Hello.obj : error LNK2019: 无法解析的外部符号 __getch,该符号在函数 _start@0 中被引用
1>D:\MYPRJ\ASM\Hello\Debug\Hello.exe : fatal error LNK1120: 1 个无法解析的外部命令


下面是源代码:

.386
.model flat, stdcall
option casemap:none

includelib msvcrt.lib

_getch proto C

.data

.code

start proc

invoke _getch
ret

start endp
end start
...全文
131 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fhw217 2016-08-29
  • 打赏
  • 举报
回复
解决了,要用 includelib UCRT.LIB, VS2015 的一些C函数发生了改变,比如 printf,实际调用的是 __stdio_common_vfprintf,printf 只是一个内联函数名。
  • 打赏
  • 举报
回复
应该是INCLUDE、LIB环境变量没有设置(或者设置不对)的缘故,我用VC++ 2013中的ml 12.00.21005.1测试汇编你的程序是没有问题的

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧