C 是什么原因造成的;这个项目似乎还没有建成。你想现在建造它吗?”;使用代码块编译时的消息?

C 是什么原因造成的;这个项目似乎还没有建成。你想现在建造它吗?”;使用代码块编译时的消息?,c,codeblocks,C,Codeblocks,我最近安装了Code::Blocks和GCC for C。当我试图编译一个简单的hello world程序时,我收到一条消息说“这个项目似乎还没有构建。你想现在构建它吗?” 但是,当我单击“是”时,框再次出现,我无法出去编译我的代码。如果我单击“否”,我会收到错误消息“进程终止,状态为4258096”。有人知道发生了什么吗?我认为这不是我的代码造成的,但我还是会发布它 void main (void) { printf("hello world"); } void main(){…}是

我最近安装了Code::Blocks和GCC for C。当我试图编译一个简单的hello world程序时,我收到一条消息说“这个项目似乎还没有构建。你想现在构建它吗?”

但是,当我单击“是”时,框再次出现,我无法出去编译我的代码。如果我单击“否”,我会收到错误消息“进程终止,状态为4258096”。有人知道发生了什么吗?我认为这不是我的代码造成的,但我还是会发布它

void main (void) {
    printf("hello world");
}
void main(){…}
错误的,您不应该以这种方式声明主函数。它非常过时,如果您使用任何主要编译器进行编译,那么您几乎肯定需要从主函数返回int

这甚至不是标准,如果你使用的材料表明使用它是有效的,那么就把它扔进垃圾桶

根据该标准,主签名有两个有效签名:

int main(void) {} // Return type of int with no parameters
int main(int argc, char *argv[]) {} // Return type of int with two parameters
在C99和on中,
int main()
可以省略,而不使用return语句,因为默认情况下它返回0

注意:即使编译器允许您使用
void main()
,也应该避免使用它

main(){}
是一个错误,因为C99不允许省略主函数的类型


使用
gcc-v
检查系统上是否正确安装了
gcc
。使用
gcc-Wall-g filename.c

在哪个操作系统上编译文件?为什么不在命令行上使用
gcc-Wall-g yourcode.c-o yourbinary
编译文件?而
void main()是真的
应该避免,目前还不清楚这将如何导致问题中描述的问题。最坏的情况下,我希望这会引发一个警告。这是一个坏习惯,应该指出。它可以根据编译器编译程序,但仍然不应该使用。对于问题中描述的问题,我特别问he已正确安装了
gcc-v
,并使用-Wall选项标志编译程序以发出任何警告消息。
void main()
仅适用于符合要求的实现,对于独立的实现是100%有效的。”在独立的环境中(在这种情况下,C程序的执行可能没有操作系统的任何好处),在程序启动时调用的函数的名称和类型是实现定义的。”请参阅:。与。