小编Sim*_*lex的帖子

如何让ndk-gdb在Android上运行?

我试图让NDK调试器工作但到目前为止没有成功.

为了确保我的调试符号存在且有效,我使用编译器选项-O0和-g,以及ndk-build参数NDK_DEBUG = 1.

ndk-gdb脚本运行时没有问题并启动GDB.什么时候执行"sharedlibrary"命令,我得到这个:

Symbols already loaded for /bla/bla/libMySharedLib.so
Run Code Online (Sandbox Code Playgroud)

但是当我尝试断开执行或者例如添加一个段错误来测试时,我从来没有从调用堆栈中的那个库中获得任何符号.我得到的唯一符号来自libc,如果我在等待互斥锁的情况下中断执行.还尝试添加断点,没有运气.GDB允许我添加断点,代码运行正常,但断点永远不会被触发.

我正在使用API​​级别8,因为我需要支持Android 2.2(Froyo).

android gdb symbols android-ndk

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

如何使用DirectShow捕获RGB中的实时相机帧

我正在通过DirectShow实现实时视频捕获,以进行实时处理和显示.(增强现实应用程序).

我可以很容易地访问像素,但似乎我无法让SampleGrabber提供RGB数据.该设备(iSight - 在VMWare中运行VC++ Express)仅报告MEDIASUBTYPE_YUY2.

经过广泛的谷歌搜索,我仍然无法弄清楚DirectShow是否应该为这种事情提供内置的色彩空间转换.有些网站报告没有内置YUV < - > RGB转换,其他网站报告您只需要在ISampleGrabber上使用RGB子类型调用SetMediaType.

非常感谢任何建议,我对这一点感到疯狂.代码如下.请注意

  • 该代码有效,但它不提供RGB数据
  • 我知道我可以实现自己的转换过滤器,但这是不可行的,因为我必须预测每种可能的设备格式,这是一个相对较小的项目

    // Playback
    IGraphBuilder *pGraphBuilder = NULL;
    ICaptureGraphBuilder2 *pCaptureGraphBuilder2 = NULL;
    IMediaControl *pMediaControl = NULL;
    IBaseFilter *pDeviceFilter = NULL;
    IAMStreamConfig *pStreamConfig = NULL;
    BYTE *videoCaps = NULL;
    AM_MEDIA_TYPE **mediaTypeArray = NULL;
    
    // Device selection
    ICreateDevEnum *pCreateDevEnum = NULL;
    IEnumMoniker *pEnumMoniker = NULL;
    IMoniker *pMoniker = NULL;
    ULONG nFetched = 0;
    
    HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
    
    // Create CreateDevEnum to list device
    hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC_SERVER, …
    Run Code Online (Sandbox Code Playgroud)

camera directshow video-capture augmented-reality visual-c++

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

mdarray 是否有相当于 submdspan 的功能?

令人兴奋的 的存储库mdspan是为 C++ 标准库建议的多维类似物std::span,现在还包含密切相关的 的参考实现mdarray,与mdspan拥有其数据不同。

但是,尽管该submdspan函数可以生成 的子集mdspan,但我找不到 的类似物mdarraysubmdspan我期待的是一个行为与返回完全相同的函数mdspan,但它对 进行操作mdarray

这是有计划但尚未实施吗?如果没有,为什么不呢?

编辑:

我已经用自制解决方案暂时解决了这个问题,其形式是重载submdspanmdarray然后创建一个映射mdspan到整个 的临时文件mdarray,并调用submdspan它。

现在它可以完成工作了!但我不确定这是否涵盖了所有可能的情况mdarray,因为目前几乎没有文档。仍然希望得到原来问题的答案。

template <class ElementType, class Extents, class LayoutPolicy, class... SliceSpecs>
auto submdspan(
    mdarray<ElementType, Extents, LayoutPolicy> &arr, 
    SliceSpecs... slices)
{
    return submdspan(
        mdspan<ElementType, Extents, LayoutPolicy>(arr.data(), arr.mapping()), 
        slices...);
}
Run Code Online (Sandbox Code Playgroud)

c++ std c++-experimental mdspan

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

是否可以有一个包含不可变元素的可变容器?

下面,我的TestStruct实例包装在两个容器中: a Box,然后是 a Vec。从 Rust 新用户的角度来看,令人惊讶的是,将 移至Box使得VecBox实例TestStruct都可变。

struct TestStruct { value: i32 }

fn test_fn() {
    let immutable_instance = TestStruct{value: 123};
    let immutable_box = Box::new(immutable_instance);
    let mut mutable_vector = vec!(immutable_box);

    mutable_vector[0].value = 456;
}
Run Code Online (Sandbox Code Playgroud)

是否有类似的构造,其中装箱值是不可变的,但盒子的容器是可变的?更一般地说,是否可以拥有多个容器“层”,而整个树不可变或不可变?

containers immutability rust

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