사용할 파일이 포함 된 Frama-C 을 어떻게 말 할 지 결정하는 데 몇 가지 문제가 있습니다. 보통 Frama-C의 표준 사양을 사용하기 위해Frama-C 포함 파일의 경로를 지정하는 방법은 무엇입니까?
-cpp-extra-args="-I $(frama-c -print-path)/libc"
옵션을 추가합니다. 하지만 종종 Frama-C 라이브러리에없는 것들이 필요합니다. 예를 들어
, 내가 분석 할 소스 파일 중 하나 <sys/wait.h>
, 에 정의되어 있지만 FRAMA-C가 자신의 frama-c/libc/sys/wait.h
을 가지고 있기 때문에, GCC의 파일이 포함되지 않은 매크로를 사용합니다. 아쉽게도 Frama-C는 매크로를 정의하지 않으므로 결국 정의가 누락됩니다. 물론 소스 파일을 변경하고 싶지 않습니다!
나는 FRAMA-C 파일과있는 내가 GCC 파일에서 누락 된 것을 복사 할 수 있습니다 포함 것 my_libc/sys/wait.h
파일을 로컬 디렉토리 을 건물의 생각했다.
당신은 어떻게 생각 ...
-cpp-extra-args="-I my_libc -I $(frama-c -print-path)/libc"
하지만 약간은 파일을 포함 GCC에서 정의를 추출하는 것은 매우 까다로운 일이 될 수 있기 때문에 내 솔루션이 걱정입니다 :
그때 사용해야합니까? 좋은 생각 인 것 같습니까? 더 나은 조직에 대한 조언이 있으십니까?
대단히 감사합니다. 실제로'sys/wait.h '와'-cpp-extra-args'를 함께 사용할 수는 없으며'libc/sys/wait.h '사용에 대한 아이디어는 훌륭합니다. 나는 그것을 깨끗하게하는 방법을 찾을 수 있는지 알아보고, 내가 할 수 있는지 알려 줄 것이다. 나는 어떻게 사람들이 큰 응용 프로그램을 분석하는 것이 이것을 관리하는지 궁금해했다. – Anne