gpt4 book ai didi

C++:简单代码中的 STXXL 和 VS 运行时错误

转载 作者:太空宇宙 更新时间:2023-11-04 13:22:15 24 4
gpt4 key购买 nike

我有以下代码,这是一个非常简单的测试,但 VS 拒绝运行它:

stxxl::syscall_file OutputFile("Data/test.bin", stxxl::file::RDWR | stxxl::file::CREAT | stxxl::file::DIRECT);
typedef stxxl::VECTOR_GENERATOR<struct Rectangle, 8, 2, 524288>::result vector_type;
vector_type rects(&OutputFile);

程序在第 3 行的内存位置产生运行时错误。我究竟做错了什么?我正在为 64 位平台编译程序。在 Debug模式下,如果我按继续,程序将恢复并执行,没有问题。

最佳答案

考虑以下示例:

#include <stxxl/io>
#include <stxxl/vector>
#include <iostream>

struct Rectangle {
int x;
Rectangle() = default;
};

int main() {
stxxl::syscall_file OutputFile("/tmp/test.bin", stxxl::file::RDWR |
stxxl::file::CREAT | stxxl::file::DIRECT);
typedef stxxl::VECTOR_GENERATOR<Rectangle, 8, 2, 524288>::result vector_type;
vector_type rects(&OutputFile);

Rectangle my_rectangle;

for (std::size_t i = 0; i < 1024 * 1024 * 1024; ++i)
rects.push_back(my_rectangle);

return 0;
}

当设备上没有足够的剩余空间时,很容易引发错误。你能发布你的运行时错误吗?

关于C++:简单代码中的 STXXL 和 VS 运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34801583/

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