gpt4 book ai didi

c - C 中 main 方法的多个实例

转载 作者:行者123 更新时间:2023-11-30 18:54:52 27 4
gpt4 key购买 nike

我的作业遇到了问题,但我并不是在寻求帮助来完成作业,只是解决一个问题。

我的代码是这样的:

#include "linux/kernel.h"
#include "linux/unistd.h"
#include <linux/slab.h>

typedef _msg_t msg_t;

struct msg_t { /* members here */ };

static msg_t *bottom = NULL;
static msg_t *top = NULL;

int function_one (argA, argB) {
/* function is working, no need to show code*/
}

int function_two (argA, argB) {
/* function is working, so no need I guess to show the code*/
}

int main(int argc, char ** argv) {
char *in = "This is a testing message";
char msg[50];
int mlen;
function_one(in, strlen(in)+1);
mlen = function_two(msg, 50);
}

问题是:当我从目录执行 make 命令时,出现错误

/home/<username hidden by me>/dm510/linux-3.18.2/arch/um/os-linux/main.c:118: 
multipli definition of 'main'
arch/um/kernel/built-in.o:
/home/<username hidden again>/dm510/linux-3.18.2/arch/um/kernel/file_i_created.c:60
first defined here"

这个错误是什么意思?我只在自己的文件中定义了一次 main 方法

最佳答案

该消息表明您(至少)有两个 C 文件,即 main.c 和 file_i_created.c,它们包含在构建中。两者都有 main() 函数。 (在 C 语言中,该术语是“函数”,而不是“方法”。)删除这些源文件之一,或删除/重命名其中一个文件中的 main() 函数。

关于c - C 中 main 方法的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29343451/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com