【发布时间】:2013-03-04 02:20:55
【问题描述】:
我在 ubuntu 12.10 上编译失败,可用内存为 300mb(总共 750mb,MySQL 为 350mb),1.5ghz,我正在尝试将 wt 的基本 hello world 文件重新编写为一个简单的 ajax 页面。我很确定这不是内存问题,因为我能够使用 g++ -O3 -o hello hello.C -lwtfcgi -lwt -lboost_signals 编译原始的 hello.C 文件。
我确定我搞砸了 c++,因为我撕掉了 HelloApplication::HelloApplication(const WEnvironment& env)
: WApplication(env) 的内容并放入了 Wt::Json 示例中的示例
HelloApplication::HelloApplication(const WEnvironment& env)
: WApplication(env)
{
Json::Object result;
Json::parse("{ "
" \"a\": \"That's great\", "
" \"b\": true "
"}",
result);
std::cerr << "Size: " << result.size(); << std::endl; // Size: 2
WString s = result.get("a");
bool b = result.get("b");
std::cerr << "a: " << s << ", b: " << b << std::endl; // a: That's great, b: true
}
我是 C++ 新手,所以我几乎不知道自己在做什么。我所能做的就是执行最简单的 c++ 文件。
这是原来的source to the hello world file。
这是我得到the json sample from的地方。
** 影响**
哇,我对 c++ 的威力简直太敬佩了。
这完全摧毁了我的 VPS。我无法重新启动。我什至无法重新安装我的发行版。
当我最终投入生产时,我想我将建立一个完全不同的开发系统,以防止此类事情扼杀我的生产系统。
【问题讨论】:
-
不知道为什么有人对你投了反对票,这似乎是一个好问题。祝你好运……+1。
-
我尝试的第一件事是在 valgrind 下运行程序,看看它是否发现任何内存泄漏。
-
@Voo 谢谢你的新工具! (对我来说是新的)
-
另外,如果使用
g++ -g编译您的程序,您将在二进制文件中内置调试符号。然后你可以在二进制文件上运行gdb来执行一些调试。在这里有用的快速 gdb 命令是r运行程序,bt在遇到任何崩溃或错误后回溯。这应该会为您指出确切的故障点。 -
@Tuxdude 谢谢!今晚我要准备好工具了!
标签: c++ json compiler-errors virtual-memory wt