jjzjj

aligned_malloc

全部标签

安卓 : Alignment bug in making/showing 9patch image

九补丁:截图:布局XML:期望的结果:“edit_tray”表示可切换的UI元素。当编辑模式关闭时,“edit_tray”(以及垃圾桶图标)“消失”了。当编辑模式打开时,“edit_tray”可见并覆盖在ScrollView内容上。垃圾桶图标有两个元素:图标本身和它后面的线性渐变。NinePatch图像包含三个可拉伸(stretch)区域和一个静态区域以容纳这些元素。图形中间的垃圾桶图标是静态的,应该直接出现在屏幕的水平中心和底部。渐变应在屏幕底部从一侧延伸到另一侧。错误?NinePatch图像在图像的两侧水平方向仅包含一个像素的可拉伸(stretch)区域。其效果应该是垃圾桶图标直接

c++ - C++ 中的 Malloc 函数

我正在从C过渡到C++。在C++中,malloc函数有什么用吗?或者我可以只用“new”关键字声明它吗?例如:classNode{...}...Node*node1=malloc(sizeof(Node));//mallocNode*node2=newNode;//new我应该使用哪个? 最佳答案 使用new.您不需要使用malloc在C++程序中,除非它与某些C代码交互,或者您有某种理由以特殊方式管理内存。你的例子node=malloc(sizeof(Node))是个坏主意,因为Node的构造函数(如果存在)将不会被调用,随后的d

c++ - malloc_info() 是如何工作的?

我一直在努力弄清楚位于malloc.h中的malloc_info()函数是如何工作的。我知道您必须向它传递一个FILE*并且还没有实现任何选项,但我不知道它实际报告了什么!?此外,我编写了一个分配一大堆内存的测试应用程序,并且从malloc_info()报告的值不会改变,除非我进行了20,000次1字节分配?有没有人对malloc_info()有任何经验并且可以阐明它应该测量内存的哪些方面?应该注意的是,我在谷歌上几乎找不到任何关于malloc_info()的信息,只有一些粗略的错误报告。malloc_info()的示例输出:编辑:作为进一步的解释;我的后备位置是mallinfo()函

c++ - 为什么 std::aligned_storage 的分配总是有一个偏移量?

分配std::aligned_storage::type时在堆上,我总是得到一个偏移16个字节的指针(在x64上;在x86上它偏移8个字节)。换句话说,这:#include#includeintmain(){typedefstd::aligned_storage::typeMemPage;MemPage*p_mp=newMemPage;std::cout给我(例如)0x72f010尽管我希望最后三位数字全部为零。分配std::aligned_storage::type时在堆栈上,一切都按预期工作。我在ubuntu14.04上使用gcc-4.8.2x86_64。

c++ - 编译器找不到 "aligned_alloc"函数

尝试获得一个可移植的函数以在具有对齐特征的堆上进行分配。找到“aligned_alloc”,我认为它在stdlib.h中,但gcc似乎不这么认为error:'aligned_alloc'wasnotdeclaredinthisscope使用带有标志-std=c++11-m64的gcc尝试导入#include#include 最佳答案 aligned_alloc在C11中定义。它(还)没有为C++定义,尽管它可能会出现在C++17中。(也就是说,它不在标准C库中预期在标准C++库中可用的(当前)209个函数列表中。请参阅C++标准的附

c++ - 等价于 C 中的 std::aligned_storage<>?

在C语言中,有没有一种方法可以使堆栈上的存储过度对齐(即比从类型系统推断出的对齐更多)?对于动态分配的内存中的变量,如果所有其他方法都失败了,我们总是可以手动对齐,但是对于自动分配的内存中的变量可以做什么呢?我想可以使用char[size+alignment-1]然后总是使用位操作来访问变量,但这似乎比必要的“有点”暗淡(harharhar;)). 最佳答案 在C2011中,有_Alignas和_Alignof关键字,标题这使得它们的使用稍微不那么难看,类型max_align_t(在中)。例如,你可以写double_Alignas(

c++ - 'malloc' 和 'new' 是如何工作的?它们有何不同(实现方面)?

这个问题在这里已经有了答案:Whatisthedifferencebetweennew/deleteandmalloc/free?(15个答案)关闭去年。我知道它们在语法上有何不同,C++使用new,而C使用malloc。但是,在高层次的解释中,它们是如何工作的?参见Whatisthedifferencebetweennew/deleteandmalloc/free?

c++ - 使用 malloc 安全吗?

有人告诉我使用malloc进行分配不再安全,我不是C/C++高手,但我已经使用malloc和C/C++做了一些东西。有谁知道我面临的风险是什么?引用他的话:[..]ButindeedtheweakpointofC/C++itisthesecurity,andtheAchilles'heelisindeedmallocandtheabuseofpointers.C/C++itisawellknowninsecurelanguage.[..]TherewouldbefewappsinwhatIwouldnotrecommendtocontinueprogrammingwithC++."

c++ - std::align 和 std::aligned_storage 用于内存块的对齐分配

我正在尝试分配一个大小为size的内存块,它需要Alignment对齐,而在编译时可能未定义大小。我知道存在_aligned_alloc、posix_memalign、_mm_alloc等例程,但我不想使用它们,因为它们会降低代码的可移植性。C++11提供了一个例程std::align和一个类std::aligned_storage,我可以从中检索POD类型进行分配一个将符合我的要求的元素。然而,我的目标是创建一个分配器,它将分配一个size大小的内存块(不仅仅是单个元素),该内存块将被对齐。这可能使用std::align吗?我问的原因是因为std::align移动指针,使用该指针的类

c++ - 在启用 OpenCL 选项的情况下使用 Tesseract 时出现 malloc 错误

我在启用OpenCL选项的情况下编译了Tesseract3.04.00。在尝试使用GetUTF8Text()从图像中提取文本时,出现malloc错误,我想是内存泄漏。我找到了之前添加的针对内存泄漏错误的补丁,但是,我编译的版本已经添加了补丁。我不确定为什么会发生内存泄漏。这是我得到的输出:[DS]Profilereadfromfile(tesseract_opencl_profile_devices.dat).[DS]Device[1]1:Intel(R)Core(TM)i5-4250UCPU@1.30GHzscoreis14049349632.000000[DS]Device[2]1