有一条很有前途的路线:
允许在MinGW上使用地址消毒剂和未定义的行为消毒剂。
然而,我想不出如何正确地使用这些。
我用的是Clang8.0.0和MSYS2 MinGW GCC。确切的细节在问题的底部。
我试图编译以下最小的代码:
1.cpp
#include <iostream>
int main()
{
// Testing ubsan
int x = 0x7fffffff;
x++;
std::cout << x << std::endl;
// Testing asan
int
我是C++的新手,这两天我遇到了一个很大的问题。我正在尝试使用POSIX线程进行多线程渲染(光线投射、多重采样、环境遮挡),每次我运行该程序时,它都会消耗大约5 5GB的RAM (在线程开始后),直到终止。所以很明显我有一个内存泄漏。我的工作线程是这样工作的:
struct Job
{
AOSampler sampler;
Ray ray;
bool abool;
int someint;
.
.
//no pointers here
};
//global
//use of C++ STL list
list<Job*> *