1
Boost.Coroutine은 자체 호출 스택을 할당합니다. Boehm GC는 이러한 스택에 대한 포인터를 뿌리로 간주합니까? 그렇다면 어떻게 할 수 있습니까? 코 루틴으로 컨텍스트를 전환 한 후 Boehm은 프로그램을 종료합니다.Boost.Coroutine을 Boehm GC와 함께 사용하는 방법?
Boost.Coroutine은 자체 호출 스택을 할당합니다. Boehm GC는 이러한 스택에 대한 포인터를 뿌리로 간주합니까? 그렇다면 어떻게 할 수 있습니까? 코 루틴으로 컨텍스트를 전환 한 후 Boehm은 프로그램을 종료합니다.Boost.Coroutine을 Boehm GC와 함께 사용하는 방법?
아마도 Boost.Coroutine의 코드는 할당 된 호출 스택에 대한 포인터를 저장하고이를 포인터 (예 : 포인터 변수)를 저장하는 "일반적인"장소 중 하나에 저장합니다.
그렇다면 GC는 호출 스택에 저장된 변수와 거기에 포함 된 포인터를 통해 (재귀 적으로) 포인터를 "추적"합니다.
Boehm이 충돌하여 현재 스레드에 대한 스택을 찾을 수 없다고 말합니다. :( – rightfold