草庐IT

Instruction

全部标签

c++ - "ucrtbase.dll"中的 _snprintf_s() 崩溃,状态为 STATUS_ILLEGAL_INSTRUCTION

我注意到我的二进制文件会在没有SSE支持的情况下在CPU上崩溃,异常代码为0xC000001D(STATUS_ILLEGAL_INSTRUCTION),尽管我正在使用选项进行编译/arch:IA32。而且我已经能够追踪到它崩溃的确切位置:无论在哪里首次调用_snprintf_s(),它都会崩溃。崩溃发生在ucrtbase.dll内部,不是我自己的代码。现在,有趣的部分是,当我使用编译器选项/MT进行“完全静态”构建时,为了避免显式依赖ucrtbase.dll,生成的二进制文件工作得很好!但是,只要我使用选项/MD将一些代码编译为“共享”构建,它就会在ucrtbase.dll中再次崩溃>

c++ - C++ 中的 vector 和多态性

我有一个棘手的情况。它的简化形式是这样的classInstruction{public:virtualvoidexecute(){}};classAdd:publicInstruction{private:inta;intb;intc;public:Add(intx,inty,intz){a=x;b=y;c=z;}voidexecute(){a=b+c;}};然后在一节课上我做了类似...voidsome_method(){vectorv;Instruction*i=newAdd(1,2,3)v.push_back(*i);}在另一个类(class)...voidsome_other_

c++ - C++中的成员函数指针for_each

我正在为一个学校项目用C++开发一个小型虚拟机,它应该像dc命令一样工作,并且由一个输入输出元素、一个芯片组、一个Cpu和Ram组成。我目前正在研究芯片组,其中我实现了一个小的解析类,以便能够从标准输入或文件中获取一些Asm指令,然后将这些指令推送到Cpu。问题是:我的指令在std::list中排序,我希望能够使用foreach指令逐条推送它们。为此,我需要能够调用我的成员函数“push_instruction”作为for_each的函数指针F;而且我找不到这样做的诀窍......有什么想法吗?这是我的代码:/***Functionwhichwillsupervise**thelexi

c++ - 尝试在 Raspberry Pi 上运行交叉编译的 Qt 时出现 "Illegal instruction"(Windows)

我已经找到并阅读了questionhere,还有线程here和here,不幸的是,它仍然没有解决。(尽管我使用了该线程中的所有提示来提供尽可能多的信息)有什么问题几天来,我一直在努力寻找一种能够交叉编译Qt的方法,因为我最近得到了一个,现在想学习如何编写一些基本的嵌入式应用程序。我正在按照此处的教程进行操作:http://visualgdb.com/tutorials/raspberry/qt/embedded/我使用了一个干净的系统,我唯一需要安装的是一些依赖项:apt-getinstalllibudev-devlibinput-devlibts-devlibxcb*(第一次运行它,

c++ - 如何在 C/C++ 中从运行时卸载内存偏移量计算?

我正在实现一个简单的VM,目前我正在使用运行时算法来计算各个程序对象地址作为基指针的偏移量。我今天问了几个关于这个主题的问题,但我似乎无处可去。我从第一个问题中学到了一些东西-Objectandstructmemberaccessandaddressoffsetcalculation-我了解到现代处理器具有虚拟寻址功能,无需任何额外的算术周期即可计算内存偏移量。从问题二-AreaddressoffsetsresolvedduringcompiletimeinC/C++?-我了解到手动进行偏移时无法保证会发生这种情况。现在应该很清楚,我想要实现的是利用硬件的虚拟内存寻址功能并从运行时卸载

c++ - C/C++ : how to separate addressing mode code from actual instruction code 中的 6502 仿真器

在业余时间,我开始为6502CPU编写一个非常简单的C++仿真器。我过去常常为这个CPU写下很多汇编代码,所以所有的操作码、寻址模式和其他东西都不是什么大问题。6502有56条不同的指令加上13种寻址模式,总共提供151种不同的操作码。对我来说,速度不是问题,所以我不想写一个巨大的switch-case语句并一次又一次地重复相同的代码(不同的操作码可以使用不同的寻址模式引用相同的指令)我想将实际的指令代码与寻址模式代码:我发现这个解决方案非常简洁,因为它只需要编写13个寻址模式函数和56个指令函数,无需重复。这里寻址模式的作用是://Addressingmodesuint16_tAdd

ios - 线程 1 :EXC_BAD_INSTRUCTION(code=EXC_I386_INVOP, subcode=0*0) 错误

我收到错误:1:EXC_BAD_INSTRUCTION(code=EXC_I386_INVOP,subcode=0*0)我是编码新手,正在关注此视频https://www.youtube.com/watch?v=Fv-A8lKn7VY代码如下:importUIKitimportCoreDataclassSwiftCoreDataHelper:NSObject{classfuncdirectoryForDatabaseFilename()->NSString{returnNSHomeDirectory().stringByAppendingString("/Library/Private

ios - 通过按钮替换 ViewController,线程 1 : EXC_BAD_INSTRUCTION

我想用一个ViewController替换我的UITableViewController,里面有一个UITableView。为此,我使用以下代码:@objcfuncbuttonAction(sender:UIButton!){letnewController=storyboard?.instantiateViewController(withIdentifier:"VcId")as!JobTableViewControllerself.navigationController?.present(newController,animated:true,completion:nil)}但是

ios - MKRouteStep step.instruction 未本地化

我正在使用mapKit开发一个应用程序,我可以在其中使用MKRouteStep属性找到当前位置和目的地。现在我想将这些说明翻译成法语。我该怎么做?我尝试了NSLocalizedString,但它不起作用。在Apple文档中here,它说“此属性中的字符串已根据用户的语言首选项进行本地化。”,我的设备是法语,但我仍然有英文说明...如有任何帮助,我们将不胜感激谢谢 最佳答案 找到了。只需打开项目的info.plist,然后添加“本地化”作为信息属性列表,它将创建一个包含“英语”的数组,只需添加另一个包含所需语言的项目(在我的例子中)“

ios - 类型转换时的 Swift 3 迁移 EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)

谁能告诉我为什么这个转换有异常(exception)?funcaSpecialMethod(colorRange:@escaping(NSNumber?,Int)->[Any]!){print("dosomethinghere")}letcolorRange={(param1:NSNumber!,param2:Int)->[Any]!inreturn[UIColor.red]}as!(NSNumber?,Int)->[Any]!aSpecialMethod(colorRange:colorRange)Xcode显示以下消息:error:Executionwasinterrupted,r