草庐IT

visualize-gradient-boosting-decis

全部标签

c++ - Boost.asio 和异步链,unique_ptr?

我对异步编程不是很熟悉,我有一个问题。我的问题如下。给定boost.asio中C++11的echo_server示例:http://www.boost.org/doc/libs/1_60_0/doc/html/boost_asio/example/cpp11/spawn/echo_server.cpp我想知道std::make_shared可以在C++14中替换为std::unique_ptr在C++14中,避免了引用计数的开销。我不确定,因为我们有shared_from_this()但不是像unique_from_this()这样的东西,那么我怎样才能访问unique_ptr从里面t

c++ - 编译和链接项目时 Visual Studio 2015 挂起

我最近将VisualStudio2012更改为VisualStudio2015作为我的c++项目的编译器。进行此更改后,我注意到visualstudio会经常在构建过程中挂起。这在VisualStudio2012中从未发生过。挂起是随机发生的,不会发生在我项目中的相同构建点。当我在管理员模式下运行VS并让所有cl.exe和link.exe显示为命令提示符时,我能够看到它们何时挂起。并且没有抛出任何错误或任何东西。我成功解决此问题的唯一方法是将VisualStudio的构建过程设置为一次仅处理一个项目并且同时仅使用一个编译。但是我无法维持它,因为我的构建时间约为3-4小时(是的,这是一个

c++ - 与 boost::property_tree XML 解析器一起使用时 boost::coroutine 库崩溃

我正在使用Simple-Web-Server用于创建将XML转换为JSON的简单Web服务的库,反之亦然。反过来,它使用了几个boost库以及其中的boost::coroutine。对于XMLJSON转换,我使用boost::property_tree库进行中间表示。这是代码:#include#include#include#defineBOOST_SPIRIT_THREADSAFE#include#include#includeusingnamespacestd;usingnamespaceboost::property_tree;usingHttpServer=SimpleWeb:

c++ - 如何将 Visual Studio 中的“查找所有引用”仅限于相关变量

对于C++文件,为什么右键单击变量用法的“查找所有引用”选项会返回整个项目中的所有拼写用法,无论是否相关。这个Find操作如何仅限于实际相关的变量? 最佳答案 至于MSVC2015Update2,它确实找到了对变量的所有引用,包括注释和字符串。当您获得引用列表时,您可以看到每个元素的不同图标表示不同类型的引用:例如具有相同名称的注释、字符串或变量。浏览列表时,您有两个选择:访问所有找到的位置(F4、Shift+F4)或使用黑色箭头按钮仅访问确认的引用,如下所示:如果搜索无法正常工作,我还建议重新扫描解决方案(解决方案资源管理器>右键

c++ - 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error>>

我创建了客户端应用程序。当我发送单个消息clientsever时它工作正常。但是当我出于性能目的发送大量消息时,客户端会以两种不同的方式崩溃:(gdb)runStartingprogram:/home/x64joxer/workerGenerators/Worker2/worker-t-i192.168.0.6-p6000-d5-l//home/x64joxer/workerGenerators/Worker2/[Threaddebuggingusinglibthread_dbenabled]Usinghostlibthread_dblibrary"/lib/x86_64-linux-

c++ - 使用 Boost 库 Qt C++ 更新翻译文件

我在我的C++项目中使用Boost库。我将它包含在PRO文件中,如下所示:win32:INCLUDEPATH+=C:/boost_1_60_0win32:LIBS+="-LC:/boost_1_60_0/stage/lib/"但是,当我在终端(cmd)上运行以下命令来更新我的翻译文件时:lupdateMyProject.pro它在Boost库路径中搜索文件进行更新。这正常吗?我该怎么做才能不在Boost库路径中搜索?现在,当我需要运行lupdate命令时,我正在评论Boost包含行,但我不想每次需要更新我的翻译文件时都这样做。Qt5.3.2boost1.6.0

c++ - 为什么 Boost 原子使用中的多生产者队列是无等待的

BoostAtomic示例中的无等待多生产者队列:templateclasswaitfree_queue{public:structnode{Tdata;node*next;};voidpush(constT&data){node*n=newnode;n->data=data;node*stale_head=head_.load(boost::memory_order_relaxed);do{n->next=stale_head;}while(!head_.compare_exchange_weak(stale_head,n,boost::memory_order_release));

c# - Visual Studio C++/CLI 模板神秘错误

好吧,我一直在尝试在VisualStudio2015中创建一个C++DLL,这花了一段时间,因为我对VisualStudio不是很好。我需要访问.NET库,特别是System::Management。(由于C++实现不佳,编写代码比需要的要难一些,但至少它有一个。)我修复了明显的错误,最后发现我必须在项目属性中启用CLR,然后使用References->AddReference选择相关的库。但毕竟,现在它只是给出了这个奇怪的错误:LNK1104:cannotopenfile'MSCOREE.lib'编译器没有在任何下方显示红色波浪线,并且错误声称该行是“1”并且文件是“LINK”,所以

c++ - Visual Studio 中的大括号逗号语法是什么?

您可以在监window口中使用这种奇怪的语法(甚至设置断点),我在哪里可以找到它的文档:{,,test2.exe}启动程序时,第一个将转换为我的入口点并在执行开始时中断。凭直觉我可以看出这意味着什么,但它在哪里记录以及前导逗号是什么(你可以在那里放什么东西)?为什么在监window口中使用语法有帮助? 最佳答案 作为VS2015documentation状态,称为上下文运算符,仅对C++native应用程序有效。您可以在第一个和第二个逗号前放置函数和源文件。对于VS2010和以前的版本,documentation略有不同且更冗长。

c++ - 如何使用 Boost.Spirit.Qi 增量解析(并作用于)大文件?

我为自定义文本文件格式创建了一个Qi解析器。有数以万计的条目要处理,每个条目通常有1-10个子条目。我放了一个精简的解析器工作示例here.#include#include#include#include#include#include#include#include#include#include#include#include#includeusingstd::string;usingstd::vector;usingstd::cout;usingstd::endl;namespacemodel{namespaceqi=boost::spirit::qi;structspectru