草庐IT

visualize-gradient-boosting-decis

全部标签

c++ - 当 VS2008 用作工具集时,Visual Studio 2013 显示空项目属性

VisualStudio选择使用VS90作为其工具集的配置时,不会显示C++项目的项目属性。当我右键单击受影响解决方案中的项目并从上下文菜单中选择“属性”时,属性对话框显示为空:我记得它过去常常显示正常的编译器选项,即使对于较旧的工具集也是如此。什么会导致这种行为? 最佳答案 我能够通过确保MSBuild中的VCTargetsPath(以及VS2013属性的相应VCTargetsPath12)包含尾随反斜杠来修复它。通过使用sysinternals的ProcessMonitor监控devenv.exe进程发现了这一点,并注意到由于缺

c++ - boost::shared_ptr,ctor 中的一个原子递增,但 dtor 中的两个原子递减?

我正在单步执行boost::shared_ptr的源代码,并且在构造时引用计数器调用一次原子增量。但是,在销毁时我看到原子递减被调用了两次,连接到弱引用?但是,这怎么行呢?在构建时递增一次,在销毁时递减两次,一次在release()中,一次在weak_release()中? 最佳答案 shared_ptr必须维护两个引用计数。一个用于共享实例,一个用于可能通过weak_ptr引用。有了这个,weak_ptr能够增加shared_ptr中的弱引用计数并保持shared_ptr事件(即使在分配的对象被释放之后)以确定从weak_ptr到

c++ - boost::asio::write 的阻塞意味着什么?

我正在使用boost::asio::write()将数据从缓冲区写入com端口。这是一个波特率为115200的串行端口,这意味着(据我所知)我可以有效地将11520字节/秒或11,52KB/秒的数据写入套接字。现在我有一大块数据(10015字节)要写入。我认为这应该需要不到一秒钟的时间才能真正写入端口。但是boost::asio::write()在调用传输字节10015后300微秒后返回。我认为用那个波特率这是不可能的?所以我的问题是它实际上在做什么?真正将其写入端口,或者可能只是某种其他类型的缓冲区,稍后将其写入端口。我希望write()仅在所有字节都真正写入端口后才返回。编辑代码示

c++ - Visual C++(2012 - 2015)代码指标

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion是否有任何工具可以为VisualC++2012/2013或2015生成代码指标(例如圈复杂度、代码行数、注释与代码比率等)?我们需要能够运行命令行工具来生成这些指标(并将它们输出到某种文件),以便我们可以根据我们的持续集成流程自动运行分析。请注意,我们不需要完整的静态分析工具,因为我们已经在使用(并且很高兴)内置于VisualC++中的静态代码分析工具(但是这不包括复

c++ - 处理从 boost 序列化中删除的变量

我查看了网络上关于通过递增版本号并在该变量的序列化周围添加“if”来向序列化函数添加成员变量的示例。但是如果我删除了一个成员变量,我该怎么办呢?我是否应该将它从序列化函数中删除,然后boost会处理它?如果我删除了一些在序列化函数中“序列化”的类,情况可能会变得更糟,我是否需要只为该序列化代码保留它们,还是有其他方法? 最佳答案 后台/存档格式兼容性BoostSerialization在很多情况下都非常轻量级。具体来说,如果您不使用对象跟踪/动态多态性,那么在使您的序列化流兼容时会有惊人的回旋余地。在通过(智能)指针(指向基址)进行

c++ - Boost.Units 是如何得出这种不精确的转换结果的?

考虑以下代码:#include#include#include#include#include#includeintmain(){usingnamespaceboost::units;std::cout.precision(std::numeric_limits::digits10);std::cout(180.*degree::degree)我得到以下输出:Everyoneknowsthat180deg=3.14159265358979radBoostthinksthat180deg=3.14159265359rad显然,Boost.Units在某处手动定义了精度非常低的M_PI,因

c# - Visual Studio Code 和 Visual Studio 使用相同的编译器吗?

我想知道我是否可以信任VisualStudioCode使用与VisualStudio相同的标准进行编译并避免在虚拟机上运行VisualStudio。 最佳答案 VisualStudioCode使用Roslyn平台(参见here)。与VisualStudio2015相同。在Linux和OSX上使用Mono编译器。IDE本身基本上是GitHubAtom的扩展(非常棒),当然,其功能甚至无法与完整的VisualStudio相提并论。但它非常干净且易于使用。尤其是新的ASP.NET5Web应用程序,它们非常类似于Node.js/Angula

c++ - Boost Log 在尝试第一个日志语句时导致崩溃(当不是管理员时)

我现在正在尝试部署我的应用程序,它使用BoostLog(Boost1.58)。这是一个简单的控制台应用程序,在Windows7中运行。日志记录在我的个人桌面上运行得非常好。但是,当我将应用程序部署到Win7虚拟机时,它会在我的第一个日志语句处崩溃:boost::log::sources::severity_loggerslg;BOOST_LOG_SEV(slg,SeverityLevel::Notification)日志目录已创建,但日志文件从未创建且应用程序崩溃。我已经在我的%APPDATA%目录和我的文档目录中尝试了一个日志文件目录。奇怪的是:当我以管理员身份运行该应用程序时,它可

c++ - boost::phoenix try_catch_all 构造编译失败

我正在编写用于日期解析的boost::spirit::qi语法。#include#include#includetemplatestructdate_rfc1123_grammar:boost::spirit::qi::grammar{typedefboost::gregorian::datevalue_type;date_rfc1123_grammar():date_rfc1123_grammar::base_type(date){namespaceqi=boost::spirit::qi;namespacephx=boost::phoenix;usingqi::_pass;usin

c++ - 是否可以在 Visual Studio 2012 中配置性能 session 文件 (VSP) 的位置?

在某些情况下,VisualStudio2012的探查器生成的文件非常大。这些文件的扩展名为“.vsp”这些文件是在我使用VisualStudio2012Professional中“分析”菜单下的“启动性能向导”启动探查器后生成的。VisualStudio正在与解决方案(.sln)文件相同的目录中创建用于分析的VSP文件。我的项目存储在一个有点小(只有100GB)的SSD磁盘上,VisualStudio会迅速填满它们。我有一个更大(2TB)的旋转磁盘,我希望VisualStudio将其用于探查器。没有将整个解决方案移动到更大、更慢的数据驱动器...是否可以在VisualStudio201