我正在使用 gcc 版本 4.6.3(Ubuntu/Linaro 4.6.3-1ubuntu5)在 C++ 中尝试 cgi 编程,当我尝试在我的商业 apache 服务器上运行它时遇到了一个奇怪的错误。
Apache 将在编译后运行它:
#include <cstdio>
// no <iostream>
int main(int c, char **argv)
{
printf("Content-Type: text/html; charset=ISO-8859-1\n\n");
printf("Hello printf\n\n");
return 0;
}
但是,如果包含iostream,服务器会返回 500 错误
#include <cstdio>
#include <iostream> //this will cause a 500 error
int main(int c, char **argv)
{
printf("Content-Type: text/html; charset=ISO-8859-1\n\n");
printf("Hello printf\n\n");
return 0;
}
如果我用 iostream 编译第二个程序,该程序将从命令行完美运行,但如果我上传代码,apache 开始返回 500 错误。
只是为了完整起见,我只使用 cstdio 在 C 和 Free Pascal 以及 C++ 中编译了类似的程序。没问题...
仅当我包含 iostream 时才会出现问题。
注意:我没有忘记更改权限。
注意:我包括了“Content-Type: text/html; charset=ISO-8859-1\n\n”
就像我的服务器不接受用 iostream 编译的东西。
当cstdio没有时,为什么iostream可能会导致此错误,我该如何解决?