2013-05-25 4 views
2

정규식 일을 할 라이브러리를 제공하고 싶습니다. gcc 나 clang (잘못된 경우 수정하십시오)을 구현하기 때문에 지금은 이것을 사용합니다. 하지만 부스트는 ABI를 가끔씩 중단합니다. 질문 :정적 컴파일은 ABI를 깨뜨릴 것입니까?

정적 컴파일 된 버전의 boost로 내 라이브러리를 컴파일해도 안전합니까? 그러면 ABI 중단이 향후 버전의 boost에서 발생하지 않을까요?

+1

요즘 C++에는 [표준 라이브러리의 정규식] (http://en.cppreference.com/w/cpp/regex)이 있습니다. –

+0

@JoachimPileborg gcc에서 구현되지 않았습니다 (당신이 pedantic을 원한다면 libstdC++). – Cubic

+0

C++ 11을 사용할 수 없다면'grep'와'egrep'이 사용하는'regcomp','regexec' 등의 시스템 호출도 있습니다. Boost만큼 강력하지는 않지만 충분히 좋을 수도 있고 안정되어야합니다. –

답변

3

부스트를 사용하여 정적으로 컴파일하는 경우 향후 버전에서 ABI 문제가 발생하지 않을 것입니다. "외부 적으로는 아무 것도 없으므로"분명히 재 컴파일하지 않고 이후 버전의 내용을 사용하지 않을 것입니다.

나는 더 쉽게 배포 할 수 있도록 수년 동안 부스트와 정적으로 아무런 문제없이 정적으로 연결되었습니다.

+0

흠, 그것은 나에게 합법적이라고 들리는데 나는 같은 생각을했습니다. 그러나 다른 누구도 당신의 답을 증명하지 못했기 때문에 나는 그것을 받아들이지 않을 것입니다. – hellow