인라인 어셈블리에서 pow 함수를 호출하고 싶습니다. 문제는 내가 C2244 오류가 발생했습니다 : '펑': 기존 선언에 함수 정의를 일치시킬 수 없습니다. 나는 이것이 사소한 질문일지도 모를 새로운 어셈블리이지만 어떻게 해결할 수 있습니까? 나는 그것이 pow의 과부하를 적절하게 해결할 수없는 컴파일러와 관련이 있다고 생각한다. 다음 코드 단편은 오류의 원인입니다.인라인 어셈블리에서 pow 함수를 호출 할 때 C2244
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에서 어셈블리 코드를 생성하면 * 어셈블 할 수없는 어셈블리 코드가 생깁니다. 그것은 오히려 부서진 것처럼 보입니다. 내가 너라면 버그를 신고 할거야. –