草庐IT

Some_Service

全部标签

c++ - '从 some_type** 到 const some_type** 的无效转换'

我有一个函数需要constsome_type**作为参数(some_type是一个结构,函数需要一个指向这种类型数组的指针).我声明了一个some_type*类型的局部变量,并对其进行了初始化。然后我将该函数称为f(&some_array),编译器(gcc)说:error:invalidconversionfrom‘some_type**’to‘constsome_type**’这里有什么问题?为什么我不能将变量转换为常量? 最佳答案 参见:Whycan'tIpassachar**toafunctionwhichexpectsaco

c++ - 什么叫表达式 `T (&some(...)) [2]` where T=char

我在库实现中看到过这个表达式,我基本上理解它被用来培养SFINAE甚至拉动static_assert触发器。它基本上采用以下形式:templatechar(&checkValid(...))[2];templatecharcheckValid(e);whereeisanexpression(usingtypeT)resultsintypeX如果e格式正确则结果将是(假设使用sizeof)1else2并且可以应用于:static_assert(sizeof(checkValid(0))==1,"");前几天我以不同的方式做了类似的事情:usingnamespacestd;template

c++ - boost::io_service poll_one 和 run_one 有什么区别?

io_service::poll_oneRuntheio_serviceobject'seventprocessinglooptoexecuteonereadyhandler.对比io_service::run_oneRuntheio_serviceobject'seventprocessinglooptoexecuteatmostonehandler.从这个解释来看,poll_one似乎可以执行多个处理程序?run_one或poll_one是使用任何称为run()的线程还是仅使用调用poll_one/run_one的线程?ASIO的文档非常稀少。 最佳答案

c++ - 无法从 boost::asio::io_service::run 捕获异常

我在boost::asio上有一个TCP服务器,它监听连接并在获取连接后开始使用boost::asio::write在循环中发送数据block。boolTcpServer::StartTcpServer(std::shared_ptrio_service){m_ioservice=io_service;m_acceptor.reset(newboost::asio::ip::tcp::acceptor(*m_ioservice,boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(),m_port)));m_socket=std

c++ - 使用 boost socket ,我只需要一个io_service吗?

在几个不同的线程中具有多个连接。.我基本上是在做一个使用boost/asio.hpp和tcp的基本类。现在我正在阅读:http://www.boost.org/doc/libs/1_44_0/doc/html/boost_asio/tutorial/tutdaytime1.html它说:“所有使用asio的程序都必须至少具有一个io_service对象。”所以我的基类应该有一个静态的io_service(这意味着所有程序只有1个,并且所有不同的线程和连接都将使用相同的io_service对象)或使每个连接都有自己的io_service?谢谢你在前面!更新:好的,所以基本上我希望做的是为

c++ - io_service::run() 的专用线程

我想提供一个由一个全局线程驱动的全局io_service。很简单,我只是让线程主体调用io_service::run()。但是,这不起作用,因为run(run_one,poll,poll_one)如果没有工作则返回去做。但是,如果线程反复调用run(),就会在无事可做时忙循环。我正在寻找一种方法让线程在io_service中没有任何工作要做时阻塞。我可以在混合中添加一个全局事件,以便线程阻塞。但是,这将要求io_service的用户在每次使用该服务时通知该事件。不是理想的解决方案。注意:没有实际的全局变量,我从不使用事件进行并发我只是将问题简化为我的确切需要。真正的目标是一个不需要io

c++ - 海森堡 : WinApi program crashes on some computers

求助!我真是无计可施了。我的程序是一个小的个人笔记管理器(谷歌搜索“cintanotes”)。在某些计算机上(当然我不拥有它们)它在启动后立即崩溃并出现未处理的异常。这些计算机没有什么特别之处,只是它们往往配备AMDCPU。环境:WindowsXP、VisualC++2005/2008、原始WinApi。关于这个“Heisenbug”,可以肯定的是:1)崩溃仅发生在Release版本中。2)一旦我删除了所有与GDI相关的内容,崩溃就会消失。3)BoundChecker没有任何提示。4)写日志显示崩溃发生在局部int变量的声明上!怎么可能呢?内存损坏?任何想法将不胜感激!更新:我已经成功

spring - 在 Kotlin 中使用 @Service 时抛出异常

我正在Kotlin中编写一个SSM项目,只要我尝试使用@Service注释一个类(服务实现),就会发生这种情况。尝试用Java编写这个实现类,结果一切正常。试图只保留必要的覆盖方法。open已添加。context:component-scan已配置。java.lang.IllegalStateException:FailedtoloadApplicationContextatorg.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAware

spring - 在 Kotlin 中使用 @Service 时抛出异常

我正在Kotlin中编写一个SSM项目,只要我尝试使用@Service注释一个类(服务实现),就会发生这种情况。尝试用Java编写这个实现类,结果一切正常。试图只保留必要的覆盖方法。open已添加。context:component-scan已配置。java.lang.IllegalStateException:FailedtoloadApplicationContextatorg.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAware

c++ - 为什么 boost::asio::io_service 不能用 std::bind 编译?

我正在尝试使用std::thread、std::bind和boost::asio编译简单的测试程序g++4.9.1(-std=c++11).但是,在创建新线程时,当我使用std::bind时,它不会编译。另一方面,当我切换到boost::bind时,一切都很好。代码如下:#include#include#include#include#include#includeintmain(intargc,char*argv[]){boost::asio::io_serviceioService;std::unique_ptrt;t.reset(newstd::thread(std::bind(