无法将代码从C转换为ASM(未定义的符号)

时间:2016-05-22 09:29:14

标签: c assembly x86-16 dos

我正在尝试将下面的代码从C转换为ASM,因为我在ASM中编写程序时遇到的困难很小。

在DDOSBox中

我使用的命令:tcc -v -S -r- main.c

我收到错误:模块main.c中未定义的符号_initarr

代码:[main.c]

#include <stdio.h>
#include <stdlib.h>

extern int initarr(int** arr, int n,  int (*initfunc)(int));
int getNum(int idx);

int getNum(int idx) { 
return (4*idx);
}

void main()  {
int *arr, i, n, success;
printf("\nPlease enter the array size\n");
scanf("%d",&n);
success = initarr(&arr, n, getNum);   
    if(!success) {
        printf("Memory Allocation Failed\n");
        return;
    } 
printf("\nThe Numbers in the allocated array are:\n");
for(i=0; i<n; i++)   
    printf("%d  ", arr[i]);
return;
} 

0 个答案:

没有答案