小编mar*_*cot的帖子

yesod在闲置时是否使用处理器?

我使用yesod创建了一个非常简单的应用程序.它并不是很常用,但是当我用htop检查时,它比服务器中的所有其他进程消耗了更多的CPU时间,包括运行时间更长的进程.此外,当我启动该过程时,我发现即使没有发出请求(大多数情况下没有发出请求),它的处理器使用时间也会不断增加.使用yesod应用程序这是常见的还是预期的?

haskell yesod

13
推荐指数
1
解决办法
302
查看次数

如果仍有可达的alloc,如何使valgrind报告错误

我正在编写一个生成C代码的编译器.生成的程序只包含main函数,它们使用大量内存,用malloc()分配.分配的大部分内存仅用于程序的一小部分,我认为在使用后释放它是个好主意,因为它不会再被使用.我很高兴,如果valgrind会向我报告在程序结束时内存不是free()d,即仍然可以访问的内存.我在Makefile中使用带有--error-exitcode = 1的valgrind来自动检查这种问题.

问题是:有没有办法让valgrind退出1,以防仍有可达的分配?

c free valgrind exit-code exit

5
推荐指数
1
解决办法
1122
查看次数

C++中的构造函数执行顺序

#include <cstdio>

struct A {
  int a;
  A() {
    a = 2;
    printf("Default\n");
  }
  A(int b_) {
    a = 1;
    if(b_ == 10) {
      A();
    }
  }
};

int main(int argc, char **argv) {
  A a(10);
  printf("a=%d\n", a.a);
  A b(11);
  printf("b=%d\n", b.a);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

这打印:

Default
a=1
b=1
Run Code Online (Sandbox Code Playgroud)

也就是说,它在b_ == 10时进入默认构造函数,但在不是时则进入默认构造函数.但它不会更改aa中的值,即使它进入Default构造函数.

为什么?

c++ constructor

1
推荐指数
2
解决办法
362
查看次数

标签 统计

c ×1

c++ ×1

constructor ×1

exit ×1

exit-code ×1

free ×1

haskell ×1

valgrind ×1

yesod ×1