使用Eclipse在C中使用malloc()和其他函数

时间:2013-03-06 21:59:38

标签: c eclipse eclipse-plugin eclipse-cdt

这是我第一次使用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()吗?

2 个答案:

答案 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

如果你想要一个完整的解决方案。