小编Mic*_*per的帖子

嵌入式Python应用程序中的运行时错误R6034

我正在开发一个使用Boost.Python嵌入Python解释器的应用程序.这用于运行与主程序交互的用户生成的"脚本".

不幸的是,一个用户在尝试运行脚本时报告运行时错误R6034.主程序启动正常,但我认为加载python27.dll时可能会出现问题.

我使用的是Visual Studio 2005,Python 2.7和Boost.Python 1.46.1.问题仅发生在一个用户的计算机上.我以前处理过明显的问题,并设法解决它们,但在这种情况下,我有点不知所措.

有没有其他人遇到过类似的问题?你能解决吗?怎么样?

visual-studio-2005 manifest boost-python visual-c++ python-2.7

39
推荐指数
2
解决办法
5万
查看次数

强制 QMediaPlayer 为视频擦除应用程序准确更新位置?

我正在编写一个应用程序,允许用户浏览打开的视频。使用 Qt 5.3 在 Windows 7/8 上进行开发,我一直在使用QMediaPlayerQVideoWidget遵循qvideowidget示例项目。结果非常好,除了似乎QVideoWidget只在空闲时间更新。尽管如此,这仍然是一个良好的开始并且可用。

然而,当我在 Mac OS 10.10(同样使用 Qt 5.3)上构建时,擦洗的行为就好像视频中每秒只有一帧一样。当我拖动“位置”滑块时,视频会从一帧跳到一秒后的帧,然后再跳一秒,即使我QMediaPlayer::setPosition多次调用这两帧之间的位置。

可以使用videowidgetQt 5.3 附带的示例重现该问题:Qt\Examples\Qt-5.3\multimediawidgets\videowidget。当在 Windows 计算机上拖动滑块时,滑块QVideoWidget会在间隔相当近的帧之间移动。当在 Mac 上(至少在我的)上拖动滑块时,QVideoWidget帧之间的跳转间隔大约为一秒。无论我等待“中间”帧渲染多久,除非我点击“播放”按钮,否则它不会发生。

我尝试过一个接一个地调用QMediaPlayer::play()QMediaPlayer::pause()强制更新,但这似乎不起作用——QMediaPlayer异步工作,因此更新没有时间生效。

如果我检查 的值QMediaPlayer::position,我发现它实际上在这些跳转之间没有改变。看起来,当我调用 时QMediaPlayer::setPosition,它实际上在 Mac 上将位置舍入为一秒增量,在 Windows 计算机上舍入为更精细的增量。

理想情况下,我想跳转到视频中的特定位置并立即在QVideoWidget. 有没有办法强制QMediaPlayer准确设置位置并更新关联QVideoWidget?有没有更好的方法来实现视频中的平滑擦洗?

感谢您的帮助!

c++ qt qmediaplayer qtmultimedia

5
推荐指数
1
解决办法
2737
查看次数

首先获取文字<br />

我正在学习jQuery,但我对这个有点难过.我有以下HTML:

...
<h1 class="myClass">First Part<br />Second Part</h1>
...
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法将此元素与下载数据隔离

$(data).find("h1.myClass");
Run Code Online (Sandbox Code Playgroud)

我想要提取的是"第一部分"位.我以为我可以这样做:

$(data).find("h1.myClass:first-child").text();
Run Code Online (Sandbox Code Playgroud)

但是,这会导致空字符串.经过大量的搜索,我仍然不确定我在这里做错了什么.任何帮助将不胜感激.

谢谢!

javascript jquery

4
推荐指数
3
解决办法
7018
查看次数

在ARM Cortex-M4中调试硬故障

我尽力尝试调试EFR32BG12处理器上的硬故障。我一直在这里遵循Silicon Labs知识库中的说明:

https://www.silabs.com/community/mcu/32-bit/knowledge-base.entry.html/2014/05/26/debug_a_hardfault-78gc

我也一直在这里使用Keil应用笔记来填写一些详细信息:

http://www.keil.com/appnotes/files/apnt209.pdf

我已经设法使硬故障在一个地方始终如一地发生。当发生硬故障时,知识库文章中的代码为我提供以下值(在调用硬故障处理程序之前,处理器将其推到堆栈上):

Name     Type        Value               Location
~~~~     ~~~~        ~~~~~               ~~~~~~~~
cfsr     uint32_t    0x20000 (Hex)       0x2000078c    
hfsr     uint32_t    0x40000000 (Hex)    0x20000788    
mmfar    uint32_t    0xe000ed34 (Hex)    0x20000784    
bfar     uint32_t    0xe000ed38 (Hex)    0x20000780    
r0       uint32_t    0x0 (Hex)           0x2000077c    
r1       uint32_t    0x8 (Hex)           0x20000778    
r2       uint32_t    0x0 (Hex)           0x20000774    
r3       uint32_t    0x0 (Hex)           0x20000770    
r12      uint32_t    0x1 (Hex)           0x2000076c    
lr       uint32_t    0xab61 (Hex)        0x20000768    
pc       uint32_t    0x38dc8 (Hex)       0x20000764    
psr      uint32_t    0x0 (Hex)           0x20000760  
Run Code Online (Sandbox Code Playgroud)

看一下Keil应用笔记,我相信CFSR值为0x20000表示使用错误并设置了INVSTATE位,即:

INVSTATE:无效状态:0 =无效状态1 =处理器试图执行一条指令,该指令非法使用了执行程序状态寄存器(EPSR)。将该位置1时,为异常返回而堆叠的PC值指向尝试非法使用EPSR的指令。可能的原因:a)以LSB = 0将分支目标地址加载到PC。b)堆栈PSR在异常或中断处理期间损坏。c)向量表包含LSB …

debugging arm

4
推荐指数
1
解决办法
1177
查看次数