草庐IT

send_signal

全部标签

c++ - 使用 MPI::Send 可以发送的最大数据量

使用MPI::Isendas的语法MPI::RequestMPI::Comm::Isend(constvoid*buf,intcount,constMPI::Datatype&datatype,intdest,inttag)const;是限制发送的数据量std::numeric_limits::max()许多其他MPI函数都有int参数。这是MPI的限制吗? 最佳答案 MPI-2.2定义数据长度参数为int.自int以来,这可能而且通常是大多数64位Unix系统上的问题。仍然是32位的。此类系统称为LP64,这意味着long和指针是

c++ - 不建议通过 Qt Signals 发出大量数据

为什么不建议在Qt中通过信号发送大量数据?为什么我们可以选择通过它们发送我们自己的类型? 最佳答案 WhyitisnotrecommendedtoemitalargeamountofdataoversignalsinQt?没有这样的建议。参见thisquestion供讨论。数据与对象首先,当我们通过信号参数传递数据时,我们传递对象实例-按值或按引用。然而,我们必须区分数据和对象。QString可能包含很多数据,但这并不意味着它会在您复制字符串对象时复制数据。//onemillionworthof'a's,about2megabyte

c++ - Qt Signal/Slots发送完整结构

我正在尝试通过两个线程之间的信号/槽发送一个结构,我的信号/槽已正确连接并且我已经能够发送包含我的部分数据的QString但现在我需要发送整个东西并且结构似乎最明智的。但是,当我尝试时,信号未发送/接收。问题似乎只是发送/接收结构,我尝试了很多方法之前和之后的处理。我不能使用这样的指针here或here因为我的数据生成速度太快,内存被覆盖或释放(我尝试过使用指针并假设引用也会受到类似的影响)。我已经添加了Q_DECLARE_METATYPE到我的结构。我的结构暂时只是一个小测试(后面会放大),在自己的头文件中。#ifndefRETURNSTRUCT_H#defineRETURNSTRU

c++ - Qt Signal Slot Architecture 不需要的无限循环

我对qt信号槽系统有问题。首先,我创建了一个名为SysteminSingleton模式的类,因此我可以在需要的地方访问它的实例。系统有信号SelectionChanged。我有一个列表小部件,我正在将它的itemSelectionChanged信号连接到我的名为onSelectionChanged的​​自定义插槽。在onSelectionChanged插槽中,我发出系统的SelectionChanged信号。目前还没有问题。在我的软件设计中,许多GUI小部件或自定义类可以使用对象的选择,并且系统的SelectionChanged信号可以由列表小部件以外的小部件发出。所以我在列表小部件中

网络连接 UDP2,UDP Connect, bind, send, recieve认知, -入门8

LWIP编程接口有RAW,NETCONN,SOCKET2.UDP函数的理解#defineUDP_SERVER_PORT8000//PCside#defineUDP_CLIENT_PORT1234//ctrlboardside//PCIPaddress#defineDEST_IP_ADDR0192#defineDEST_IP_ADDR1168#defineDEST_IP_ADDR23#defineDEST_IP_ADDR3115/*CreateanewUDPcontrolblock*/upcb=udp_new();if(upcb!=NULL){/*assigndestinationIPaddre

c++ - send() 使我的程序崩溃

我正在运行一个服务器和一个客户端。我正在我的电脑上测试我的程序。这是服务器端向客户端发送数据的函数:intsendToClient(intfd,stringmsg){cout当客户端退出时,它向服务器发送“BYE”,服务器用上述函数回复它。我将客户端连接到服务器(它在一台计算机上完成,2个终端),当客户端退出时服务器崩溃-它从不打印15。知道为什么吗?知道如何测试原因吗?谢谢。编辑:这是我关闭客户端的方式:voidcloseClient(intnotifyServer=0){/**notifyserverbeforeclosing*/if(notifyServer){intlen=SE

c++ - clang 不喜欢 boost::signals2?

一整天,我一直在使用Boost::Signals2库从部分代码中获取编译器错误。我已经将我想要做的事情简化为一个最小的例子:#includeintfoo();structfirst_nonzero{usingresult_type=int;templateresult_typeoperator()(Itfirst,Itlast)const{while(first!=last){if(*first!=0){return*first;}}return0;}};intfoo(){usingsignal=boost::signals2::signal;signals;returns();}当我

c++ - `boost::signals2` 中的信号签名是如何实现的?

我在我的项目中使用boost::signals2已有一段时间了。令我遗憾的是,我仍然不明白它们是如何在幕后实现的。我的问题已经从信号的定义开始了。如何定义如boost::signals2::signal处理了吗?我可以从实现细节中看出,签名变成了一个模板参数,它被恰本地命名为Signature。但是,我不明白语法。C++标准是否允许这种语法?以这种形式提供的信号如何“存储”函数签名?我已经尝试查看源代码,但无法找到此语法的解释。任何帮助将不胜感激。 最佳答案 是的,这种语法是允许的;它表示的类型是一个对采用bool和double并返

c++ - 将 std::bind 与 boost::signals2 一起使用是否安全?

使用std::bind将成员函数传递给boost::signals2::signal::connect()是否安全?换句话说,boost::bind和std::bind可以互换吗?它使用VC++2010SP1编译,但模板代码让我难以理解,恐怕我可能会冒险进入未定义的行为领域。 最佳答案 我在这方面没有经验,因为我希望connect接受任何实现有效函数调用运算符的东西。使用与签名匹配的任何函数或函数对象调用它应该是安全的,无论是boost::bind、std::bind还是其他任何东西。Boost库被设计为通用的,因此它们通常不会互相

c++ - Qt 信号/槽 : Is it an error to emit a signal from a temporary object?

在Qt中,如果从一个临时对象中调用一个信号,使得该对象可能在调用槽时被删除,这是一个错误吗?如果相关,代码会从临时对象的构造函数发出信号。(注意:没有指针或引用作为参数传递,所以这不是关于悬挂指针或引用的问题。我只是想知道,以最简单的形式,从Qt中的一个临时对象。)这是我的代码的简化版本://MyapplicationclassHandyApplication:publicQApplication{Q_OBJECTpublic:explicitHandyApplication(intargc,char*argv[]);signals:publicslots:voidhandySlot(