草庐IT

c++ - IDXGISwapChain::Present 导致驱动程序崩溃和设备移除

我正在设计一个使用DirectX11API的游戏引擎,特别是使用延迟上下文。基本思想是让每个设备状态都有自己的延迟上下文,然后在渲染完所有几何图形后,通过遍历每个延迟上下文并在直接上下文中执行其命令列表来显示它。我通过简单地使用线框着色器在屏幕上绘制两个三角形来测试它,仅此而已。所有DirectX调用都不会返回错误,即使在PIX调试报告中查看时也是如此,但是一旦调用IDXGISwapChain::Present(0,0),整个屏幕就会变黑然后返回。然后屏幕右下角会弹出一个错误框,提示显示驱动程序“已停止响应并已成功恢复”。查看PIX日志,我发现在PIX日志中调用的前block和后blo

c++ - 卡住在 __write_nocancel

所以我有一个非常重要的程序,偶尔会卡住。该程序使用Qt、开放场景图和谷歌日志记录。这种卡住发生在谷歌日志中的打印中间。该程序本身正在打印大量调试信息。我能够通过gdb-server连接到程序,这是堆栈跟踪:#00x000000397ac0e030in__write_nocancel()at../sysdeps/unix/syscall-template.S:82#10x00007f5eecb74aebingoogle::LogMessage::SendToLog()()from/lib64/libglog.so.0#20x00007f5eecb71fc7ingoogle::LogMes

C++和const reference to temporary binding问题(在C++0X中实现D语言传值传引用规则)

我想知道可以在多大程度上模仿C++中按值传递和按引用传递规则的D语言规则。有关背景,请参阅以下两个引用资料(主要是Alexandrescu):http://bartoszmilewski.wordpress.com/category/d-programming-language/page/2/和http://groups.google.com/group/comp.std.c++/msg/303e3bf2407a7609?其中一个关键区别是,在D中,const引用不绑定(bind)(作为非const引用)到临时对象。但是,我不知道有什么方法可以定义泛型类X,从而导致以下代码无法编译:v

电脑服务器离线安装.net framework 3.5解决方案(错误:0x8024402c )(如何确定当前系统是否安装NET Framework 3.5)

问题环境:    日常服务的搭建或多或少都会有需要到NETFramework3.5的微软程序运行框架,本次介绍几种不同的安装方式主要解决运行在Windows2012以上的操作系统的服务。NETFramework3.5是什么?        .NETFramework是微软公司推出的程序运行框架,主要包含运行库和公共语言集,3.5是版本号,目前最新的版本是4.0(不向下兼容)。.NETFramework设计初衷是,实现在不同的操作系统(如windows,unix,macos等)上均可以使用基于.NET开发的软件,实现软件共用。无论使用何种操作系统,只要在相应系统上安装.NETFramework,

c++ - SIGSEGV 简单的 gloox 客户端

我一直在尝试第一次使用gloox1.0.14,我认为我使用的是最简单的示例,但很糟糕,我得到了SIGSEGV。谁能重现这个问题或告诉我为什么会发生这种情况以及我做错了什么?似乎JID对此有影响,但我希望它会抛出错误而不是segv崩溃,并且JID对我来说似乎有效,即使证书不正确或我仍然希望它抛出的任何东西相反。#include#include"gloox/client.h"intmain(){gloox::JIDjid("segv@jabber.de");gloox::Clientclient(jid,"password");client.connect();returnEXIT_SUC

c++ - 我试过 : valgrind, _GLIBCXX_DEBUG,-fno-strict-aliasing;我该如何调试这个错误?

我有一个非常奇怪的错误,我花了几天时间试图弄清楚,所以现在我想看看是否有人有任何意见可以帮助我理解发生了什么。一些背景。我正在从事一个软件项目,该项目涉及使用Boost1.45向Python2.7.1添加C++扩展,因此我的所有代码都通过Python解释器运行。最近,我对破坏了我们的回归测试之一的代码进行了更改。这个回归测试可能对数值波动过于敏感(例如不同的机器),所以我应该解决这个问题。但是,由于此回归在产生原始回归结果的同一台机器/编译器上发生故障,因此我将结果的差异追溯到这段数字代码(可证实与我更改的代码无关):c[3]=0.25*(-3*df[i-1]-23*df[i]-13*

c++ - 为什么 `this`等于0x0,导致我的程序崩溃?

我正在设计一个简单的Connect4游戏。到目前为止,我有4个底层类:Colour-负责表示颜色(RGBA)。包括转换运算符。Player-代表游戏玩家。每个Player有一个Colour和一个名字。Board-代表游戏板。它包含维度,以及Tile的二维vector。具有这些尺寸。Tile-Board中的嵌套类.代表板上的一个空间。每个Tile有一个Colour和一个std::unique_ptr给那block瓷砖的主人。所有者以nullptr开头并且可以一次更改为Player.颜色一开始是透明的黑色。我测试了我的Colour类,它似乎工作正常。我的Player类(class)也处于最

0.96寸OLED显示屏介绍续

0.96寸OLED显示屏使用方法   (以中景园电子的0.96寸OLED显示屏为例)0.96寸OLED显示屏实物图   七针SPI/IIC0.96寸OLED显示屏使用方法:   七针SPI/IIC0.96寸OLED显示屏共有七个管脚,1~7分别为GDN、VCC、D0、D1、RES、DC、CS。此模块支持四线SPI、三线SPI、IIC接口。   0.96寸OLED显示屏裸屏是支持五种不同接口的,除了前面的三种还有6800、8080并口方式;由于这两种接口占用数据线比较多;而且不太常用,所以模块在设计的时候没有引出来。     模块的通信接口是通过BS0,BS1,BS2三个管脚来配置的。   在S

c++ - 如何读取寄存器 0x​​104567911 RBX、RCX、RDX、RSP。 C 或 C++ 中的 RBP、RSI、RDI?

这个问题在这里已经有了答案:Howcanyoupullavaluefromaregister?(1个回答)关闭9年前。假设我想从双核x64CPU上的那些寄存器(以及几乎所有这些)中读取值。我怎样才能做到这一点?我可以简单地写这样的东西吗:uint64_trax=0,rbx=0;__asm____volatile__(/*readvaluefromrbxintorbx*/"movq%%rdx,%0;\n"/*readvaluefromraxintorax*/"movq%%rax,%1;\n"/*outputargs*/:"=r"(rbx),"=r"(rax):/*noinput*//*c

c++ - boost 序列化按位序列化能力

我期望从is_bitwise_serializable特性中序列化如下类(没有序列化函数):classA{inta;charb;};BOOST_IS_BITWISE_SERIALIZABLE(A);Aa{2,'x'};some_archive我想知道,为什么需要为bitwise_serializable类提供序列化功能? 最佳答案 来自文档:Somesimpleclassescouldbeserializedjustbydirectlycopyingallbitsoftheclass.Thisis,inparticular,thec