小编ano*_*non的帖子

C++按返回类型选择函数

我意识到标准C++只能通过参数类型选择函数,而不是返回类型.即我可以做类似的事情:

void func(int);
void func(double);
Run Code Online (Sandbox Code Playgroud)

但不是

double func();
int func();
Run Code Online (Sandbox Code Playgroud)

在前者中,很明显,在后者中,它是暧昧的.是否有任何扩展允许我告诉C++选择哪个函数也可以使用返回类型?

谢谢!

c++ polymorphism function

4
推荐指数
3
解决办法
4175
查看次数

杀死无符号/签名的比较错误

一般来说,我想要unsigned vs signed的警告.

但是,在这种特殊情况下,我希望它被压制;

std::vector<Blah> blahs;

for(int i = 0; i < blahs.size(); ++i) { ...
Run Code Online (Sandbox Code Playgroud)

我想杀死这个比较.

谢谢!

(使用g ++)

c++ comparison g++ suppress-warnings

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

lua c api:如何在中间推送一个带空字符的字符串?

通常,我会使用

lua_pushstring(lua_State* L, const char* s);
Run Code Online (Sandbox Code Playgroud)

但是,我要推送的字符串可能包含空字符.我该如何工作?

c api lua

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

C++可以简化Lua VM的实现吗?

对于那些浏览过Lua C VM实现的人来说,使用C++会大大简化实现吗?

lua vm-implementation

4
推荐指数
2
解决办法
814
查看次数

如何思考Java线程?又名Thread.stop

博览会:

我认为Java VM非常棒.它保证了字节码的安全性,标准库,...是惊人的,特别是能够动态加载Java类,并且知道它不会崩溃VM(祝你好运*.so文件或内核模块).

我不明白的一件事是Java如何处理Thread.stop

我已经阅读了http://java.sun.com/j2se/1.5.0/docs/guide/misc/threadPrimitiveDeprecation.html, 但由于以下原因,它似乎很奇怪:

1)资源管理

在Unix操作系统上,如果一个进程占用资源,我可以杀死-9.

2)打破抽象:

如果我开始计算成本很高的工作,而我不再需要计算,我可以杀掉-9它.在这个Java线程模型下,我的计算线程必须定期检查一些布尔标志,看它是否应该退出[这似乎打破了抽象层 - 当我编写计算代码时,我应该专注于计算代码,而不是去哪里分散检查是否应该终止.

3)锁/监视器的安全性

所以官方的理由是"什么是线程持有一个锁/监视器,它得到Thread.stopped?对象将被保留在损坏状态" - 但是,在操作系统中这不是问题,我们有中断处理程序.为什么Java线程不能像OS中断处理程序一样工作的中断处理程序?

题:

显然,我正在考虑使用错误的心智模型的Java Threads.我该如何思考Java线程?

谢谢!

java multithreading

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

如何在内存中映射_particular_区域?

我有一个程序.我希望它能够在不同的运行中映射特定的内存区域.

  1. 我有程序的源代码.C/C++
  2. 我控制程序的编译方式.GCC
  3. 我控制程序的链接方式.GCC
  4. 我控制程序的运行方式(Linux).

我只想拥有这个特定的内存区域,比如说我将mmap映射到特定文件的0xabcdabcd到0xdeadbeef.无论如何要保证这个吗?(我必须以某种方式确保其他东西没有加载到这个特定的区域).

编辑:

如何使确保没有其他需要该特定区域的内存?

c c++ mmap

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

如何用C++编写Cocoa OpenGL应用程序?

我正在编写一个需要在Mac上用C++实现OpenGL的应用程序.

无论如何我可以让Cocoa给我一个OpenGL上下文并让我在C++中完成我的工作吗?(我希望我的应用程序可以在Mac OS X和iPHone上运行;但是所有GUI都在OpenGL中,我只需要一个OpenGL上下文).

谢谢!

c++ opengl cocoa

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

阴影映射中的偏差矩阵

我在看OpenGL中的阴影贴图.

我看到代码如下:

// This is matrix transform every coordinate x,y,z
// x = x* 0.5 + 0.5 
// y = y* 0.5 + 0.5 
// z = z* 0.5 + 0.5 
// Moving from unit cube [-1,1] to [0,1]  
const GLdouble bias[16] = {
  0.5, 0.0, 0.0, 0.0,
  0.0, 0.5, 0.0, 0.0,
  0.0, 0.0, 0.5, 0.0,
  0.5, 0.5, 0.5, 1.0};

// Grab modelview and transformation matrices
glGetDoublev(GL_MODELVIEW_MATRIX, modelView);
glGetDoublev(GL_PROJECTION_MATRIX, projection);


glMatrixMode(GL_TEXTURE);
glActiveTextureARB(GL_TEXTURE7);

glLoadIdentity();
glLoadMatrixd(bias);

// concatating all matrice into one. …
Run Code Online (Sandbox Code Playgroud)

opengl

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

在LLVM之上的gdb?

是否有任何调试器,如gdb或其他东西,针对C/C++,运行在LLVM之上?

考虑到LLVM的设计是多么好,这几乎是一个绝佳的机会.

c c++ llvm

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

片段着色器模糊......这是如何工作的?

uniform sampler2D sampler0;
uniform vec2 tc_offset[9];
void blur()
{
  vec4 sample[9];
  for(int i = 0; i < 9; ++i)
    sample[i] = texture2D(sampler0, gl_TexCoord[0].st + tc_offset[i]);

  gl_FragColor = (sample[0] + (2.0 * sample[1]) + sample[2] +
      (2.0 * sample[3]) + sample[4] + 2.0 * sample[5] +
      sample[6] + 2.0 * sample[7] + sample[8] ) / 13.0;
}
Run Code Online (Sandbox Code Playgroud)

样本[i] = texture2D(sample0,...)行如何工作?

似乎模糊图像,我必须首先生成图像,但在这里,我在某种程度上试图查询我正在生成的iamge.这是如何运作的?

fragment-shader

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