草庐IT

cpp_exceptions_handling

全部标签

c++ - 取消libcurl easy handle

有没有一种简单的方法可以从另一个线程取消curl_easy_perform? 最佳答案 您必须使用回调函数(写入/读取/进度)来执行取消。另一个线程需要设置一个标志,回调函数检查标志并返回适当的值以取消操作。 关于c++-取消libcurleasyhandle,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/235763/

c++ - LoadLibrary 失败 : First chance exception 0xC0000139 (DLL Not Found) - How to debug?

我有一个dll“mytest.dll”,当通过LoadLibrary()加载时,返回NULL(并且127作为GetLastError())。如果我在“mytest.dll”上使用DependencyWalker,它会报告它应该正确加载并且正确找到所有DLL。在主机exe上运行DependencyWalker的探查器选项会在日志中显示以下相关部分:00:00:55.099:Loaded"mytest.DLL"ataddress0x07860000bythread0xBBC.Successfullyhookedmodule.00:00:55.115:Firstchanceexception

c++ - 影响和异常(exception)

假设我有以下功能:SomeTypecreateSomeType();根据某些原因可以抛出。然后:SomeTypeval=SomeType();//initialvaluetry{val=createSomeType();//here}catch(std::exception&){}如果createSomeType()抛出异常,我是否可以始终假设val值未更改? 最佳答案 是的,如果createSomeType()抛出异常,赋值将不会发生。控制流将从throw语句开始,通过createSomeType()在堆栈上拥有的任何对象的析构函

c++ - 如何从代码块中的 .cpp 文件创建 .exe?

我刚刚开始学习C++,并显示我找到的代码的输出thismethod.这在我第一次编译StructureofaProgramme.cpp时有效:#includeusingnamespacestd;intmain(){cout它给了我一个.exe,我打开并运行它,得到了一个可爱的“HelloWorld!”出现,但是当我尝试编译第二个时,Variables.cpp:#includeusingnamespacestd;intmain(){inta,b;intresult;a=5;b=2;a=a+1;result=a-b;cout我根本没有得到.exe,所以不知道如何打开它。我尝试重新编译Str

c++ - 非模板类中的模板函数——H和CPP文件的划分

我曾经(并且已经有很长一段时间)的印象是您必须在.h文件中完全定义所有模板函数,以避免由于模板编译过程(非C++11)而发生的多重定义错误).我正在阅读一位同事的代码,他有一个非模板类,其中声明了一个模板函数,他将函数声明与函数定义(在H中声明,在CPP中定义)分开。出乎我的意料,它编译并运行良好。非模板类中的模板函数的编译方式与模板类中的函数的编译方式有区别吗?有人可以解释一下这种区别是什么或者我可能会感到困惑的地方吗? 最佳答案 有趣的一点是模板如何以及何时被实例化。如果可以在链接时找到实例化,则模板定义不需要在头文件中可见。有

c++ - 使用单独的 .h 和 .cpp 文件 boost 序列化

我正在试验boost序列化库,并且大部分都可以正常工作。唯一的问题是当我尝试序列化具有单独的.h和.cpp文件的对象时。当我使用这个命令编译时:g++boostSerialize.cppClass.cpp-lboost_serialization我收到这个错误:/tmp/cc8kbW6J.o:Infunction`voidboost::serialization::access::serialize(boost::archive::text_oarchive&,Class&,unsignedint)':boostSerialize.cpp:(.text._ZN5boost13seria

c++ - Cpp 中的私有(private)静态数据成员.. 只能在其定义时初始化,而类内初始化无效?

在头文件中初始化我得到以下错误:invalidin-classinitializationofstaticdatamemberofnon-integraltype'bool[8]'如果我尝试在.cpp中初始化,我得到:'boolIon::KeyboardInput::key[8]'isastaticdatamember;itcanonlybeinitializedatitsdefinition标题如下:enumMYKEYS{KEY_UP,KEY_DOWN,KEY_LEFT,KEY_RIGHT,KEY_W,KEY_S,KEY_A,KEY_D};classKeyboardInput{pub

c++ - CreateFile 返回错误 INVALID_HANDLE_VALUE(对于 COM 端口),GetLastError 返回 "can' t 找到指定的文件”

我正在打开一个端口与设备通信并控制设备,但是CreateFile()函数返回INVALID_HANDLE_VALUE。GetLastError()返回2,这意味着它找不到指定的文件。我的代码如下所示:wsprintf(szPort,"COM%d",nPort);m_hIDComDev=CreateFile(szPort,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,NULL);if(m_hIDComDev==INVALID_HANDLE_VALUE){

c++ - qdbusxml2cpp 未知类型

在使用qdbusxml2cpp程序将以下xml转换为Qt类时,出现此错误:qdbusxml2cpp-cObjectManager-aObjectManager:ObjectManager.cppxml/object_manager.xmlGotunknowntype`a{oa{sa{sv}}}'Youshouldadd"/>totheXMLdescriptionD脚说明:XML:从这个网站(http://techbase.kde.org/Development/Tutorials/D-Bus/CustomTypes)我了解到我需要向XML添加注释以使该工具正常工作。这是我目前所拥有的:

20240202在WIN10下使用whisper.cpp

20240202在WIN10下使用whisper.cpp2024/2/214:15【结论:在Windows10下,确认large模式识别7分钟中文视频,需要83.7284seconds,需要大概1.5分钟!效率太差!】83.7284/420=0.19935333333333333333333333333333前提条件,可以通过技术手段上外网!^_首先你要有一张NVIDIA的显卡,比如我用的PDD拼多多的二手GTX1080显卡。【并且极其可能是矿卡!】800¥2、请正确安装好NVIDIA最新的545版本的驱动程序和CUDA、cuDNN。2、安装Torch3、配置whisper识别得到的字幕chs