gpt4 book ai didi

c++ - 是否有可能获得指向 std::vector 数据的原始指针?

转载 作者:行者123 更新时间:2023-11-30 04:03:57 24 4
gpt4 key购买 nike

<分区>

我有一个 std::vector ,其中将填充一些专有硬件的指令。我有代码来构造这个缓冲区并很好地操作它。

问题是我需要使用另一个库(基于 C)来构建类似的专有硬件指令,但是该库希望我们提供原始内存并返回指向它的指针,然后该库使用它来编写它的命令。

我想完成类似下面的事情[伪代码,与真实代码完全不同]:

    void* theLibraryCallback (void* clientData, unsigned int theLibrarySize)
{
std::vector<unsigned int> cmd = reinterpret_cast<std::vector<unsigned int>>(clientData);
std::vector<unsigned int>::size_type cmdSize = cmd->size();

for (int loop=0;loop<theLibrarySize; loop++)
cmd->push_back(0xdeadbeef);

return cmd->GET_RAW_POINTER_AT(sizeof(unsigned int)*cmdSize); ///<< How can I do this?
}

概念是我给vector加值腾出空间,但是其他库直接修改了。

如果我不能这样做,我不得不考虑分配临时原始内存,用库填充它,然后将它复制到我的 vector 中,但如果可能的话我想避免这种情况。

我想做的事情有可能吗?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com