我正在尝试将下面的代码从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;
}