小编chr*_*ris的帖子

垃圾收集器的替代品

我想知道垃圾收集器的最佳替代品,它的优点和缺点.我的首要任务是速度,记忆不那么重要.如果有垃圾收集器没有任何暂停,请告诉我.

我正在研究一种安全的语言(即没有悬空指针的语言,检查边界等),并且必须使用垃圾收集或其替代方案.

language-agnostic garbage-collection memory-management

14
推荐指数
2
解决办法
5212
查看次数

使用glDrawArrays绘制VBO在OpenGL 2.1中工作,但在OpenGL 3.x中不工作

代码的核心(显示红色矩形):

//bind program, set uniforms, bind vbo
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0,0);
glDrawArrays(GL_TRIANGLES, 0, 6);
glDisableVertexAttribArray(0);
//unbind vbo, unbind program
Run Code Online (Sandbox Code Playgroud)

当我上下文切换到的OpenGL 3.x的这一代码将停止工作(我可以看到背景的唯一的颜色),但是当我初始化VAO以同样的方式与上面的代码,然后我结合VAO并调用调用glDrawArrays,然后它工作.

可能是什么问题呢?如何在不使用VAO的情况下绘制VBO?

(着色器非常简单,只有mulitplies矩阵和ps输出红色)

opengl vbo opengl-3

8
推荐指数
1
解决办法
3246
查看次数

C++ 3D数学库

什么是c ++中最好的,复杂的数学库?(我想在图形引擎中使用它)

编辑:我应该精确一点:它应该有所有的3D数学,如平面,球体,点,AABB等,当然还有矩阵,向量,四元数支持.

c++ math 3d

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

如何在c ++和c#中实现vtables?

让我们有这种情况(在c ++中,在c#类A中,B是接口):

class A { virtual void func() = 0; };
class B { virtual void func() = 0; };
class X: public A, public B { virtual void func(){ var = 1; } int var;};

X * x = new X; // from what I know, x have 2 vtables, is this the same in c#?
A * a = (A*)x; // a == x
B * b = (B*)x; // here b != x, so when calling b->func(), …
Run Code Online (Sandbox Code Playgroud)

c# c++ inheritance interface vtable

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

在linux中列出目录时无限递归

我尝试编写程序,其中部分列出所有目录(特别是从/开始),但我有一个问题/ proc/self无限递归(我得/ proc/self/task/4300/fd/3/proc/self/task/4300/fd/3/proc/self/task/4300/fd/3/proc/...等等).处理它的好方法是什么?

编辑:程序是用C语言编写的,我使用的是opendir(),readdir()

c linux filesystems recursion

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