草庐IT

dev_queue_xmit

全部标签

c++ - 为什么AVG(antivirus)将Dev-C++生成的可执行文件检测为病毒?

我创建了一个默认的Dev-C++项目,而不是通常的return0;,而是returnEXIT_SUCCESS;,并且在编译和运行它时,我的防病毒软件警告我该可执行文件是病毒。我用VisualC++,Eclipse和Codeblocks尝试了相同的代码,他们都成功地编译了它……所以我在这里有些困惑。—当其他类似的宏运行正常时,为什么AVG将returnEXIT_SUCCESS;行作为Dev-C++生成的可执行文件检测为病毒? 最佳答案 AVG为什么将我的C++程序标记为病毒?例如,这是AVG检测为病毒的C++程序:#include#i

c++ - 在 C++11 中移出 std priority_queue 的元素

最小的工作示例。#include#include#include//#defineUSE_PQstructMyClass{constchar*str;MyClass(constchar*_str):str(_str){}MyClass(MyClass&&src){str=src.str;src.str=nullptr;}MyClass(constMyClass&)=delete;};structcmp_func{booloperator()(constMyClass&,constMyClass&)const{returntrue;}};typedefstd::priority_queu

c++ - boost::lockfree::queue 在 c++11 中不是无锁的吗?

在这个websocket++示例中,我试图用boost::lockfree::queue替换std::queuehttps://github.com/zaphoyd/websocketpp/blob/experimental/examples/broadcast_server/broadcast_server.cpp看起来它可以在不真正改变任何语法但删除boost::unique_lock行的情况下完成。但是,当我查看boost示例时,它有一个检查无锁的代码部分http://boost-sandbox.sourceforge.net/doc/html/lockfree/examples

c++ - 为什么 std::priority_queue 没有 clear() 成员函数

我今天做了一些黑客攻击,发现std::priority_queue没有clear()成员函数。是否有任何技术原因可以说明为什么标准委员会可能将其排除在外?需要说明的是,我知道通过赋值很容易解决这个问题:oldPQ=std::priority_queue{};此解决方案不太理想,因为:它需要你重复类型——这不会在维护下继续工作。正如@chris在下面指出的那样,如果您使用默认构造函数,您可以简化它,但如果您有自定义比较器,这可能是不可能的。std::priority_queue不能在需要clear()的模板函数中使用成员函数。不符合其他容器提供的公共(public)接口(interfac

c++ - boost::lockfree::spsc_queue 忙等待策略。有阻塞流行音乐吗?

所以我正在使用boost::lockfree::spec_queue通过两个运行我应用程序中两个对象的仿函数的boost_threads进行通信。除了spec_queue::pop()方法是非阻塞的之外,一切都很好。即使队列中没有任何内容,它也会返回True或False。但是我的队列似乎总是返回True(问题#1)。我认为这是因为我预先分配了队列。typedefboost::lockfree::spsc_queue>spsc_queue;这意味着要有效地使用队列,我必须忙于等待使用100%cpu不断弹出队列。我宁愿不睡任意长的时间。我在java中使用了其他队列,这些队列会阻塞直到对象可

c++ - 在这种情况下,为什么 STL priority_queue 并不比 multiset 快多少?

我正在比较STL(g++)priority_queue的性能,发现push和pop没有我预期的那么快。见以下代码:#include#includeusingnamespacestd;typedefmultisetIntSet;voidtestMap(){srand(0);IntSetiSet;for(size_ti=0;iIntQueue;voidtestPriorityQueue(){srand(0);IntQueueq;for(size_ti=0;i我编译了这个-O3然后运行了valgrind--tool=callgrind,KCachegrindtestMap占用总CPU的54%

c++ - 为什么使用 std::multiset 作为优先级队列比使用 std::priority_queue 更快?

我尝试用std::priority_queue替换std::multiset。但我对速度结果感到失望。算法运行时间增加50%...相应的命令如下:top()=begin();pop()=erase(knn.begin());push()=insert();我对priority_queue的实现速度感到惊讶,我期待不同的结果(对PQ更好)...从概念上讲,多重集被用作优先级队列。为什么优先级队列和多重集有如此不同的性能,即使使用-O2?十个结果的平均值,MSVS2010,WinXP,32位,方法findAllKNN2()(请参见下文)MSNtime[s]1000000.510000008

c++ - 设置priority_queue容器的好处

使用STLpriority_queue,您可以设置底层容器,例如vector。为STLpriority_queue指定容器有哪些优点? 最佳答案 设置底层容器可以分离出两个逻辑上独立的关注点:如何存储构成优先级队列(容器)的实际元素,以及如何组织这些元素以有效地实现优先级队列(priority_queue适配器类)。例如,vector的标准实现不需要在其容量远大于其实际大小时自行缩小。这意味着如果您有一个由vector支持的优先级队列,如果您将大量元素入队然后将所有元素出队,您可能最终会浪费内存,因为vector将保持其旧容量。另一

c++ - Dev cpp 中没有错误窗口

我为这个愚蠢的疑问感到抱歉。但是当我编译这个程序时,它只显示错误行。它不显示错误窗口。(我在这里故意犯了错误,我知道代码中的正确解决方案)。我尝试了菜单栏中的View部分,但找不到解决方案。任何设置帮助将不胜感激。 最佳答案 不用抱歉..它发生了..右击状态栏点击float报告窗口。将出现一个可移动的窗口。单击内部选项卡式关闭按钮。(您可能需要右键单击报告窗口以调整其大小并看到关闭按钮)之后,随机调整窗口大小,使其不再隐藏。快乐编码..!!!编辑-正如@Alex在下面的一条评论中所建议的那样-您可能在更改错误窗口大小时隐藏了它。所以

c++ - std::queue 的基于范围的循环

我试图在我的项目中寻找std::vector的替代品,我发现std::queue就是我要找的为。我有很多使用range-basedloop进行迭代的函数,我正在尽可能地维护它。我尝试在std::queue中编译一个range-basedloop但我得到的只是编译错误error:nomatchingfunctionforcallto'begin(std::queue&)'std::queue不支持范围基循环吗?我确实尝试了Google搜索,但没有找到与此相关的任何主题。更新:我的编译器是GCCv4.7.1-std=c++11已启用这是错误的测试代码:std::queueQ;for(int