我在 Objective-C 中动态声明 GLfloat 数组时遇到了一些问题。这是c 我正在使用的颂歌:
GLfloat *m_bindPositions;
@implementation
int nVerts = [self m_countVertices];
m_bindPositions = (GLfloat*)malloc((nVerts * 3) * sizeof(GLfloat));
本例中的 nVerts 等于 6704。
如果我要运行 sizeof(m_bindPositions),它应该返回 80448。
它目前返回 4。这让我相信
的分配存在错误内存,我不完全确定为什么。任何帮助将不胜感激。
Thanks
最佳答案
sizeof
在这种情况下返回指针的大小,而不是它指向的数据。
但是,编译器负责处理 sizeof,它不会根据 malloc 动态返回值,因此您不能使用 sizeof
(或除 malloc_size()
,会返回一个等于或大于allocation的数字,代表分配 block 大小。
关于iphone - GLfloat 动态数组声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15601781/