我正在编译农场的 GCC119 上工作。该机器是 AIX 7.1、POWER8 和 IBM XLC 13.1。我正在尝试使用调试堆:
gcc119$ cat test.cxx
#include <altivec.h>
#undef vector
#undef pixel
#undef bool
#include <cstdlib>
int main(int argc, char* argv[])
{
unsigned char x[32];
std::memset(x, 0x00, 32);
return 0;
}
编译结果:
gcc119$ xlC -DDEBUG -g3 -O0 -qheapdebug -qro test.cxx -o test.exe
"test.cxx", line 11.3: 1540-0130 (S) "std::_debug_memset" is not declared.
两者都<cstring>
导致<string.h>
错误。我也尝试包含<cstdlib>
and <stdlib.h>
,它们导致了同样的错误。
优化和编程指南手册对调试内存函数进行了很好的讨论,但处理方法仅限于 C。它似乎不处理 C++。
如何在 C++ 程序中使用调试堆?
gcc119$ oslevel -s
7200-00-01-1543
gcc119$ xlC -qversion
IBM XL C/C++ for AIX, V13.1.3 (5725-C72, 5765-J07)
Version: 13.01.0003.0004