小编ant*_*r89的帖子

如何在Debian上将glibc从2.13升级到2.15?

我听说我可以使用apt-get install libc6来完成它,但我需要在/etc/apt/sources.list中添加一些内容来接收最新的glibc版本.我该怎么办?

debian glibc

64
推荐指数
4
解决办法
18万
查看次数

我可以在C++类中声明"using namespace"吗?

假设有一个C++类.还有一个名称空间,只有在我的班级内才能看到.该怎么办?

class SomeClass
{
    using namespace SomeSpace;

public:
    void Method1();
    void Method2();
    void Method3();
};

namespace SomeSpace
{
    /*some code*/
};
Run Code Online (Sandbox Code Playgroud)

c++ namespaces

14
推荐指数
1
解决办法
8462
查看次数

模板类专业化的模板方法

这是我的代码:

template<typename T1, typename T2> class MyClass
{
public:
    template<int num> static int DoSomething();
};

template<typename T1, typename T2> template<int num> int MyClass<T1, T2>::DoSomething()
{
    cout << "This is the common method" << endl;
    cout << "sizeof(T1) = " << sizeof(T1) << endl;
    cout << "sizeof(T2) = " << sizeof(T2) << endl;
    return num;
}
Run Code Online (Sandbox Code Playgroud)

它运作良好.但是当我尝试添加这个

template<typename T1, typename T2> template<> int MyClass<T1, T2>::DoSomething<0>()
{
    cout << "This is ZERO!!!" << endl;
    cout << "sizeof(T1) = " << sizeof(T1) << …
Run Code Online (Sandbox Code Playgroud)

c++ linux templates g++

10
推荐指数
1
解决办法
3470
查看次数

为什么调用大尺寸的mmap()不会失败?

我尝试用来mmap()操纵虚拟内存.我想保留并提交一个内存区域.我测试了这段代码:

const unsigned long gygabyte = 1024 * 1024 * 1024;
const unsigned long gygabyteCount = 2;
const unsigned long maxCapacity = gygabyteCount * gygabyte;

int main()
{
    char* pMemory;

    pMemory = (char*)mmap(NULL, maxCapacity, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
    if ( mprotect(pMemory, maxCapacity, PROT_READ | PROT_WRITE) != 0 )
    {
        cout << "Memory Allocation has failed" << endl;
    }
    usleep(-1);

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

我从一个终端运行了我的程序的几个副本(比如说6个).我没有看到任何一个"内存分配失败".我正在运行64位Ubuntu,内存为4GB.谁能跟我说点什么呢?

c c++ linux memory-management mmap

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

如何在 Linux 上使用 #ifdef _DEBUG?

我在 Linux C++ 上遇到 _DEBUG 宏问题。我尝试使用这样的东西:

#ifdef _DEBUG
cout << "Debug!" << endl;
#endif
Run Code Online (Sandbox Code Playgroud)

但是当我在IDE中选择“调试”时,它不起作用。然而它在 Windows 上运行。我在 Linux 上使用 Eclipse IDE 进行 C++ 编码。

c++ linux debugging eclipse-cdt

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