Spirit에서 자동 변수에 파서를 할당할 때 Segfault 방지
Spirit 파서는 본질적으로 Spirit V2의 자동 변수와 함께 사용하도록 설계되지 않았습니다. 이는 임시에 대한 참조를 유지하는 기본 Proto 표현식 템플릿 때문입니다.
인라인 qi::parse() 표현식 내에서 파서와 함께 auto를 사용하면 성공적인 파싱이 가능합니다. 그러나 파서를 자동 변수에 할당한 다음 이를 qi::parse()에서 사용하면 segfault가 발생합니다.
이 제한을 피하려면 다음 대안을 고려하십시오.
- qi::copy(): Spirit V2의 트렁크에서 사용 가능(boost_1_55_0 이상), qi::copy()는 파서의 전체 복사본을 생성할 수 있습니다.
-
boost::proto::deep_copy: 이 함수를 사용하면 Proto 표현식의 전체 복사가 가능합니다.
- BOOST_SPIRIT_AUTO: Spirit V2 토론 포럼에 소개된 이 매크로는 작업 방법을 제공합니다. 자동 변수에 파서를 사용합니다.
자세한 내용과 예는 다음 리소스를 참조하세요.
- [최적화와 관련된 Spirit V2 qi 버그 레벨](https://stackoverflow.com/questions/12011946/spirit-v2-qi-bug-associated-with-optimization-level)
- [자동 내의 Spirit X3 파서 변수](https://stackoverflow.com/questions/27979404/spirit-x3-parser-within-auto-variable)
위 내용은 'auto' 변수와 함께 Spirit Parser를 사용할 때 Segfault를 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!