Ошибка сборки "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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5
Похожие ответы