gpt4 book ai didi

c - undefined variable 错误

转载 作者:太空宇宙 更新时间:2023-11-04 00:55:39 25 4
gpt4 key购买 nike

我是 C 语言编程的新手,我无法理解在尝试编译我的程序时出现的错误。我有以下程序,它相当简单而且我的教授说它是正确的:

#include <stdio.h>
#define TRUE 1
#define FALSE 0
#define BOOL int

extern int x;
extern BOOL do_exp;
int exp_or_log();

main()
{
x = 10;
do_exp = TRUE;
printf("2^%d = %d\n", x, exp_or_log()); //should print 1024

x = 145;
do_exp = FALSE;
printf("log(%d) = %d\n", x, exp_or_log()); //should print 7
}

但是当我尝试编译它时,我得到:

  "_x", referenced from:
_x$non_lazy_ptr in ccWdLlxk.o
"_exp_or_log", referenced from:
_main in ccWdLlxk.o
_main in ccWdLlxk.o
"_do_exp", referenced from:
_do_exp$non_lazy_ptr in ccWdLlxk.o
ld: symbol(s) not found

我什至不知道从哪里开始尝试解决问题。如果任何人有一个有用的解释,或者只是关于我应该看什么来开始解决问题的一般想法,我将非常感激。

最佳答案

xdo_expexp_or_log() 都在另一个文件中定义,我猜是您的教授提供的。您需要与该文件链接在一起。这通常是通过在编译行中添加它的文件名和您的文件名来完成的。

关于c - undefined variable 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3936598/

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