функции.

ли кто-нибудь дать мне пример того, как я могу использовать сегментированные стеки с сопрограммами повышения? Нужно ли аннотировать каждую функцию, вызываемую из сопрограммы, специальнымsplit-stack атрибут?

Когда я пытаюсь написать программу, котораядолжен используйте сегментированные стеки, это просто segfaults.

Вот что я сделал до сих порhttps://wandbox.org/permlink/TltQwGpy4hRoHgDY Код, похоже, очень быстро пересекается, если бы использовались сегментированные стеки, я ожидал, что он сможет обрабатывать больше итераций. Программа выдает ошибки после 35 итераций.

#include <boost/coroutine2/all.hpp>

#include <iostream>
#include <array>

using std::cout;
using std::endl;

class Int {
    int a{2};
};

void foo(int num) {
    cout << "In iteration " << num << endl;
    std::array<Int, 1000> arr;
    static_cast<void>(arr);
    foo(num + 1);
}

int main() {
    using Coroutine_t = boost::coroutines2::coroutine<int>::push_type;
    auto coro = Coroutine_t{[&](auto& yield) {
        foo(yield.get());
    }};

    coro(0);
}

Ответы на вопрос(2)

Ваш ответ на вопрос