Я хотел бы назвать функцию pow из встроенной сборки. Проблема в том, что я получаю ошибку C2244: «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» при разборке. –
@ schrödingers cat: Когда у вас есть VisualStudio, вы создаете для вас код сборки, он дает вам код сборки, который * он не может собрать *? Это кажется довольно сломанным; Если бы я был вами, я бы сообщил об ошибке. –