我想从内联汇编中调用pow函数。问题是我收到错误C2244:'pow':无法将函数定义匹配到现有声明。我是装配新手,所以这可能是一个微不足道的问题,但我该如何解决这个问题?我想这与编译器不能正确解决pow的超载有关。以下代码片段导致错误:C2244当试图从内联汇编调用pow函数
do_POW:
// push first argument to the stack
sub esp, size value_type
fld qword ptr [ecx]
fstp qword ptr [esp]
// push second argument to the stack
sub esp, size value_type
fld qword ptr [ecx - size value_type]
fstp qword ptr [esp]
// call the pow function
call pow
sub ecx, size value_type
fstp qword ptr [ecx]
add esp, 2 * size value_type
jmp loop_start
这是我的第一个想法。问题在于VisualStudio在反汇编中只显示“call pow”。 – 2010-05-29 00:48:36
@schrödingerscat:当你有VisualStudio为你生成汇编代码时,它会给你汇编代码*它无法汇编*?这似乎相当破碎;如果我是你,我会报告一个错误。 – 2010-05-29 01:42:26