Ошибка сборки "unresolved external symbol" при использовании ассемблерной вставки - Assembler
Формулировка задачи:
Помогите пожалуйста исправить 2 ошибки. Очень долго мучаюсь
Error LNK2019 unresolved external symbol _calc referenced in function _main
Error LNK1120 1 unresolved externals
Задание в вложениях
Листинг программы
- #define N 4
- #define _CRT_SECURE_NO_WARNINGS
- #include <conio.h>
- #include <stdio.h>
- extern "C" double calc(double, float, float);
- void main()
- {
- double A[N];
- float C, D;
- printf("Please enter %d elements of array\n", N);
- for (unsigned int i = 0; i < N; ++i) {
- printf("A[%d] = ", i);
- scanf("%lf", &A[i]);
- }
- printf("C = ");
- scanf("%f", &C);
- printf("D = ");
- scanf("%f", &D);
- for (unsigned int i = 0; i < N; ++i) {
- printf("result: ", calc(A[i], C, D));
- printf("\n");
- }
- _getch();
- }
Листинг программы
- .586
- .model flat, c
- .data
- temp1 dd 0
- temp2 dd 0
- temp3 dd 0
- temp4 dd 0
- const1 dd 2.0
- const2 dd 41.0
- const3 dd 1.0
- const4 dd 4.0
- .code
- _calc PROC
- ;a[+12] c[+16] d[+20]
- push ebp
- mov ebp, esp
- finit
- fld dword ptr [ebp+16] ;c
- fcom dword ptr [ebp+20] ;d
- fstsw ax
- sahf
- ja bigger
- ;>
- fld word ptr [ebp+20] ;d
- fdiv word ptr [ebp+16] ;d/c
- fsubr const2 ;41-d/c
- fadd const3 ;41-d/c+1
- fstp temp1
- fld dword ptr [ebp+12] ;a
- fmul dword ptr [ebp+20] ;a*d
- fadd const1 ;a*d+2
- fldln2 ;ln(a*d+2)
- fstp temp2
- fmul dword ptr [ebp+16] ;ln(a*d+2) * c
- fdiv temp1
- jmp next
- ;<=
- bigger:
- fld word ptr [ebp+16] ;c
- fdiv word ptr [ebp+20] ;c/d
- fsub const3 ;c/d-1
- fstp temp3
- fld dword ptr [ebp+20] ;d
- fmul const4 ;4*d
- fsub word ptr [ebp+16] ;4*d-c
- fldlg2 ;lg(4*d-c)
- fstp temp4
- fmul word ptr [ebp+12] ;lg(4*d-c)*a
- fdiv temp3
- next:
- pop ebp
- ret
- _calc ENDP
- END
Решение задачи: «Ошибка сборки "unresolved external symbol" при использовании ассемблерной вставки»
textual
Листинг программы
- _calc PROC a_:REAL8, c_:REAL4, d_:REAL4
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д