相关疑难解决方法(0)

如何仅使用标准库分配对齐的内存?

我刚刚完成了一项测试,作为求职面试的一部分,一个问题让我感到难过 - 甚至使用谷歌作为参考.我想看看stackoverflow工作人员可以用它做什么:

"memset_16aligned"函数需要传递给它的16byte对齐指针,否则它将崩溃.

a)如何分配1024字节的内存,并将其与16字节边界对齐?
b)执行memset_16aligned后释放内存.

{    
   void *mem;
   void *ptr;

   // answer a) here

   memset_16aligned(ptr, 0, 1024);

   // answer b) here    
}
Run Code Online (Sandbox Code Playgroud)

c memory-management

404
推荐指数
9
解决办法
17万
查看次数

带有__declspec(align('16'))的形式参数将不对齐

我正在尝试设置着色器制服的功能,但是当我尝试编译它时,我收到此错误:

错误2错误C2719:'value':带__declspec的形式参数(align('16'))将不对齐

这是功能代码:

void Shader::setUniform(std::string name, const glm::mat4 value){
    GLint uniform = glGetUniformLocation(m_program, name.c_str());
    glUniformMatrix4fv(uniform, 1, GL_FALSE, (GLfloat*)&value);
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Visual Studio 2013.

c++ opengl glm-math

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

编译器找不到"aligned_alloc"函数

尝试使用对齐功能在堆上分配可移植函数.

找到"aligned_alloc",我认为这是在stdlib.h中,但gcc似乎不这么认为

错误:未在此范围内声明'aligned_alloc'

使用带有标志的gcc -std = c ++ 11 -m64

尝试导入

#include <stdlib.h>
#include <cstdlib>
Run Code Online (Sandbox Code Playgroud)

c c++

9
推荐指数
1
解决办法
9657
查看次数

标签 统计

c ×2

c++ ×2

glm-math ×1

memory-management ×1

opengl ×1