영어프랑스어스페인어

Ad


온웍스 파비콘

icheck - 클라우드의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 공급자에서 icheck 실행

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 icheck 명령입니다.

프로그램:

이름


icheck - C 인터페이스 ABI/API 검사기

개요


아이체크 --표준화 [[--기준선 FILE] ...] [옵션] [GCC_옵션] [--] 파일

아이체크 --비교하다 [옵션] 이전_파일 새로운 파일

기술


API 및 ABI 변경에 대한 C 인터페이스를 정적으로 확인하는 도구입니다. 유형에 대한 모든 변경 사항
대부분의 API 변경과 함께 ABI 변경을 유발할 수 있는 선언을 감지해야 합니다.

icheck는 ABI 드리프트를 방지하는 방법으로 라이브러리와 함께 사용하기 위한 것입니다.

명령


--canonify를 사용하여 소스 파일 집합을 표준 인터페이스 파일로 축소한 다음 비교
--compare와 같은 두 개의 인터페이스 파일. 그들 사이에 인터페이스 변경이 있는 경우,
icheck는 변경 사항을 설명하고 실패합니다.

--표준화 [[--기준선 FILE] ...] [옵션] [GCC_옵션] [--] 파일

나중에 비교할 소스 코드 파일(일반적으로 .h 헤더)을 정규화합니다.
--비교하다. 일반적으로 -o 요약을 파일에 저장하는 옵션.

--비교하다 [옵션] 이전_파일 새로운 파일

로 생성된 두 개의 표준 인터페이스 파일을 읽습니다. --표준화 그리고 비교한다
애플리케이션 공용 인터페이스의 변경 사항에 대한 소스 코드의 구조
(개발자 인터페이스 또는 API) 및 애플리케이션 바이너리 인터페이스(ABI)는
다른 프로그램이나 라이브러리에 대한 링크.

옵션


아이체크 옵션
-o, --산출 FILE

출력을 stdout이 아닌 FILE로 내보냅니다.

-디버그 N

디버깅 정보를 덤프합니다.

--오직 의회

주어진 THING만 처리합니다.

--건너뛰기 FILE

에서 불필요한 것 건너뛰기 FILE.

--건너뛰기-다시 정규 표현식

정규 표현식과 일치하는 파일에서 불필요한 것을 건너뜁니다.

--만-에서 FILE

에서 물건 만 가져 가라. FILE.

--re에서 온-리 정규 표현식

정규식과 일치하는 파일에서만 가져옵니다.

GCC_옵션

GCC_OPTIONS는 gcc -E로 전달됩니다.

도움 옵션
--도움
에 대한 도움말 개요 표시 아이체크.

사용 예


모든 소스 파일은 gcc로 사전 처리되므로 canonify는 동일한 포함 정보가 필요합니다.
소스 코드로 - Makefile의 구문에 따라 -I 옵션을 포함합니다. CPP (또는
GCC) 필요한 모든 헤더를 찾을 수 있습니다. 아이체크 필요한 경우 중단됩니다.
헤더를 찾을 수 없습니다. 소스는 컴파일 가능해야 합니다. icheck는 파일을 처리할 수 없습니다.
직접 컴파일할 수 없습니다. 헤더에 #include 문이 없거나 그렇지 않은 경우
특별한 방법으로 사용해야 하는 경우 icheck로 직접 처리할 수 없습니다.
대신 적절하게 설정한 다음 #include를 포함하는 스텁 C 파일을 작성하십시오.
헤더.

아이체크 --표준화 -o ~/icheck/이전 버전 -I/usr/include/foo-2.0 /usr/src/bar/src/foobar.h

foobar.h 파일과 여기에 포함된 모든 파일의 텍스트 요약을 준비합니다. 요약은
작성 ~/icheck/이전 버전. 반복 /usr/src/bar1/src/foobar.h - 같은 파일
최신 소스 디렉토리에서 새 파일로 출력, 예: ~/icheck/newversion.

아이체크 --비교하다 -o ~/icheck/results.txt ~/icheck/이전 버전 ~/icheck/newversion

두 요약 파일의 비교 보고서를 작성합니다. 보고서는 모든
비교 중에 발견된 ABI 및/또는 API의 변경 사항.

아이체크 --표준화 -o 데비안/icheck.canonical -이데비안/foo-dev/usr/include 데비안/푸-
개발/usr/include/foobar.h

아이체크 --비교하다 데비안/icheck.manifest 데비안/icheck.canonical

이 두 진술은 데비안/규칙 파일, 패키지 빌드가
API 또는 ABI가 예기치 않은 방식으로 변경된 경우 실패합니다. 여기서 icheck.manifest는
패키지에 포함된 예상 인터페이스.

--compare에 대한 인수 자체는 전처리된 유효한 C 파일입니다.
따라서 icheck.manifest는 C 전처리기 논리를 포함할 수 있습니다. 이것은 패키지일 때 유용할 수 있습니다.
호스트 아키텍처에 따라 다른 인터페이스를 내보냅니다. 이 경우에는 할 수 없습니다.
인터페이스가 변경되고 필요한 경우 icheck.canonical의 새 복사본으로 교체하십시오.
매니페스트를 업데이트합니다. 전체 매니페스트를 수동으로 업데이트하는 대신 수동으로
하나의 파일에 작성된 인터페이스 설명(icheck.static-매니페스트) 다음을 사용합니다.

아이체크 --표준화 --기준선 데비안/icheck.static-manifest -o 데비안/icheck.dynamic-
적하 목록

마지막으로 다음을 포함하는 icheck.manifest를 생성합니다.
#include "icheck.static-manifest"
#include "icheck.dynamic 매니페스트"
이렇게 하면 매니페스트의 일부를 수동으로 업데이트할 수 있으며 여전히 자동으로 업데이트할 수 있습니다.
나머지 생성.

출력


icheck는 유형에 따라 가능한 모든 API 또는 ABI 변경에 대한 자세한 설명을 생성합니다.
정보. 실제 프로그램 코드를 조사하지 않으므로 다음이 가능합니다.
감지하는 일부 유형 변경은 실제 ABI 또는 API 변경이 아닙니다. 그러나 이것은 일반적으로
프로그램 코드가 명시적으로 작성된 경우에만 발생합니다. 의심스럽다면 다음과 같이 가정하십시오.
바꾸었습니다.

마지막에 icheck는 변경 사항에 대한 요약을 제공합니다. 참고로 여기 안내는
--compare에 대한 인수 순서에 따라 다름: 이전 인터페이스가 먼저 와야 합니다.
그렇지 않으면 방향이 반대가 됩니다. 다양한 용어의 의미는 다음과 같습니다.
다음과 같습니다 :

ABI ABI는 한 버전의
인터페이스는 다른 버전을 사용하여 실행할 때 작동합니다.

API API는 한 버전의
인터페이스는 다른 것에 대해 컴파일될 수 있습니다.

포워드 호환 가능
인터페이스는 이전 버전에 대해 컴파일된 경우 이전 버전과 호환됩니다.
버전은 새 버전과 함께 작동합니다. 이것은 중요한 기능입니다. 이름
변경.

이전 버전과 호환
새 인터페이스에 대해 컴파일된 항목이 있는 경우 인터페이스는 이전 버전과 호환됩니다.
버전은 이전 버전에서 작동합니다. 이것은 중요한 기능입니다. shlibs
버전 변화. 데비안 패키지를 만들고 있지 않다면 아마도 그렇지 않을 것입니다.
이전 버전과 호환되지 않는 변경 사항에 주의하세요.

onworks.net 서비스를 사용하여 온라인에서 icheck 사용


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad