小编Chr*_*ris的帖子

/usr/lib/libstdc++.so.6:未找到版本`GLIBCXX_3.4.15'

如何在Ubuntu中获得GLIBCXX_3.4.15?我无法运行一些我正在编译的程序.

当我做:

strings /usr/lib/libstdc++.so.6 | grep GLIBC
Run Code Online (Sandbox Code Playgroud)

我明白了:

GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.4
GLIBC_2.3.4
GLIBC_2.3.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

c++ gcc libstdc++

131
推荐指数
4
解决办法
28万
查看次数

禁用chrome中的右键单击菜单

我正在编写一个WebGL游戏,并希望使用右键单击作为控件.但是,它会抛出一个菜单.有可能禁用它吗?我试过了

} 
else if (event.which == 2 || event.which == 3) 
{
    doRightClickControl();
    event.preventDefault();
    event.stopPropagation();

    return false;
}
Run Code Online (Sandbox Code Playgroud)

谢谢dknaack的提示.我让它像这样工作:

window.oncontextmenu = function(event) {
    event.preventDefault();
    event.stopPropagation();
    return false;
};
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome

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

麻烦构建gcc 4.6:未定义引用`yylex'

我正在尝试构建gcc 4.6,但是我收到了一些链接器错误,看起来这意味着bison或flex没有被链接到.当makefile发出以下命令时:

gcc   -g -fkeep-inline-functions -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common  -DHAVE_CONFIG_H -DGENERATOR_FILE  -o build/gengtype \
        build/gengtype.o build/errors.o build/gengtype-lex.o build/gengtype-parse.o build/version.o ../../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a
Run Code Online (Sandbox Code Playgroud)

它告诉我:

/home/chris/code/gcc/trunk/host-x86_64-unknown-linux-gnu/gcc/../.././gcc/gengtype.c:960: undefined reference to `lexer_line'
... undefined reference to `yylex'
... undefined reference to `yybegin'
... undefined reference to `yyend'
Run Code Online (Sandbox Code Playgroud)

我已经安装了Flex和Bison,甚至尝试了几种具有相同结果的Bison变体.有谁知道这可能意味着什么?

gcc makefile bison

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

C++指向虚函数的指针

如果你有这样的结构

struct A {
    void func();
};
Run Code Online (Sandbox Code Playgroud)

和像这样的参考

A& a;
Run Code Online (Sandbox Code Playgroud)

你可以func像这样得到一个指向它的方法的指针:

someMethod(&A::func);
Run Code Online (Sandbox Code Playgroud)

现在,如果该方法是虚拟的并且您不知道它在运行时是什么,该怎么办?为什么你不能得到像这样的指针?

someMethod(&a.func);
Run Code Online (Sandbox Code Playgroud)

是否有可能获得指向该方法的指针?

c++ virtual-functions member-function-pointers function-pointers

16
推荐指数
2
解决办法
2万
查看次数

在C#中定义新的运算符?

可能重复:
是否可以在c#中创建新运算符?

我喜欢C#,但我希望它有一个能够在类上定义我自己的运算符,比如A => B而不是必须做A.Implies(B).我认为如果你可以将[+ - */&^ |%$#@> <] +这样的集合中的任何长度的标识符分配给类方法然后像操作符一样使用它,那将会非常酷.有没有人知道是否有某种延伸,或者甚至可能做出一个,这样做呢?

c# operator-overloading operators

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

在OpenGL中绑定1D和2D纹理时,正确的行为是什么?

说你有这样的事情:

glBindTexture(GL_TEXTURE_2D, my2dTex);
glBindTexture(GL_TEXTURE_1D, my1dTex);
glBegin...
Run Code Online (Sandbox Code Playgroud)

什么是正确的OpenGL行为?绘制1d纹理,2d或两者?对于每个活动纹理,实际上有多个纹理可以同时绑定到它(即1d,2d,3d立方体贴图等)?

opengl textures texture-mapping

11
推荐指数
1
解决办法
1071
查看次数

为模板推导返回类型的运算符/函数

这样的事情可能吗?

// We can even assume T and U are native C++ types
template<typename T, typename U>
magically_deduce_return_type_of(T * U) my_mul() { return T * U; }
Run Code Online (Sandbox Code Playgroud)

或者有人必须破解一个return_type结构并为每对原生类型专门化它?

c++ templates

9
推荐指数
2
解决办法
3022
查看次数

如何将合并展平为线性历史记录?

我刚刚同步了我的git repo并遇到了回归.我想直接介绍历史,直到我发现责任的提交,但是有一个巨大的合并,当我这样做时,它就会显示为单个提交git log.

有什么方法可以在我的本地分支中展平这个合并,所以我git log只能有一个线性历史可以走过吗?

git

8
推荐指数
2
解决办法
4190
查看次数

让C++以一种不丑的方式调用正确的模板方法

我正在烹饪一个矢量库并且遇到了障碍.我想允许递归向量(即vec<H,vec<W,T> >),所以我希望我的"min"和其他函数也是递归的.这就是我所拥有的:

template<typename T>
inline T min(const T& k1, const T& k2) {
 return k1 < k2 ? k1 : k2;
}
template<int N, typename T, typename VT1, typename VT2>
inline vec<N,T> min(const container<N,T,VT1>& v1, const container<N,T,VT2>& v2) {
 vec<N,T> new_vec;
 for (int i = 0; i < N; i++) new_vec[i] = min(v1[i], v2[i]);
 return new_vec;
}

...

template<int N, typename T>
class vec : public container<N,T,vec_array<N,T> > {

...

// This calls the first (wrong) method and …
Run Code Online (Sandbox Code Playgroud)

c++ templates

7
推荐指数
1
解决办法
344
查看次数

我想在Linux/C/C++中使用任意大的缓冲区

基本上我想要一个任意大的堆栈.我知道这是不可能的,但是我能为它留出几TB的虚拟地址空间吗?我希望能够从头开始,并根据需要走缓冲区,Linux可以根据需要从物理内存中引入页面.有可能吗?它是否具有与仅使用malloc-a缓冲区相同的性能?一旦你弹出堆栈,是否有办法向Linux发信号通知你已完成内存?

编辑:我想要这个,因为我想优化一个递归/并行算法,在每次调用时分配大量内存.Malloc对我来说太慢了,我不希望所有的线程都在malloc的锁内相互绊倒.所以基本上它将是我自己的运行时堆栈与真实堆栈(每个线程一个).

实际上,只要运行时堆栈足够大就应该足够好.有没有办法知道/确保堆栈的大小?在64位地址空间中,有足够的空间可以将多个线程堆叠 - 分配千兆字节的数据.那可行吗?

看起来pthread_attr_setstacksize可以用于新线程,但是如果可以从任何线程调用那么这没有多大帮助......

c c++ linux virtual-memory

6
推荐指数
1
解决办法
968
查看次数