草庐IT

hit-boosted

全部标签

c++ - 如何调试使用 boost 而不会失去理智的代码?

Boost是一组很棒的库,它确实boost了生产力。但是调试使用它的代码完全是一场噩梦。当然,遍历两万个头文件可能是一项有值(value)的智力练习,但如果您需要一遍又一遍地做呢?是否有一种对开发人员友好的方式来跳过boost部分并让调试器直接进入我的代码?VisualStudio有一个DebuggerStepThroughAttribute对于.NET框架。原生C++有什么类似的吗? 最佳答案 没有独立于平台/编译器的方式,但有人告诉我,您可以告诉调试器不要“进入”某些函数或类。您应该查找注册表项:[HKEY_LOCAL_MACH

c++ - 迭代 boost::variant 中的类型

我正在使用boost变体来保存一些生成的类型,现在我的代码生成器会创建一个带有类型的header和一个能够保存它们的变体。在初始化时,我想迭代变量中允许的类型,而不是变量当前持有的类型。我可以使用变体来做到这一点吗? 最佳答案 boost::variant通过types公开其类型,这是一个MPL列表。您可以使用mpl::for_each对MPL列表执行运行时操作。:structprinter{templatevoidoperator()(Tt){std::coutvar;boost::mpl::for_each(printer())

c++ - 迭代 boost::variant 中的类型

我正在使用boost变体来保存一些生成的类型,现在我的代码生成器会创建一个带有类型的header和一个能够保存它们的变体。在初始化时,我想迭代变量中允许的类型,而不是变量当前持有的类型。我可以使用变体来做到这一点吗? 最佳答案 boost::variant通过types公开其类型,这是一个MPL列表。您可以使用mpl::for_each对MPL列表执行运行时操作。:structprinter{templatevoidoperator()(Tt){std::coutvar;boost::mpl::for_each(printer())

c++ - 使用 boost::date_time 在当前时区获取当前时间的最简单方法?

如果我在命令行(Debian/Lenny)上执行date+%H-%M-%S,我会得到一个用户友好的(不是UTC,不是DST-less,时间a正常人在他们的watch上)打印时间。使用boost::date_time获得相同内容的最简单方法是什么?如果我这样做:std::ostringstreammsg;boost::local_time::local_date_timet=boost::local_time::local_sec_clock::local_time(boost::local_time::time_zone_ptr());boost::local_time::local_

c++ - 使用 boost::date_time 在当前时区获取当前时间的最简单方法?

如果我在命令行(Debian/Lenny)上执行date+%H-%M-%S,我会得到一个用户友好的(不是UTC,不是DST-less,时间a正常人在他们的watch上)打印时间。使用boost::date_time获得相同内容的最简单方法是什么?如果我这样做:std::ostringstreammsg;boost::local_time::local_date_timet=boost::local_time::local_sec_clock::local_time(boost::local_time::time_zone_ptr());boost::local_time::local_

c++ - boost::interprocess message_queue 性能 - 相当慢?

我需要一个超快的MQ机制,发送方和接收方都用C++编写,在Windows平台上。我当前使用RCF-C++的实现因为IPC在Windows命名管道上的时钟速度约为20,000msg/sec。我正在根据thedemoapp测试boost::interprocessMessageQueues的性能。,并且测量到大约48,000条消息/秒,考虑到当我在同一台机器上(在C#中使用codefromthisblogpost)编写一个简单的内存映射文件通信时,我每秒收到大约150,000条消息,这非常慢。知道为什么我从boostmessage_queue中得到如此缓慢的性能,以及我可以尝试改进它吗?

c++ - boost::interprocess message_queue 性能 - 相当慢?

我需要一个超快的MQ机制,发送方和接收方都用C++编写,在Windows平台上。我当前使用RCF-C++的实现因为IPC在Windows命名管道上的时钟速度约为20,000msg/sec。我正在根据thedemoapp测试boost::interprocessMessageQueues的性能。,并且测量到大约48,000条消息/秒,考虑到当我在同一台机器上(在C#中使用codefromthisblogpost)编写一个简单的内存映射文件通信时,我每秒收到大约150,000条消息,这非常慢。知道为什么我从boostmessage_queue中得到如此缓慢的性能,以及我可以尝试改进它吗?

c++ - 基于范围的循环的 BOOST_FOREACH 和 c++11 之间的区别?

BOOST_FOREACH和c++11基于范围的循环之间的主要区别是什么?在特定情况下我想使用BOOST_FOREACH而不是基于范围的循环,反之亦然?在用std::vector填充1,000,000个int变量执行小测试后,我发现BOOST_FOREACH比基于范围的循环(比基于范围的循环花费大约1.25倍)。 最佳答案 主要区别在于range-for是一种语言结构,而BOOST_FOREACH是一个宏,它在底层做了很多魔术来做一些看起来像这种语言结构的事情。它试图在C++11之前的限制下做同样的事情。BOOST_FOREACH的

c++ - 基于范围的循环的 BOOST_FOREACH 和 c++11 之间的区别?

BOOST_FOREACH和c++11基于范围的循环之间的主要区别是什么?在特定情况下我想使用BOOST_FOREACH而不是基于范围的循环,反之亦然?在用std::vector填充1,000,000个int变量执行小测试后,我发现BOOST_FOREACH比基于范围的循环(比基于范围的循环花费大约1.25倍)。 最佳答案 主要区别在于range-for是一种语言结构,而BOOST_FOREACH是一个宏,它在底层做了很多魔术来做一些看起来像这种语言结构的事情。它试图在C++11之前的限制下做同样的事情。BOOST_FOREACH的

c++ - 我可以将( boost )绑定(bind)与功能模板一起使用吗?

是否可以使用(boost)bind将参数绑定(bind)到函数模板?//Defineatemplatefunction(justasillyexample)templateARG1FCall2Templ(ARG1arg1,ARG2arg2){returnarg1+arg2;}//trytobindthistemplatefunction(andcallit)...boost::bind(FCall2Templ,42,56)();//Thisworksboost::bind(FCall2Templ,42,56)();//Thisemits5pagesoferrormessagesonVS