这是我第一次使用Eclipse编写C代码,所以答案可能非常简单。我还想知道Eclipse已经设置好适当的编译,构建和链接。这是在Windows 7 64位计算机上运行的。
在我的C代码中,似乎无论何时我使用malloc()
甚至printf()
函数,它都会在它下方放置红色波浪线。只是函数有下划线,而不是转换甚至是参数。
以下是代码行:
#include <stdlib.h>
#include <stdio.h>
int* list; //This is a global variable
int main(){
//...inside a function
list = (int*) malloc( sizeof(int) ); // Out of this line, only the word "malloc" is underlined in red.
printf(""); //printf also gives me an error
return 0;
}
当我将鼠标悬停在错误上时,它会显示以下内容:
无法解析函数'malloc'。
我甚至使用malloc()
吗?
答案 0 :(得分:2)
您还没有提供足够的信息。您需要提供一个完整的程序,包括malloc
,无论多么小,都无法编译。您还需要提供编译器错误,以及问题是仅使用malloc
还是所有标准库函数。
猜测,您的编译器软件没有正确安装,无法找到stdlib.h
。
正如您现在已经补充说,没有标准库函数可以正常运行,但编译器设置肯定存在问题(这与malloc
无关。)
答案 1 :(得分:1)
根据clang和cc编译器,你的代码没问题,它在Eclipse Juno中编译:
Building target: code
Invoking: GCC C Linker
gcc -o "code" ./code.o
Finished building target: code
我想你可以看一下这个问题
"Unresolved inclusion" error with Eclipse CDT for C standard library headers
如果你想要一个完整的解决方案。