小编Kav*_*veh的帖子

如何使用MinGW在Windows中构建Google的protobuf?

我正在使用Codeblocks作为我的MingGW IDE.我正在尝试使用谷歌协议缓冲区,但我在构建protobuf时遇到了麻烦.

protobuf的自述文件说:

如果您使用的是Cygwin或MinGW,请按照上面的Unix安装说明进行操作.

Unix指令说:

要构建和安装C++ Protocol Buffer运行时和Protocol Buffer编译器(protoc),请执行以下命令: $ ./configure $ make $ make check $ make install

我不知道如何在Windows中执行这些操作,因为"configure"是一个Unix脚本,我不知道如何执行它,或者其他命令.

有人可以更详细地解释如何在Windows上使用MinGW构建protobuf吗?

c++ mingw protocol-buffers

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

如何从Eclipse项目中删除文件而不从磁盘中删除文件?

是否可以从Eclipse项目中删除文件而不实际从磁盘中删除文件?

是否有理由在项目中添加/删除文件与磁盘上相应文件的连接紧密相关?

eclipse

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

C++ 11中的线程安全单例

我知道以下是在C++ 11中实现单例的一种线程安全的方法:

Foo* getInst()
{
    static Foo* inst = new Foo(...);
    return inst;
}
Run Code Online (Sandbox Code Playgroud)

我在这个答案中读到以下内容也是线程安全的:

Foo& getInst()
{
    static Foo inst(...);
    return inst;
}
Run Code Online (Sandbox Code Playgroud)

它真的是线程安全的吗?
Foo的实例分配到单个堆栈帧中不会在堆上分配是不是一个问题?

如果它是线程安全的,是否有充分的理由选择一个到另一个?

c++ multithreading gcc thread-safety c++11

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

C++ shared_ptr与Python对象

AFAIK,使用shared_ptr通常是不鼓励的,因为不小心使用它们会导致潜在的错误(除非您对重大利益和仔细检查设计有非常好的解释).

另一方面,Python对象似乎基本上是shared_ptrs(ref_count和垃圾收集).

我想知道是什么让它们在Python中很好地工作但在C++中有潜在危险.换句话说,Python和C++在处理shared_ptr时有什么区别,这使得在C++中不鼓励使用它们但不会在Python中引起类似的问题?

我知道,例如Python会自动检测对象之间的循环,以防止在C++中悬挂循环shared_ptrs导致的内存泄漏.

c++ python programming-languages shared-ptr

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