小编Nru*_*nga的帖子

DCT 对 -128 到 +127 之间的像素值进行运算

为什么 DCT(离散余弦变换)要在 JPEG 压缩中的像素值 -128 到 127 之间进行操作?

为什么在对图像应用 DCT 之前对像素值进行电平偏移(减去 128)

signal-processing image-processing

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

确定C++中new运算符分配的内存大小

如何确定C++ new运算符分配的内存大小.?

在C中,malloc具有以下语法:

void *malloc(size_t size);
Run Code Online (Sandbox Code Playgroud)

在这里我们知道我们分配的大小.

但是在C++中,我们如何确定在进行内存分配时分配的大小如下所示.我很想知道如何new确定需要分配的大小.

foo *pFoo = new foo();
Run Code Online (Sandbox Code Playgroud)

c++ memory-management

4
推荐指数
1
解决办法
3617
查看次数

无法调试I/DEBUG(187):信号11(SIGSEGV),代码1(SEGV_MAPERR),故障地址00000004

我正在开发一个需要大量内存分配的android应用程序(很多图像缓冲区).我正在使用Android NDK.我遇到了一些奇怪的崩溃.我希望这不会重复发布(在完成之前的帖子之后)

该应用程序崩溃并出现以下错误:I/DEBUG(187):信号11(SIGSEGV),代码1(SEGV_MAPERR),故障地址00000004

  1. 我之前遇到过分段错误并且已经解决了它.

  2. 我很确定我正在正确分配和释放内存,因为我有相同的Windows设置,确认没有内存泄漏,我没有访问任何未分配的位置.(没有derefrencing,没有坏指针).在Windows上进行测试时没有发现内存损坏.

  3. 我还确定JNI调用分配和解除分配在代码中的适当位置.仅在使用完成后才清除内存.

  4. 每次发生崩溃时,Backtrace都会显示不同的API调用,其中发生错误.我已经采取了日志,没有一个指针是null,它们是预期的.

  5. 这种崩溃非常随机发生.偶尔. a.当我在应用程序内很长一段时间. b.当应用程序内部执行大量操作时.但它大部分时间都很好用.

任何人都可以建议我的代码中的内存是如何被破坏的.可能导致这种情况的原因.

android segmentation-fault

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