如果有人可以向我解释编译所涉及的整个过程以及链接器的功能(所有这些“编程后台工作”),这可以让我实现整个方案。会很感激的。
错误是“未定义对 menu() 的引用”
我在 Linux 上并使用代码块在 C 中编程。所有文件都在同一个文件夹中。
我现在有 3 个文件:
maintest.c
#include <stdio.h>
#include "biblioteca.h"
int main() {
menu(2, "opçao 1", "opçao 2");
}
文献资料库
#ifndef _BIBLIOTECA_H_
#define _BIBLIOTECA_H_
#define null '\0'
typedef enum { false, true } boolean;
typedef unsigned short uint;
typedef char* string;
void menu(int count, ...);
#endif
书目.c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>
#include "biblioteca.h"
void menu(int count, ...) {
va_list listPointer;
va_start(listPointer, count);
for(int i = 1; i <= count; i++) {
char *string = va_arg(listPointer, char*);
line(1, 1);;
printf("%d ..... %s", i < count ? i : 0 , string);
}
va_end(listPointer);
}
如果有人可以试一试并向我解释发生了什么以及为什么文件没有相互链接,我将不胜感激。