이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 gperf 명령입니다.
프로그램:
이름
gperf - 키 세트에서 완벽한 해시 함수 생성
개요
gperf [OPTION]... [입력 파일]
기술
GNU 'gperf'는 완벽한 해시 함수를 생성합니다.
긴 옵션이 인수를 필수로 표시하면 동등한 옵션에 대해 필수입니다.
짧은 옵션도 있습니다.
산출 파일 위치 :
--결과물 파일=FILE 지정된 파일에 출력을 씁니다.
출력 파일이 지정되지 않았거나 -인 경우 결과가 표준 출력에 기록됩니다.
입력 파일 해석:
-e, --구분자=구분자 목록
사용자가 키워드를 구분하는 데 사용되는 구분 기호가 포함된 문자열을 제공하도록 허용
그들의 속성. 기본값은 ","입니다.
-t, --구조체 유형
사용자가 생성된 코드에 대한 구조화된 유형 선언을 포함할 수 있습니다. 어느
%% 앞의 텍스트는 유형 선언의 일부로 간주됩니다. 키워드 및 추가
필드는 한 줄에 하나의 필드 그룹을 따를 수 있습니다.
--대소문자 무시
대문자와 소문자 ASCII 문자를 동등하게 간주하십시오. 로케일 참고
종속 사례 매핑은 무시됩니다.
지원하는 언어 을 통한 전에, 출력 암호:
-L, --언어=언어 이름
지정된 언어로 코드를 생성합니다. 현재 취급 언어는 C++,
ANSI-C, C 및 KR-C. 기본값은 C입니다.
세부 정보 in 전에, 출력 암호:
-K, --슬롯 이름=이름
키워드 구조에서 키워드 구성 요소의 이름을 선택합니다.
-F, --이니셜라이저-접미사=이니셜라이저
키워드 구조의 추가 구성 요소에 대한 이니셜라이저입니다.
-H, --해시 함수 이름=이름
생성된 해시 함수의 이름을 지정합니다. 기본값은 '해시'입니다.
-N, --조회-기능-이름=이름
생성된 조회 함수의 이름을 지정합니다. 기본 이름은 'in_word_set'입니다.
-Z, --클래스 이름=이름
생성된 C++ 클래스의 이름을 지정합니다. 기본 이름은 'Perfect_Hash'입니다.
-7, --XNUMX비트
7비트 문자를 가정합니다.
-l, --비교 길이
문자열 비교를 시도하기 전에 키 길이를 비교하십시오. 이것은 다음과 같은 경우에 필요합니다.
키워드에 NUL 바이트가 포함되어 있습니다. 또한 문자열의 수를 줄이는 데 도움이 됩니다.
조회 중에 이루어진 비교.
-c, --비교-strncmp
strcmp 대신 strncmp를 사용하여 비교 코드를 생성합니다.
-C, --readonly-테이블
생성된 조회 테이블의 내용을 일정하게, 즉 읽기 전용으로 만드십시오.
-E, --열거형
다음을 사용하는 대신 조회 함수에 로컬인 열거형을 사용하여 상수 값을 정의합니다.
정의합니다.
-I, --포함
필요한 시스템 포함 파일 포함 코드 시작 부분에.
-G, --글로벌 테이블
키워드의 정적 테이블을 정적 전역 변수로 생성하는 대신
조회 기능 내부에 숨기기(기본 동작).
-P, --그림
공유 라이브러리에 포함되도록 생성된 테이블을 최적화합니다. 이것은 감소
생성된 코드를 포함하는 공유 라이브러리를 사용하는 프로그램의 시작 시간.
-Q, --문자열 풀 이름=이름
옵션에 의해 생성된 문자열 풀의 이름 지정 --그림. 기본 이름은
'스트링풀'.
--null 문자열
빈 키워드 테이블 항목에 대해 빈 문자열 대신 NULL 문자열을 사용합니다.
-W, --단어 배열 이름=이름
단어 목록 배열의 이름을 지정합니다. 기본 이름은 '단어 목록'입니다.
--길이 테이블 이름=이름
길이 테이블 배열의 이름을 지정합니다. 기본 이름은 'lengthtable'입니다.
-S, --스위치=COUNT
생성된 C 코드가 배열이 아닌 switch 문 체계를 사용하도록 합니다.
조회 테이블. 이를 통해 시간과 공간 요구 사항을 모두 줄일 수 있습니다.
일부 키 파일. COUNT 인수는 스위치 문이 몇 개인지 결정합니다.
생성. 값 1은 모든 요소를 포함하는 1개의 스위치를 생성합니다.
2는 각 테이블에 2/1 요소가 포함된 2개의 테이블을 생성합니다. COUNT가 매우
예를 들어 1000000이 크면 생성된 C 코드가 이진 검색을 수행합니다.
-T, --구조체 유형 생략
형식 선언이 출력 파일로 전송되는 것을 방지합니다. 이 옵션 사용
유형이 이미 다른 곳에 정의되어 있는 경우.
암호알고리즘 고용 된 by 성능:
-k, --키 위치=열쇠
해시 함수에 사용되는 키 위치를 선택합니다. 허용 가능한 선택 범위
1-255(포함) 사이. 위치는 쉼표로 구분되며 범위는 다음과 같습니다.
사용되며 키 위치는 임의의 순서로 발생할 수 있습니다. 또한 메타 문자 '*'
생성된 해시 함수가 모든 키 위치를 고려하도록 하고 $는 다음을 나타냅니다.
키의 "최종 문자"(예: $,1,2,4,6-10).
-D, --중복
값을 복제하기 위해 해시하는 키워드를 처리합니다. 이것은 특정 고도에 유용합니다.
중복 키워드 세트.
-m, --다중 반복=반복
여러 선택을 수행하십시오. -i 그리고 -j 값을 선택하고 최상의 결과를 선택합니다. 이것
반복 횟수만큼 실행 시간이 증가하지만
생성된 테이블 크기
-i, --초기-아소=N
연관 값 배열의 초기 값을 제공하십시오. 기본값은 0입니다. 설정
값이 클수록 최종 테이블의 크기를 확장하는 데 도움이 됩니다.
-j, --도약=점프-값
"점프 값"에 영향을 줍니다.
충돌시. 홀수여야 하며 기본값은 5입니다.
-n, --no-strlen
해시 함수를 계산할 때 키워드의 길이를 포함하지 마십시오.
-r, --무작위의
관련 값 테이블을 초기화하기 위해 임의성을 활용합니다.
-s, --크기-다수=N
생성된 해시 테이블의 크기에 영향을 줍니다. 숫자 인수 N은 "어떻게
몇 배 더 크거나 작음" 관련 값 범위는 관계에 있어야 합니다.
예를 들어 값 3은 "최대 관련 값 허용"을 의미합니다.
입력 키의 수보다 약 3배 정도 커야 합니다." 반대로 의 값은
1/3은 "최대 관련 값을 숫자보다 약 3배 작게 만듭니다.
의 입력 키". 테이블이 클수록 필요한 시간이 줄어듭니다.
추가 테이블 공간을 희생하여 실패한 검색. 기본값은 1입니다.
정보를주는 출력 :
-h, --도움
이 메시지를 인쇄하십시오.
-v, --번역
gperf 버전 번호를 인쇄하십시오.
-d, -디버그
디버깅 옵션을 활성화합니다(표준 오류에 대한 자세한 출력 생성).
onworks.net 서비스를 사용하여 gperf 온라인 사용