草庐IT

visualize-gradient-boosting-decis

全部标签

c++ - Visual Studio 警告 C4743 : How does Whole Program Optimization affect _fltused?

所以在工作中,我正在开发一个在没有C++运行时库的情况下运行的C++应用程序。我们使用的是VisualStudio2005,并指定了/NODEFAULTLIB开关。解决方案的组织方式包括各种静态库项目,然后是使用这些库的单个可执行项目。这些库大多是在单独的存储库中跟踪的公共(public)库。它们可以更改,但如果我们可以避免的话,最好不要更改。其中一个常用库使用float学。由于我们没有C++运行时,我们自己定义了这些例程(例如:_ftol2_sse用于将float转换为int)。根据我对底层细节的(相当有限的)理解,编译器发出符号_fltused信号,表示需要使用float学例程。出

python - 带有函数模板的 Boost::Python 类:如何从外部添加实例?

总结有没有办法(在C++中,而不是在Python中)从外部为Boost::Python中的类添加函数模板的额外实例化(通过注入(inject)、重新打开定义、注册所需的实例化等)?背景给定一个包含函数模板成员的类(不是类模板),我想使用Boost::Python生成Python绑定(bind)。但是,由于我正在编写一个库,所以我事先并不知道成员函数将使用哪些模板参数进行调用。这意味着,我不能在Boost::Python类定义中列出它们。例子假设我们有一个类TheClass,它有函数模板(带重载),以及两个测试类SomeClass和OtherClass,如下所示:类定义#include#

c++ - 如何将 ostream 重定向到 Boost Log 库

我有一个进度条函数,它将std::ostream作为参数。出于描述的目的,我在这里对其进行了简化。voidsomeprogressbar(std::ostream&stream){stream我无法修改此功能,因为它是第三方功能。我用std::ostringstreammyoss;someprogressbar(myoss)调用这个函数或someprogressbar(std::cout).该函数会在我的程序进行时实时打印一些信息。如何将输出重定向到BoostLog库?我能做到BOOST_LOG_TRIVIAL(debug),但做不到someprogressbar(BOOST_LOG_

python - Boost.Python 多重返回参数

我有一个C++函数,它从它的参数返回多个值。voidDo_Something(doubleinput1,doubleinput2,doubleinput3,double&output1,double&output2){...output1=something;output2=something;}我想用Boost.Python包装这个函数。我想出了一个使用lambda的解决方案,但它有点乏味,因为我有许多函数在其参数中有多个返回值。BOOST_PYTHON_MODULE(mymodule){usingboost::python;def("Do_Something",+[](double

c++ - 使用 Cmake 为 Visual Studio 2015 构建 OpenCV 3.0.0 的 DLL

按照此处的说明操作:docs.opencv.org/doc/tutorials/introduction/windows_visual_studio_Opencv/windows_visual_studio_Opencv.html#windows-visual-studio-how-to我在VS2015Community中设置了一个OpenCV项目并使用了预构建的库。它一直有效,直到我收到此消息:“您的计算机缺少MSVCP120D.dll”通过一些搜索,我了解到这意味着预构建库只能与旧版本的VS一起使用,所以我想我应该自己编译它们:docs.opencv.org/doc/tutoria

c++ - Boost 引用变体和相等性比较

以下程序中止:#includeusingvariant_type=boost::variant;intmain(){inta,b;variant_typev(a),u(b);v==u;return0;}与:$g++-std=c++14t.cpp&&./a.outa.out:/opt/boost/default/include/boost/variant/detail/forced_return.hpp:39:Tboost::detail::variant::forced_return()[withT=constint&]:Assertion`false'failed.Aborted(c

c++ - 使用 BOOST_FUSION_ADAPT_ADT 调整类时出错

我有以下类(class):#ifndefWFRACTAL_FRACTAL_METADATA_H_#defineWFRACTAL_FRACTAL_METADATA_H_#includenamespaceWFractal{namespaceFractal{classMetadata{public:voidsetAuthorName(conststd::string&name);voidsetAuthorEMail(conststd::string&email);voidsetBriefDescription(conststd::string&brief);voidsetCompleteDe

c++ - boost::asio::ssl::context 可以在多个 SSL 流之间共享吗?

在互联网上搜索了几个小时,我找不到问题的答案。我的模型是这样的:我有一个共享的boost::asio::ssl::context用于创建boost::asio::ssl::stream的实例。然后将流对象传递给不同的线程。这个模型线程安全吗?可以使用相同的boost::asio::ssl::context构建将同时使用的不同SSL流对象吗?请,在将此问题标记为重复之前,请考虑仔细阅读说明。谢谢!在我的具体情况下,线程之间不共享任何对象。所以在Boost.AsioSSLthreadsafety中说了什么线程安全不影响我的情况。我从单个线程访问boost::asio::ssl::conte

c++ - 如何使用 boost::multiprecision 在运行时更改数字精度

我读过boost::multiprecisiondocumentation:Dependinguponthenumbertype,precisionmaybearbitrarilylarge(limitedonlybyavailablememory),fixedatcompiletime(forexample50or100decimaldigits),oravariablecontrolledatrun-timebymemberfunctions.Thetypesareexpression-template-enabledforbetterperformancethannaiveuse

c++ - boost::lexical_cast<signed char> 无法处理负数?

这个简短的C++程序的行为方式让我感到困惑:#include#include#include#includeintmain(void){signedcharc=-2;assert(c==-2);c=boost::lexical_cast(std::string("-2"));std::cout使用g++5.2.1和boost-1.58.0,我得到:terminatecalledafterthrowinganinstanceof'boost::exception_detail::clone_impl>'what():badlexicalcast:sourcetypevaluecouldn