草庐IT

c++ - 是否有一个库在 C++ 中提供(定向)超图实现?

我目前正在从事一个项目,该项目使用有向超图框架枚举动态程序的k-best解决方案。我当前的实现(在Python中)运行良好,但速度相当慢。该算法执行许多紧密循环和相当多的递归。我真的认为我可以使用C++实现实现显着的速度改进。然而,经过一番搜索后,我找不到任何提供C++超图实现的库(特别是有向超图——但我什至找不到无向超图的库)。有谁知道这样的图书馆?几年前似乎有一个GSoC提议为boost提供超图支持,但看起来并没有真正实现。 最佳答案 我不知道有图书馆,但你可以自己动手。在代码上折腾了三天,我终于得到了一个超图,可以在MSVC1

c++ - 是否有任何 C/C++ 库可以连接到远程 NTP 服务器?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭8年前。Improvethisquestion我正在制作一个需要将系统时钟与远程NTP服务器同步的C++软件。现在,我正在使用“系统”命令来调用控制台“ntpdate”命令。..但我认为这是一种丑陋的方式。你知道有什么库可以让我连接到远程NTP服务器吗?谢谢。

c++ - 为什么构建没有预编译头文件的 DLL 在使用时会出现奇怪的错误?

总结:今天我发现在构建一个没有预编译头文件的DLL时,当您尝试使用它时会出现一个奇怪的错误。当禁用预编译header时,构建DLL会很顺利。但是,一旦附加了DLL(编译时或运行时),它就会导致错误“参数无效”。两种情况的实际错误代码都不同。附加编译时时会弹出错误代码为0xc000000d的对话框,调用LoadLibrary()时会返回NULL指针,而GetLastError()会返回0x57.编辑:我发现当增量链接被禁用时问题就消失了。在运行附加到DLL编译时的客户端时,我以某种方式错过了VisualStudio显示的以下错误:'TestClient.exe':Loaded'D:\Pr

c++ - G++ 找不到 boost 库

我不擅长命令行编译。我的问题是无法编译简单的项目,这取决于Boost。以下是我的尝试记录:$g++-Walltest.cpp-omain/tmp/ccCTvBYE.o:Infunction`__static_initialization_and_destruction_0(int,int)':test.cpp:(.text+0x6b):undefinedreferenceto`boost::system::generic_category()'test.cpp:(.text+0x77):undefinedreferenceto`boost::system::generic_catego

c++ - 如何将静态库添加到 Visual Studio 项目

我正在尝试将静态库添加到我的项目中。要添加静态库,我遵循Microsoft的说明:http://msdn.microsoft.com/en-us/library/ms235627.aspx.我的问题是我在将引用添加到我的项目时无法看到依赖库。在上面提到的教程中,他们提到应该将依赖项(即静态库)添加到解决方案中。 最佳答案 您提供的教程是指您创建自己的静态库的情况——在这种情况下,您可能希望将其添加到您的解决方案中,从而使其成为解决方案的组成部分;但我假设您正在尝试添加外部库(不是您创建的,例如从网上下载的)——这就是您被卡住的原因。

c++ - XCode 6.1 - 缺少项目模板(C++ 库和 C++ STL 库)

昨天C++库和STLC++库模板突然从我的XCode6.1安装中消失了。它应该是这样的:现在是这样的:我完全卸载了XCode并重新安装了它,但仍然缺少这些模板。还有其他人遇到同样的问题吗?如何解决? 最佳答案 没关系!选择项目模板的用户界面在XCode6.1中发生了一些变化。以下是创建C++库项目的方法:要创建C++库,请选择库模板(甚至认为描述中说:“此模板构建链接到Cocoa框架的库”。它可能有点令人困惑,但您可以将其更改为C++库下一步)。单击“下一步”,然后您可以选择“框架类型”为“PlainC++Library”、“Coc

c++ - 我如何查看 Linux .so 或 .a 对象并查看它们包含哪些函数?

链接器大概可以做到这一点,那么是否有一个命令行工具可以列出目标文件中的函数并告诉我函数的名称及其签名? 最佳答案 对于共享库,您必须使用:nm-D/path/to/libwhatever.so.没有-D,nm转储debug符号;-D指的是实际用于动态链接的动态符号。来自Ubuntu12session:$nm/lib/i386-linux-gnu/libc.so.6nm:/lib/i386-linux-gnu/libc.so.6:nosymbols$nm-D/lib/i386-linux-gnu/libc.so.6|tail0011f

C++:实例化库中的许多模板

我有一个库,其中有一个模板化的类:foo.hpp:templatestructFoo{voidbar();};foo.cpp:templatevoidFoo::bar(){...};我希望针对将在cpp文件中定义的特定大小列表实例化编译版本。在伪代码中,像这样的东西foo.cpp:templatevoidFoo::bar(){...};for(constauto&size:{1,2,7,9})templatestructFoo;现在,我正在手动执行此操作(为每种类型实例化),但这很容易出错,因为我有几个文件应该定义为相同的大小。我知道我可以将所有内容移至头文件,并使用一些enable_

c++ - C++ 'new' 关键字和 C

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:UsethekeywordclassasavariablenameinC++在库的C头文件中,我使用的变量之一名为“new”。不幸的是,我在C++项目中使用这个库,并且“new”作为变量名的出现吓坏了编译器。我已经在使用extern"C"{#include},但这在这方面似乎没有帮助。我是否必须要求库开发人员更改该变量的名称,即使从他的角度来看,作为C开发人员,代码绝对没问题,因为“new”不是C关键字?

c++ - 插件系统如何工作?

我正在做一个项目,我会发现一个有用的基本插件系统。本质上,我创建基类并可以将这个基类提供给插件开发人员。然后开发人员覆盖它并覆盖方法。然后这就是我变得有点不清楚的地方。它是如何工作的?在哪里可以找到与此类系统开发相关的文档?谢谢 最佳答案 我所知道的插件系统都使用动态库。基本上,您需要在系统内核和插件之间定义一个小而有效的握手。由于没有C++ABI,插件必须要么只使用CAPI,要么使用与系统内核完全相同的编译器(可能是编译器版本)。最简单的可想到的协议(protocol)是一个函数,所有插件开发人员都必须提供该函数,它返回从您的基类