草庐IT

memcpy2d

全部标签

c++ - 表示 2D 数据的 std::vector 中的内存泄漏

我编写了一个简单的模板化Matrix类,用于处理数据矩阵的主要应用程序。截断的矩阵代码是:templateclassMatrix{private:std::vectormatrixRepresentation;booltransposed;public:Matrix(intr,intc);intmaxRows;intmaxCols;voidsetMatrixValue(introw,intcol,Tval);TgetMatrixValue(introw,intcol);};templateMatrix::Matrix(intr,intc){maxRows=r;maxCols=c;mat

c++ - 使用数组和某些方法来 memcpy struct 是否安全?

我想知道在包含数组和方法的结构上使用memcpy是否安全(只是一些getter和setter,因为数组的索引是不寻常的,我必须以某种方式映射它)。我知道它对POD是安全的,但我不确定我的结构是否会被视为POD? 最佳答案 您可以使用memcpy如果struct是TriviallyCopyable.您可以检查您的struct可以通过使用std::is_trivially_copyable轻松复制.此外,正如@JohanLundberg在评论中指出的那样,目标地址必须是0模std::alignment_of.您可以在http://en.

c++ - IwGx、Iw2D 和 s3e 之间的区别

marmalade中的IwGx、Iw2D和s3eapi之间的主要区别是什么? 最佳答案 s3e提供了一组允许跨平台开发的核心API。IwGx是一个渲染器抽象层,提供对软件渲染器和OpenGL的高效访问。Iw2D是一个简单的2D绘图API,用于隐藏IwGx的一些复杂性。 关于c++-IwGx、Iw2D和s3e之间的区别,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/10085443

c++ - 使用网格中的顶点(2D 和 3D)查找边的算法

我有一个网格,其中包含某些类型的元素(例如三角形、四边形)。对于每个元素,我知道它的所有顶点,即三角形2D元素将有3个顶点v1、v2和v3,它们的x、y、z坐标是已知的。问题一我正在寻找一种将返回所有边的算法...在这种情况下:边缘(v1,v2),边缘(v1,v3),边缘(v2,v3)。根据每个元素有多少个顶点,该算法应该有效地确定边。问题二我正在使用C++,那么,存储上述算法返回的边信息的最有效方法是什么?例如,我只对一个元组(v1,v2)感兴趣,我想将其用于某些计算然后忘记它。谢谢 最佳答案 可以使用半边数据结构。基本上你的网格

c++ - memcpy() 相邻内存区域的安全性

我最近在usingvolatile上问了一个问题并被引导阅读一些非常来自Intel和其他讨论内存屏障及其用途的信息性文章。读完这些文章后,我变得相当偏执。我有一台64位机器。从多个线程memcpy到相邻的、非重叠的内存区域是否安全?例如,假设我有一个缓冲区:charbuff[10];一个线程memcpy到前5个字节而第二个线程复制到最后5个字节是否总是安全?我的直觉react(和一些简单的测试)表明这是完全安全的,但我无法在任何地方找到可以完全说服我的文档。 最佳答案 安全,是的。性能,至少在这个有限的例子中没有。请记住,一个缓存行

c++ - 使用 memcpy 时出现内存错误?

我正在使用dcmtk库修改多帧压缩dicom图像的像素数据。因此,要做到这一点,在for循环的一个阶段,我获取每个解压缩帧的像素数据并根据我的意愿修改它们,并尝试将每个修改后的像素数据连接到一个大内存缓冲区帧中框架。for循环的核心过程如下。问题是在第一次迭代之后,它在我调用函数getUncompressedFrame的代码行提供了内存。我认为这是因为memcpy(fullBuffer+(i*sizeF),newBuffer,sizeF);行而发生的,因为当我删除该行时,当时没有错误,整个for循环工作得很好.如果我在使用memcpy时犯了错误,你能告诉我吗?谢谢。Uint32size

c++ - 跨平台硬件加速 2d C++ 应用程序?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我了解相当多的C++,现在我想探索制作游戏。我想知道就编写仍然跨平台(Windows/OSX/Linux)的硬件加速游戏而言,最好的方法是什么。这将是一个2d游戏,但足够密集以至于CPU渲染器可能无法削减它。我知道有OpenGL,但我似乎找不到任何关于如何以跨平台方式使用它的教程,它们都集中在一个平台上。使用SDL也是一种可能,但我担心如果我使用它,游戏可能会表现不佳

c++ - memcpy() 函数是可重入的吗?

我在信号处理程序中调用了一些C++函数,但我的程序因段错误而终止。当我检查gdb时,memcpy()函数是我获得SIGSEGV的地方。我想知道memcpy()是否是可重入函数? 最佳答案 在除了最高度嵌入的平台之外的所有平台中,它都是可重入的。你提到SIGSEGV所以我认为它不是其中之一。在这种情况下,很可能memcpy()不是罪魁祸首:这是调用者的错。如果您要求memcpy()复制错误的指针(或错误的长度),那么它就会出错。你可以很容易地做到这一点:memcpy(NULL,NULL,123456789);这会导致SIGSEGV,它

c# - 2d-bin-packing 将矩形放置在 x,y 位置的算法?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭5年前。Improvethisquestion我正在Canvas中实现2d-bin-packing算法。我的任务是尽可能将矩形放置在Canvas上。下面展示了如何做到这一点:http://incise.org/2d-bin-packing-with-javascript-and-canvas.html但是,它从原点开始。我想告诉算法在哪里放置一个矩形,下一个不要放在他上面。代码中应该更改什么?是否有其他算法可用于它?

c++ - 将 OpenGL 用于 2D

我已经开始使用OpenGL并学习了模型、View和投影矩阵。根据我的理解,投影矩阵只需要将3D实体投影到2D表面(屏幕)上。所以如果我想创建一个2D游戏,我什至需要弄乱投影矩阵吗? 最佳答案 使用投影矩阵定义坐标系仍然不错。默认情况下,无论分辨率和纵横比如何,都会在[-1,1]之间为x和y定义一个窗口。如果您不使用投影矩阵解决此问题,则必须以其他方式进行补偿。您希望正方形呈现为正方形,而不是矩形。根据您的GL版本,您可以调用glOrtho、手动构造它或使用glm::ortho。根据我的经验,在默认的[-1,1]系统上工作是非常不切实