我是新来的。这是我的问题:
我在配备Intel Atom CPU N550,1.50GHz和2GB RAM的Windows 7 Home Premium 32位上网本上安装了MinGW。
现在我创建了一个名为hello.h的文件,并尝试使用以下命令通过CMD编译它: “gcc c:\ workspace \ c \ helloworld \ hello.h -o out.exe”
它编译时没有错误,但是当我尝试运行out.exe时,它会出现以下错误: “程序太大而无法记忆”
我检查过的事情:
我真的很感激,如果有人能弄明白,问题是什么。顺便说一下,这是我的hello.h:
#include <stdio.h>
int main(void){
printf("Hello, World\n");
}
......就是这样。谢谢你的回复。 干杯,鲍里斯
答案 0 :(得分:2)
只需将文件重命名为hello.c
.h文件是C编程中的标题,你应该在其中添加一些签名,你的方法正文应该在.c文件中
答案 1 :(得分:2)
默认情况下,扩展名为.h
的文件被GCC视为标题文件。通常,头文件不应该直接送到编译器。它们应该#include
到实现文件中。
但是,GCC在看到直接向其提供头文件时会实现特殊功能。在命令行中指定.h
文件会使GCC将其解释为为该.h
文件生成预编译头文件的请求。通过使用-o
选项,您强制编译器为结果预编译的头文件指定一个特定的名称out.exe
。
然而,结果文件不是可执行文件,它是预编译的头文件。您可以在十六进制编辑器中打开它,看到它以gpch
开头,.exe
是GCC的预编译器头签名。任何尝试&#34;执行&#34;该文件将导致无意义的结果。 (这基本上就像尝试将完全随机的文件重命名为{{1}}扩展名,然后&#34;运行&#34;它。)
答案 2 :(得分:0)