1

这是我第一次使用 Eclipse 编写 C 代码,所以答案可能很简单。我还认为 Eclipse 已经设置为可以适当地编译、构建和链接。这是在 Windows 7 64 位机器上运行的。

在我的 C 代码中,似乎每当我使用malloc()orprintf()函数时,它都会在其下方放置红色波浪线。只是函数带有下划线,而不是转换甚至参数。

这是代码行:

#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()吗?

4

2 回答 2

2

你没有提供足够的信息。您需要提供一个完整的程序,包括malloc无法编译的程序,无论多么小。您还需要给出您得到的编译器错误,以及问题是仅与标准库函数有关malloc还是所有标准库函数。

猜测一下,您的编译器软件没有正确安装并且找不到stdlib.h.

正如您现在添加的那样,没有标准库函数可以工作,您的编译器设置肯定存在问题(这与 无关malloc)。

于 2013-03-06T22:47:01.227 回答
1

根据 clang 和 cc 编译器,您的代码没问题,它可以在 Eclipse Juno 中编译:

Building target: code
Invoking: GCC C Linker
gcc  -o "code"  ./code.o   
Finished building target: code

我想你可以看看这个问题

Eclipse CDT 用于 C 标准库头文件的“未解决的包含”错误

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

于 2013-03-07T03:55:22.930 回答