영어FrenchSpanish

서버 실행 | Ubuntu > | Fedora > |


온웍스 파비콘

icmun - 클라우드의 온라인

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

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

프로그램:

이름


icmake - 프로그램 유지 관리(확인) 유틸리티를 사용하는 C-같은 문법

개요


아이메이크 [옵션] 출처[.im] [대상[.bim]] [-- [인수]]

익문 빔파일

기술


아이메이크(1) 에 대한 대안으로 사용될 수 있습니다. 확인(1). 표준 작동 모드에서는
다음 프로그램을 호출합니다.

o ICM-PP icmake 파일을 전처리하기 위해

o icm-comp 바이트 코드 컴파일 아이메이크 s

o icm-exec 바이트 코드 파일을 실행하려면

아이메이크 프로그래머가 프로그래밍 언어(잘 알려진
C-프로그래밍 언어) (복잡한) 프로그램에 관련된 동작을 정의
유지. 이를 위해, 아이메이크 다양한 특수 연산자와 일련의 지원 제공
프로그램 유지 관리에 유용한 것으로 입증된 기능.

프로그램 익문(1) 컴파일된 바이트 코드(.bim) 파일을 디스어셈블하는 데 사용할 수 있습니다. 익문
주로 일러스트레이션, 교육 및 디버깅에 사용됩니다.

기존 make-utilities는 헤더 파일이 수정되면 소스를 다시 컴파일합니다. 에서
컨텍스트 C + + 프로그램 개발에 새 멤버를 추가하는 것은 종종 나쁜 생각입니다.
클래스는 일반적으로 클래스의 소스를 다시 컴파일할 필요가 없습니다. 수업을 처리하기 위해
의존성 icmbuld(1) 검사할 수 있다 클래스 종속성을 정의하는 데 사용할 수 있는 파일
수업 중. 기본적으로 클래스 종속성은 해석되지 않습니다. 참조 icmconf(7)
자세한 내용은 맨페이지를 참조하십시오.

옵션


아이메이크 다음 파일 및 옵션을 사용합니다.

o : 아이메이크 스크립트 소스 파일(기본 확장자: .im).

o 목적지: 바이너리 아이메이크 스크립트 파일(기본값: '소스'.bim, `.bim 파일'
아래).

o --: 아이메이크 인수 구분 기호 분리 아이메이크 전달된 인수의 인수
.bim filenl() 인수: 다음 인수 -- .bim 파일로 전달
있는 그대로 제공되며 명부 argv 로 정의된 매개변수 아이메이크
스크립트의 본관 함수의 두 번째 매개변수(아래 섹션 참조 USER 한정된
기능). 일부 옵션의 경우(아래 참조) -- 구분자는 필요하지 않습니다.

아이메이크 다음에서 설명하는 다양한 옵션을 지원합니다. NS -h 옵션이 다른 모든 옵션보다 우선합니다.
옵션, -a 옵션은 다음을 제외한 다른 모든 옵션보다 우선합니다. -h. 남은 행동 중
옵션(-NS, -씨, -이자형, -NS, -p-t) 하나만 지정할 수 있습니다.

o -a
에 대한 정보를 표시 아이메이크, 에 의해 무효화 -h;

o -b
중단됨: 대신 -e 옵션을 사용하십시오.

o -c
전에, 아이메이크 소스 파일이 컴파일되어 .bim 파일이 생성됩니다.

o -e
실행 아이메이크 .bim 파일, 다음과 같이 지정 아이메이크의 첫 번째 파일 인수입니다. 추가
인수는 있는 그대로 .bim 파일에 전달되고 -- 지정해서는 안 됩니다.

o -F
파일 이름 및 플래그는 물론 수행할 모든 작업의 ​​개요
아이메이크 표준 출력 스트림에 표시됩니다.

o -h
사용 정보 제공 및 종료 아이메이크;

o -i
첫 번째 인수는 아이메이크 소스 파일, 기본 바이너리 파일은
필요한 경우 건설됩니다. 모든 추가 인수는 .bim 파일에 전달됩니다.
있는 그대로, 그리고 -- 지정해서는 안 됩니다.

o -p
전에, 아이메이크 소스 파일은 전처리만 되고 전처리된 파일은 기록됩니다.
아이메이크의 두 번째 파일 인수(기본적으로 '소스'.pim);

o -q
무시됨, 나중에 제거됨 아이메이크 버전;

o -t
다음 주장 -t 제거된 임시 .bim 파일의 이름입니다.
시간 내에 아이메이크의 전화. 언제 . 임시 .bim 파일의 이름으로 지정됩니다.
그런 다음 기본 임시 디렉토리, 아이메이크의 프로세스 ID 다음에
.빔 사용.

임시 .bim 파일 이름 다음에 아이메이크 소스 스크립트
지정해야 합니다. 추가 인수는 있는 그대로 .bim 파일에 전달되며
-- 지정해서는 안 됩니다. 소스 스크립트 파일의 실행 플래그를 설정한 후
(chmod를 +x 스크립트) 다음과 같은 초기 줄을 제공합니다.

#!/usr/bin/icmake -t.

전에, 아이메이크 스크립트를 직접 호출할 수 있습니다.

스크립트 arg1 arg2

이 경우 아이메이크 스크립트 '스크립트' 수신하는 동안 실행됩니다.
인수 스크립트 arg1 arg2.

o -T
이 옵션은 저장하는 데 사용되는 디렉토리 이름과 함께 제공되어야 합니다.
임시 파일. 예를 들어 컴파일할 때 아이메이크 스크립트, 출력 아이메이크
전처리기는 종료 시 제거되는 임시 파일입니다. 기본적으로 / TMP 사용,
...을 제외하면 / TMP 쓰기 가능한 디렉토리가 아닙니다. 이 경우 현재 사용자의 $ HOME
디렉토리가 사용됩니다. 암시적 임시 파일 이름은 항상 프로세스 ID로 시작합니다.
현재 아이메이크 프로세스.

o -v
디스플레이 아이메이크의 버전 번호 및 끝 아이메이크, 에 의해 무효화 -h

익문:

빔파일: 바이너리 아이메이크 스크립트 파일.

전처리기 지시문


다음 전처리기 지시문을 사용할 수 있습니다.

오 코멘트:
표준 C 주석(모두 /**/) 및 줄 끝 주석(모두
다음 줄 내용 //) 무시됩니다.

o 셸 시작: 첫 번째 줄 아이메이크-스크립트는 다음으로 시작할 수 있습니다. #!길어디로
통로 의 절대 위치를 정의합니다. 아이메이크 프로그램. 스크립트를 작성하여
실행 가능하며 명시적으로 호출하지 않고 호출할 수 있습니다. 아이메이크.

예를 들어 (실행 가능) icmakefile 'icm'(확장자 없음)의 첫 번째 줄이
이 포함되어 있습니다

#!/usr/bin/icmake -i

그때 icm 명령으로 발행될 수 있으므로 실행

/usr/bin/icmake -i icm ...

또한,

#!/usr/bin/icmake -t /tmp/icm

가 사용될 수 있으며, 그 결과

#!/usr/bin/icmake -t /tmp/icm icm ...

이 경우 종료 시 바이너리 파일이 제거됩니다.

o #포함 "파일 이름"
파일 파일 이름 지시문 위치에 포함됩니다.

o #포함
파일 파일 이름 의 위치에 포함됩니다. #포함 지령; 파일 이름
다음에 의해 지정된 콜론으로 구분된 디렉토리에서 검색됩니다. IM 환경
변하기 쉬운. 의 첫 번째 발생 파일 이름 에 의해 지정된 디렉토리에서 IM
환경 변수가 사용됩니다.

o #밝히다 식별자 [정의]
텍스트 식별자 다음으로 대체됩니다. 정의. 정의에는 다음이 포함될 수 있습니다.
이미 정의된 식별자에 대한 참조, ${식별자} 체재. 만약
${식별자} (아직) 정의되지 않은 텍스트 ${식별자} 말 그대로 유지됩니다.
최대 100개의 무한 재귀를 방지하려면 ${식별자} 교체가 허용됩니다.

줄의 마지막 문자가 다음 줄인 경우 정의는 다음 줄에서 계속됩니다.
백슬래시(\). (정의에 포함되지 않음). 전처리기
큰 따옴표로 묶인 문자열을 연결하고 큰 따옴표로 묶인 문자열은 여러 개에 걸쳐 있을 수 없습니다.
윤곽. 정의의 여러 공백(큰따옴표 문자열 제외)은
하나의 빈 공간으로 압축됩니다.

다음 정의 #정의의 식별자는 선택 사항입니다. 생략하면
매크로가 정의되어 있으므로 다음에서 사용할 수 있습니다. #if(n)def 지시문(아래 참조)
의 어떤 텍스트로도 대체되지 않습니다. 아이메이크 코드 문.

o #ifdef 식별자
경우 식별자 매크로가 다음 코드 블록으로 정의되었습니다(일치할 때까지 #그밖에
or #endif 지시문을 읽음)은 바이트 컴파일됩니다. 그렇지 않으면 코드 블록은
무시되었습니다.

o #ifndef 식별자
경우 식별자 매크로는 지원 다음 코드 블록을 정의했습니다(일치할 때까지
#그밖에 or #endif 지시문이 감지됨) 바이트 컴파일됩니다. 그렇지 않으면 블록
코드는 무시됩니다.

o #그밖에
종료 #ifdef#ifndef 지시, 수락 결정을 취소
다음 코드. 단 하나 #그밖에 지시문은 다음과 연관될 수 있습니다. #if(n)def
가이드 라인.

o #endif
일치하는 위치에서 시작하여 전처리기 블록을 종료합니다. #ifdef, #ifndef or #그밖에
지령. NS #endif 디렉토리 및 일치 #if(n)def 지시문은 다음과 같아야 합니다.
동일한 파일에 지정됩니다.

o #언데프 식별자
제거 식별자 정의된 기호 집합에서. 이것은 영향을 미치지 않습니다
이전에 정의된 기호의 사양 식별자의 정의
사용 되왔다. 만약에 식별자 정의되지 않음 경고가 발행되었습니다.

데이터 타입


아이메이크 다음 데이터 유형을 지원합니다.

o ASCII 문자 상수
ASCII 문자 상수는 단일 또는 이중으로 둘러싸인 하나의 문자로 구성됩니다.
인용 부호. 단일 문자(예: 'NS') 문자 자체를 나타냅니다. 기준
이스케이프 시퀀스(예: '\N') 지원되며 변환된 표준을 나타냅니다.
값(예: '\N' 아스키 값 10(십진수)을 나타냅니다. 비표준 탈출
시퀀스(예: '\NS') 이스케이프 문자 다음의 ASCII 문자를 나타냅니다.
(그래서 '\NS' 같음 'NS'). 세 개의 XNUMX진수로 구성된 이스케이프 시퀀스는 다음을 나타냅니다.
256진수 값 모듈로 XNUMX에 해당하는 ASCII 문자(예: '\123').
x 다음에 두 개의 XNUMX진수 숫자로 구성된 이스케이프 시퀀스는 다음을 나타냅니다.
XNUMX진수 값에 해당하는 ASCII 문자(예: '\xa4').

o INT
다음 범위의 적분 값 -0x8000 ...을 통하여 0x7fff. INT 상수는
1진수(9부터 XNUMX까지의 숫자로 시작), XNUMX진수로 지정
(0으로 시작하여 하나 이상의 XNUMX진수가 뒤따름) XNUMX진수
(0x로 시작하여 하나 이상의 XNUMX진수가 뒤따름) 또는 ASCII
문자 상수.

o
텍스트 변수. 문자열 상수는 큰따옴표로 구분됩니다. 여러 문자열
상수는 연결될 수 있지만 단일 문자열 상수는 여러 개에 걸쳐 있을 수 없습니다.
윤곽. 공백으로만 구분된 문자열 상수(예: 공백, 개행,
comment)는 연결되어 하나의 단일 문자열 상수를 나타냅니다. 표시하려면
문자열 상수의 줄 끝 사용 \n 탈출 시퀀스.

큰따옴표로 묶인 ASCII 문자 상수는 다음에서도 사용할 수 있습니다.
피연산자 중 하나가 다음인 경우 산술 표현식 INT. 싱글 캐릭터
문자열 상수 절대로 필요한 것 상수가 될 수 없으며 변하기 쉬운.

마찬가지로 작은 따옴표로 묶인 ASCII 문자 상수는 다음에서 사용할 수 있습니다.
문자열 피연산자가 필요한 상황.

o 명부
개별적으로 액세스할 수 있는 일련의 데이터 구조 가치. 언제
목록에는 요소가 포함되며 첫 번째 요소는 인덱스 0으로 표시됩니다.

o 무효화
함수가 반환하지 않음을 나타내기 위해 함수 정의와 함께 사용됩니다.
값.

변수는 전역 수준과 내부의 모든 지역 수준에서 정의할 수 있습니다.
기능. 함수 내부에서 정의할 때 표준 C 범위 지정 및 가시성 규칙
적용하다. 예를 들어, 지역 변수는 자체적으로 또는 더 깊이 중첩된 곳에서만 사용할 수 있습니다.
블록의 가시성은 동일하게 정의하여 더 깊이 중첩된 블록에서 마스킹됩니다.
더 깊이 중첩된 블록 내부에 명명된 변수. 변수는 강력한 유형이며,
유형을 가질 수 없습니다 무효화.

변수는 정의될 때 초기화될 수 있습니다. 초기화는 표현식입니다.
사전 또는 사용자 정의 함수, 상수 값 및 다음과 같은 변수 값을 사용할 수 있습니다.
정의 지점에서 볼 수 있습니다.

미리 정의 상수


다음 상수는 다음과 같이 미리 정의됩니다. 아이메이크. 모두 일정하다 INT 값 :

───────────────────────────────────
기호 값
───────────────────────────────────
O_ALL 8 메이크리스트
O_DIR 2 메이크리스트
O_FILE 1 메이크리스트
O_SUBDIR 4 메이크리스트
───────────────────────────────────
꺼짐 0 에코
ON 1 에코
───────────────────────────────────
P_CHECK 0 시스템 호출
P_NOCHECK 1 시스템 호출
───────────────────────────────────
S_IEXEC 32 통계
S_IFCHR 1 통계
S_IFDIR 2 통계
S_IFREG 4 통계
S_IREAD 8 통계
S_IWRITE 16 스탯
───────────────────────────────────

다음 상수는 아키텍처에 따라 다릅니다.

──────────────────────────────────────────────────── ─────────────
플랫폼에 정의된 경우 기호 1, 그렇지 않은 경우 0
──────────────────────────────────────────────────── ─────────────
유닉스 유닉스, 일반적으로 GNU의 gcc 컴파일러와 함께
UNIX를 대안으로 사용할 수 있습니다.
Linux를 실행하는 linux x86(일반적으로 gcc 사용)
LINUX는 대안으로 사용할 수 있습니다.
SCO/Unix를 실행하는 M_SYSV, M_UNIX x86
_POSIX _SOURCE Posix 호환 컴파일러가 있는 Unix
__hpux HP-UX, 기본 HP 컴파일러 포함
──────────────────────────────────────────────────── ─────────────

운영자


정수형 피연산자:

전체 C 연산자를 사용할 수 있습니다(포인터 연산자 제외, 아이메이크 지원하지 않습니다
포인터). 그들은 그들처럼 작동합니다 C- 프로그래밍 언어 대응.

문자열 형식 피연산자:

유형 변수 및/또는 상수 다음 연산자를 사용할 수 있습니다(ab
대표 변수 또는 상수):

o a + b: 새로운 것을 반환 의 연결을 포함하는 값 a
b. 그 주 상수는 직접 연결할 수 있습니다(사용하지 않고 +
연산자), 예를 들어 다음 두 줄은 모두 문자열을 정의합니다. "안녕하십니까 세계":

"안녕하세요" "세상"
"안녕" + "세상"

o a += b: a ~이어야합니다. 변수, 변수 또는 값 b is
추가됨.

o 문자열 비교: 연산자 == != <= >= < > !=== 적용될 수 있습니다
값 또는 변수, 비교가 성공하면 1을 반환하고 그렇지 않으면 0을 반환합니다.
비교는 대소문자를 구분하며 정의된 순서 또는 문자를 따릅니다.
에서 ASCII 문자 집합.

o !a: 부울 ! (not) 연산자는 다음과 같은 경우 1을 반환합니다. a 비어 있고 그렇지 않으면 0
반환되었습니다.

o a 더 어린 b, a 더 새로운 b: 파일이면 1을 반환 a 파일보다 최신입니다. b. 예,
"소스.cc" 더 새로운 "소스.오". 파일 ab 존재할 필요 없음: 둘 다 존재하지 않는 경우
존재 0이 반환됩니다. 만약 b 존재하지 않으면 1이 반환됩니다. 만약 a 0은 존재하지 않습니다
반환됨; 동일하게 오래된 경우 0이 반환됩니다. (NS 존재 () 미리 정의된 기능
(아래 섹션 참조 미리 정의 기능)는 명시적으로 테스트하는 데 사용할 수 있습니다.
파일이 존재).

o a 이전 b: 파일이면 1이 됨 a 파일보다 오래됨 b. 예, "libprog.a" 이전
"소스.오". 파일 ab 존재할 필요가 없음: 둘 다 존재하지 않는 경우 0은
반환됨; 만약 a 존재하지 않으면 1이 반환됩니다. 만약 b 존재하지 않음 0이 반환됩니다. 만약
그들은 똑같이 오래된 0이 반환됩니다.

o []: 인덱스 연산자는 문자열 변수 또는 상수에서 문자를 검색합니다.
문자열을 다음으로 반환 rvalue. 따라서 다음 명령문은 OK를 컴파일합니다.

// str1과 str2가 문자열이라고 가정
str1 = str2[3];

그러나 다음 명령문은 컴파일되지 않습니다.

str2[3] = "아";

잘못된 인덱스 값이 제공되면 빈 문자열이 반환됩니다.

o '백틱' 연산자(`문자열 cmd`)
두 백틱 사이에 배치된 문자열은 Popen(3) 기능. NS
문자열 인수에 저장된 명령에 의해 생성된 표준 출력은 다음과 같습니다.
목록으로 반환됩니다. 빈 목록은 명령을 실행할 수 없음을 나타냅니다.
실행할 수 있지만 출력을 생성하지 않은 명령은 목록을 반환합니다.
하나의 빈 요소를 포함합니다. 명령의 표준 오류 스트림 출력은 다음과 같습니다.
백틱 연산자에 의해 수집됩니다. 그러나 표준 셸 리디렉션은
표준 오류 스트림의 출력을 수집하는 데 사용됩니다. 예시:

printf(`"ls"`); // 요소를 인쇄합니다.
// 현재 디렉토리

미리 정의된 기능 평가(문자열 cmd) 백틱과 똑같이 동작합니다.
연산자: 동의어입니다.

목록형 피연산자:

명부 유형 변수 및/또는 값 다음 연산자를 사용할 수 있습니다.

o a + b: 새로운 것을 반환 명부 의 연결을 포함하는 값 명부a
b. 이것은 지원 집합 연산: 요소가 둘 다에 나타나는 경우 a 으로 혹은 b, 그들은 할 것이다
결과 목록에 두 번 나타납니다(집합 추가는 내장
기능 리스튜니온).

o a - b: 새로운 것을 반환 명부 요소를 포함하는 값 a 존재하지 않는 것
in b. 이 is 차집합 연산: 반환된 목록에는 모든 요소가 포함됩니다.
in a 의 요소가 아닌 b.

o a += b: 요소 b 의 요소에 추가됩니다. a, 명부
변하기 쉬운. 이것은 지원 세트 조작.

o a -= b: 요소 b 의 요소에서 제거됩니다. a, 명부
변하기 쉬운. 이것 is 집합 연산: 모든 요소 a 에서 발견되는 b are
에서 제거 a.

o 목록 동등 비교: 연산자 !=== 적용될 수 있습니다 명부 값 또는
변수. 운영자 == 두 목록이 요소별로 동일한 경우 1을 반환합니다.
요소, 그렇지 않으면 0이 반환됩니다. 운영자 != 의 결과를 뒤집다 ==.

o !a: 부울 ! 연산자는 다음과 같은 경우 1을 반환합니다. 명부 a 비어 있고 그렇지 않으면 0
반환되었습니다.

o []: 인덱스 연산자는 목록 변수에서 목록 요소를 검색합니다.
문자열로 rvalue. 따라서 다음 명령문은 OK를 컴파일합니다.

// lst가 목록이고 str이 문자열이라고 가정합니다.
str = lst[3];

그러나 다음 명령문은 컴파일되지 않습니다.

lst[3] = str;

잘못된 인덱스 값이 제공되면 빈 문자열이 반환됩니다.

주조 :

표준을 사용하여 유형 캐스트를 수행할 수 있습니다. C 캐스팅할 캐스트 연산자:

o 문자열을 int로 또는 그 반대로((int) "123", (문자열)55)

o 목록에 대한 문자열(명부 LST = (목록)"안녕하세요")

FLOW 통제


아이메이크 다음 하위 집합을 제공합니다. C님의 진술. 그들은에서와 같이 사용할 수 있습니다 C
프로그래밍 언어.

o 표현 ;
일반 표현 문;

o 복합 진술
모든 유형의 변수는 모든 화합물 내부의 어느 곳에서나 정의 및 초기화될 수 있습니다.
성명서. 그만큼 가시성 변수의 정의 지점에서 시작합니다.

o if (상태) 성명서
조건 내에서 변수를 정의하고 초기화할 수 있습니다. 예,

if (문자열 str = getText())
프로세스(str);

이 예에서, 방법 경우 호출되지 않습니다 getText () 빈 문자열을 반환합니다. NS
변수 하위 버전 이전이나 이후에 존재하지 않습니다. if 성명서.

o if (상태) 성명서 그렇지 않으면 성명서
이전 문과 마찬가지로 조건 내에서 변수를 정의할 수 있으며
초기화.

o ...에 대한 (초기화; 질환; 증가) 성명서
(단일 유형의) 변수는
INIT 부분. NS INIT, 조건증가 섹션이 비어 있을 수 있습니다. NS
빈 조건 섹션은 '항상 참된'.

o 동안 (상태) 성명서
조건 내에서 변수를 정의하고 초기화할 수 있습니다.
보완적인 do ... 동안() 진술을 사용할 수 없습니다. 정의
변수, 초기화 표현식을 사용하는 것은 초기화가
표현은 각 반복에서 실행됩니다. 동안 성명. 그래서 다음
문은 끝나지 않고 값 10의 끝없는 스트림을 표시합니다.

동안 (int x = 10)
printf(x--, "\n");

o 반환;의 메이크업 시연, 그리고 한국에서 사랑을 담아 보낸 반환 표현;
평원 반환 문은 다음에서 사용할 수 있습니다. 무효화 기능 및 반환 표현
문은 다른 유형의 함수에서 사용됩니다. 함수 본관 반환 유형이 있습니다
무효화 그리고 그래서 본관 그냥 평범한 반환 문을 사용할 수 있습니다. 기본적으로 아이메이크
스크립트의 종료 값은 0입니다. 내장 함수 사용 출구 (아래 참조) 지정
다른 종료 값.

Be 조언 : 값을 반환하지 않는 non-void 함수의 동작은 정의되지 않습니다.

o 하다
벌었지 ...에 대한동안 명령문의 조건을 무시하는 명령문.

o 계속
의 다음 반복으로 계속됩니다. ...에 대한 or 동안 성명서.

o 종료(표현식)
의 실행을 종료합니다. 아이메이크-스크립트. NS 표현 로 평가해야 합니다. INT
값, 스크립트의 종료 값이 됩니다.

미리 정의 기능


아이메이크 어디에서나 사용할 수 있는 다음과 같은 사전 정의된 기능을 제공합니다. 아이메이크
스크립트. 다음 개요는 함수 이름의 알파벳순으로 정렬됩니다.

o 무효화 arghead(문자열 h)
도우미 기능 exec () (아래도 참조 exec ()): '인수 헤드'를 정의합니다.
함께 사용하기 exec (). 기본적으로 '인수 헤드'는 빈 문자열입니다.

o 무효화 아르그테일 (끈 t)
도우미 기능 exec () (아래도 참조 exec ()): '인수 꼬리'를 정의합니다.
함께 사용하기 exec (). 기본적으로 '인수 꼬리'는 빈 문자열입니다.

o INT 아스키(문자열 s)
의 첫 번째 문자를 반환합니다. s 정수로; 예를 들어, 아스키("A") 65를 반환합니다.

o 아스키(int i)
반품 i 문자열로, 예를 들어, 아스키(65) 문자열을 반환 "A";

o change_base(문자열 파일 뉴베이스)
의 기본 이름을 변경합니다. 파일, 변경된 이름을 반환합니다. 예,
change_base("/경로/demo.im", "밖") 반품 "/경로/out.im";

o change_ext(문자열 파일 최신)
확장자를 변경합니다. 파일, 변경된 이름을 반환합니다. 예,
rss_changeExt("source.cc", "영형") 반품 "소스.오";

o change_path(문자열 파일 새 경로)
의 경로 사양을 변경합니다. 파일, 변경된 이름을 반환합니다. 예,
change_path("tmp/바이너리", "/ usr / bin") 반품 "/usr/bin/바이너리". 참고로
/- 필요한 경우 구분자를 삽입합니다.

o chdir(문자열 newdir)
스크립트의 작업 디렉토리를 변경하고 이전 디렉토리를 절대값으로 반환합니다.
통로.

용도 chdir(".") 현재 작업 디렉토리를 얻으려면 chdir("") 사용할 수 있습니다
시작 작업 디렉토리를 얻습니다(이 기능은 릴리스에서 손상되었습니다.
7.00 이전이지만 지금은 운영 중입니다). 함수는 다음을 종료합니다.
아이메이크-지정된 경우 스크립트 뉴디르 존재하지 않는다.

o chdir(int 확인 중, newdir)
이전 기능과 동일한 기능이지만 지정함으로써 확인 as
P_NOCHECK. 함수는 스크립트를 종료하지 않습니다. 오히려 반환됩니다.
스크립트의 현재 작업 디렉토리.

o cmdhead(문자열 h)
도우미 기능 exec () (아래도 참조 exec ()): '명령 헤드'를 정의합니다.
~와 함께 사용하다 exec (). 기본적으로 '명령 헤드'는 빈 문자열입니다.

o cmdtail(문자열 t)
도우미 기능 exec () (아래도 참조 exec ()): '명령 꼬리'를 정의합니다.
~와 함께 사용하다 exec (). 기본적으로 `command tail'은 빈 문자열입니다.

o 에코(int 고르다)
호출된 프로그램(및 해당 인수)의 반향을 제어하고 지정합니다. 떨어져서 메아리치는 경우
요청되지 않습니다. 기본적으로 에코(켜짐) 사용.

o 요소(int 인덱스, 명부 (또는 끈) 변수)
인덱스 연산자와 동일하게 작동: 인덱스 참조([]) 연산자
섹션에 있어야 합니다. 운영자.

o 명부 평가(문자열 str)
이 함수는 백틱 연산자와 동일하게 작동합니다. 함께 제공된 예
따라서 백틱 연산자는 다음과 같이 작성할 수도 있습니다.

printf(평가("ls")); // 현재의 요소를 출력
// 디렉토리

o exec(문자열 cmd, ~)
인수를 사용하여 명령을 실행합니다. 각 인수에는 접두어가 붙습니다. arghead()
인수 및 접미사 인수꼬리()님의 주장입니다. 공백이 삽입되지 않음에 유의하십시오.
사이에 arghead()의 내용, 적절한 인수 및 인수꼬리()님의 주장입니다. 모두
따라서 수정된 인수는 연결되며 이번에는 단일 공백으로 구분됩니다.
그때 cmdhead()의 내용은 명령과 첫 번째 인수 사이에 삽입됩니다.
(단일 공백으로 구분된 양쪽) 및 cmdtail()의 내용이 추가되었습니다.
인수에 대한 것입니다(다시 한 번 공백으로 구분됨). PATH 찾기 위해 검색됩니다
cmd를. 0이 반환됩니다.

o exec(int 체크 cmd, cmd, ~)
이전 기능과 동일한 기능이지만 지정함으로써 확인 as
확인되지 않은 함수는 스크립트를 종료하지 않습니다. 오히려 반환됩니다.
호출된 명령의 종료 상태 또는 0x7f00 명령을 찾을 수 없는 경우.

o 실행(문자열 cmd, cmdhd, 아아, ..., argtl, cmdtl)
과 동일 exec (), 그러나 명령 head/tail 및 인수 head/tail을 지정해야 합니다.

실제로 실행된 명령은 다음으로 시작합니다. cmd를, 다음 cmdhd. 다음은 시리즈
의 인수는 다음과 같습니다. 아악argtl. 명령은 다음으로 종료됩니다.
cmdtl. 0이 반환됩니다

o 실행(int 확인 중, cmd, cmdhd, 아아, ..., argtl,
cmdtl)
이전 기능과 동일한 기능이지만 지정함으로써 확인 as
확인되지 않은 함수는 스크립트를 종료하지 않습니다. 오히려 반환됩니다.
호출된 명령의 종료 상태 또는 0x7f00 명령을 찾을 수 없는 경우.

o INT 존재(문자열 파일)
다음과 같은 경우 XNUMX이 아닌 값을 반환합니다. 파일 존재하지 않으면 0이 반환됩니다.

o 명부 fgets(문자열 파일 명부 오프셋)
알림: in 아이메이크 버전 8.00.00 이 함수의 프로토타입이 다음에서 변경되었습니다.
명부 fgets(문자열 파일 INT 오프셋)명부 fgets(문자열 파일 명부 오프셋).

에 포함된 오프셋에서 찾은 다음 줄 오프셋 에서 읽습니다 파일. 합격
빈 목록 fgets 읽다 파일 처음부터.

읽은 줄의 내용을 첫 번째 요소로 포함하는 목록을 반환합니다.
(없이 \n 줄 종결자), 두 번째 요소로 줄의 종결자 `\n'
(만날 경우), 그리고 세 번째 요소로 문자열 OK 라인이 성공적으로
읽다, 실패 파일에서 읽기에 실패한 경우. EOF에서 읽을 때 빈 목록은
돌아왔다. 반환된 목록에는 내부적으로 추가 요소가 포함될 수 있습니다.
에 의해 사용되는 fgets 다음 줄을 읽을 때.

여러 줄을 읽으려면 빈 목록을 다음과 같이 전달하여 시작하십시오. 을 얻다 두 번째 인수.
다음 줄을 읽으려면 이전에 반환된 목록을 fgets의
논의.

다음은 전체 파일을 읽는 방법을 보여주는 예입니다.

목록 렛;
동안 (1)
{
ret = fgets("파일명", ret);
만약 (!ret)
하다;
프로세스(ret[0], ret[1]);
}

o INT fprintf(문자열 파일 이름, ~)
파일에 모든(쉼표로 구분된) 인수를 추가합니다. 파일 이름. 수를 반환합니다.
인쇄된 인수.

o INT fprintf(문자열 파일 이름, 체재, ~)
파일에 모든(쉼표로 구분된) 인수를 추가합니다. 파일 이름. 수를 반환합니다.
인쇄된 인수.

If 체재 자리 표시자를 포함합니다 %1 .. %n 출력 형식이 지정되었습니다(또한
strformat). 이 경우 인수 계산(또한)은
형식 문자열: 다음 첫 번째 인수 체재 라고 %1.

o get_base(문자열 파일)
의 기본 이름을 반환합니다. 파일. 기본 이름은 경로 접두사가 없는 파일입니다.
그리고 그것의 확장 없이. 확장은 마지막에서 시작하는 모든 정보입니다.
파일 이름에 점. 마지막 점이 발견되지 않으면 파일 이름이 기본 이름입니다.
예: 기본 이름 ab 같음 a, 기본 이름 알파벳 같음 ab, 베이스
~의 이름 알파벳 같음 c.

o getch ()
다음에 누른 키를 문자열로 반환합니다('Enter'를 누를 필요는 없습니다).

o get_dext(문자열 파일)
확장자를 반환합니다. 파일, 구분점을 포함합니다. 확장자는 모두
파일 이름의 마지막 점에서 시작하는 정보.

마지막 점이 발견되지 않으면 빈 문자열이 반환됩니다.

o 명부 getenv(문자열 환경)
환경 변수의 값을 반환합니다. 환경 두 개의 요소를 포함하는 목록에서:

첫 번째 요소는 환경 변수가 정의되었는지 여부를 나타냅니다(값
"1") 여부(값 "0");
두 번째 요소는 환경 변수의 값을 나타냅니다.

환경 변수는 다음과 같은 형식입니다. 변수=값, 그리고 정의된 경우 목록의
두 번째 요소는 다음을 포함합니다 가치. 값이 비어 있으면 변수가 정의되지만
관련 텍스트가 없습니다.

o get_ext(문자열 파일)
확장자를 반환합니다. 파일, 구분 점을 제외하고. 확장자는 모두
파일 이름의 마지막 점에서 시작하는 정보.

마지막 점이 발견되지 않으면 빈 문자열이 반환됩니다.

o INT getpid()
icmake 바이트 코드 인터프리터의 프로세스 ID를 반환합니다. icm-exec.

o gets ()
키보드에서 읽은 다음 줄을 다음으로 반환합니다. . 에 입력한 라인은
키보드는 반환된 파일에 저장되지 않는 'Enter' 키로 종료되어야 합니다.
끈.

o get_path(문자열 파일)
의 경로 접두사를 반환합니다. 파일. 경로 접두사는 최대 (및
포함) 최종 디렉토리 구분 기호(즉, 운영 체제에 따라
시스템, 정방향 또는 역슬래시).

경로를 찾지 못하면 빈 문자열이 반환됩니다.

o INT 목록 찾기(목록 마지막, str)
의 첫 번째 인덱스를 반환합니다. LST 어디 문자열 하위 버전 발견되거나 -1인 경우 LST 하지 않습니다
포함하는 하위 버전.

o INT listlen(목록 l)
의 요소 수를 반환합니다. 명부.

o 명부 listunion(목록 헐, 명부 RH)
요소의 합집합을 포함하는 목록을 반환합니다. ㄹㅇrhs.

o 명부 listunion(목록 마지막, str)
요소의 합집합을 포함하는 목록을 반환합니다. LST하위 버전.

o 명부 메이크리스트(문자열 마스크)
일치하는 모든 파일 목록을 반환합니다. 마스크. 예, 메이크리스트("*.c") 목록을 반환
로 끝나는 모든 파일 포함 .c.

o 명부 메이크리스트(유형, 마스크)
이전 기능과 동일하지만 디렉토리 요소의 유형은 다음과 같을 수 있습니다.
첫 번째 인수로 지정:

상징 의미
IS_ALL은 모든 디렉토리 항목을 얻습니다.
IS_DIR은 를 포함한 모든 디렉토리를 얻습니다. 그리고 ..
IS_FILE 파일 목록 가져오기
IS_SUBDIR은 모든 하위 디렉토리를 얻습니다.

패턴 참고하세요 * Unix 유형 운영에서 숨겨진 항목과 일치하지 않습니다.
시스템. 사용하다 .* 그에 대한.

o 명부 메이크리스트(문자열 마스크, 더 새로운, 비교 파일)
제공된 것보다 최신인 마스크와 일치하는 모든 파일의 목록을 반환합니다.
비교 파일. 운영자 더 어린 대신에 사용될 수 있습니다 더 새로운. 그 주 더 새로운
더 어린 문자열이 아니라 연산자입니다.

o 명부 메이크리스트([int = IS_FILE,] 마스크, 더 새로운, 비교 파일)
이전 기능과 동일하지만 유형 다음과 같이 지정할 수 있습니다. 명부 메이크리스트(유형,
마스크).

o 메이크리스트(문자열 마스크, 더 오래 된, 비교 파일)
위 참조; 비교 파일보다 오래된 파일 목록을 반환합니다.

o 메이크리스트(유형, 마스크, 더 오래 된, 비교 파일)
이전 기능과 동일하지만 유형 다음과 같이 지정할 수 있습니다. 명부 메이크리스트(유형,
마스크).

o INT printf(...)
화면에 모든(쉼표로 구분된) 인수를 표시합니다(즉, 표준 출력 스트림).
인쇄된 인수의 수를 반환합니다.

o INT printf(문자열 체재, ~)
화면에 모든(쉼표로 구분된) 인수를 표시합니다(즉, 표준 출력 스트림).
인쇄된 인수의 수를 반환합니다( 체재 문자열은 하나의 인수로 계산됨).

If 체재 자리 표시자를 포함합니다 %1 .. %n 출력 형식이 지정되었습니다(또한
strformat).

o INT putenv(문자열 환경)
추가 환경 현재(아이메이크) 환경 "VAR=값" 형식을 사용합니다.
0을 반환합니다.

o 크기 조정(문자열 str, INT 새로운 길이) 문자열의 복사본을 반환 하위 버전, 다음으로 크기 조정됨
새로운 길이 문자. 만약에 새로운 길이 음수이면 빈 문자열이 반환됩니다.
if 새로운 길이 초과 str의 길이를 지정하면 새로 추가된 문자가 초기화됩니다.
공백으로.

o INT sizeof(목록 l)
더 이상 사용되지 않음: 사용 귀를 기울이다.

o INT sizeoflist(목록 l)
더 이상 사용되지 않음: 사용 귀를 기울이다.

o 명부 통계(문자열 기입)
반품 스탯(2) 디렉토리 항목 정보 항목 목록으로. 반환된 목록
두 개의 요소가 있습니다. 요소 0은 속성 가치, 요소 1은 다음 크기를 포함합니다.
파일.

속성은 다음과 같은 사전 정의된 구성 요소로 구성된 비트 플래그로 반환됩니다.
상수 :

S_IFCHR S_IFDIR S_IFREG
S_IREAD S_IWRITE S_IEXEC

을 참조 스탯(2) 이러한 상수의 의미에 대한 매뉴얼 페이지.

o 명부 통계(확인, 기입)
이전 기능과 동일하지만 지정하여 확인 as P_NOCHECK 기능
스크립트를 종료하지 않습니다. 오히려 돌아온다. 스탯(2)의 반환 값.

o INT strchr(문자열 str, 문자)
의 첫 번째 인덱스를 반환합니다. 하위 버전 의 문자 중 하나가 문자들 발견되거나 -1
if 하위 버전 의 문자를 포함하지 않습니다. 문자들.

o INT strlen(문자열 str)
의 문자 수를 반환합니다. 하위 버전 (마지막 0은 계산하지 않음).

o INT strfind(문자열 커다란 건초 더미, 바늘)
반환 인덱스 커다란 건초 더미 어디에 바늘 발견되거나 -1인 경우 바늘 포함되지 않습니다
in 커다란 건초 더미.
기능 였다 라는 strstr() in 버전 전에 7.00.

o INT strformat(문자열 체재,...)
인수를 처리하기 위해 자리 표시자 %1 .. %2를 사용하여 형식이 지정된 문자열을 반환합니다.
다음 형식.
예:

void main ()
{
정수 i = 10;
정수 j = 20;
문자열 s1;
문자열 s2;
// 전통적인 접근 방식:
s1 = (문자열)i + " " + (문자열)j + " " + (문자열)i;
// strformat 사용:
s2 = strformat("%1 %2 %1", i, j);
printf("s1 = %1, s2 = %2\n", s1, s2);
}

o strlwr(문자열 s)
의 소문자 중복을 반환합니다. s.

o 명부 strtok(문자열 str, 구분자)
의 모든 하위 문자열을 포함하는 목록을 반환합니다. 하위 버전 하나 이상으로 분리
(연속) 문자 분리기. 예, strtok("안녕하세요. icmake의 + 세계", " +")
세 개의 문자열을 포함하는 목록을 반환 "안녕하세요", "아이메이크"의 메이크업 시연, 그리고 한국에서 사랑을 담아 보낸 "세계".

o strupr(문자열 s)
의 대문자 사본을 반환합니다. s.

o substr(문자열 본문, INT 오프셋, INT 세다)
의 하위 문자열을 반환합니다. 본문에서 시작 오프셋, 구성 계산 문자. 만약에
오프셋 문자열의 크기를 초과하거나 같음 계산 <= 0, 빈 문자열
반환됩니다. 만약에 오프셋 0보다 작으면 0이 사용됩니다.

o INT 시스템(문자열 명령)
실행 명령. 반환 값은 실행된 명령의 종료 값을 나타냅니다. NS
명령 리디렉션 및/또는 파이핑 문자가 포함될 수 있습니다.

o INT 시스템(int 확인 중, 명령)
이전 기능과 동일한 기능이지만 지정함으로써 확인 as
확인되지 않은 함수는 스크립트를 종료하지 않습니다. 오히려 반환됩니다.
호출된 명령의 종료 상태 또는 0x7f00 명령을 찾을 수 없는 경우.

o 트림(문자열 s)
의 사본을 반환합니다. s 선행 및 후행 공백 없이.

o trimleft(문자열 str)
의 사본을 반환합니다. s 선행 공백 없이.

o 트림(문자열 s)
의 사본을 반환합니다. s 후행 공백 없이.

USER 한정된 기능


무효화 본관

아이메이크 스크립트에는 사용자 정의 함수가 제공되어야 합니다. 본관. 함수 본관
마지막 매개변수에서 생략할 수 있는 세 개의 선택적 매개변수(환경) 첫 번째
(인수)에서와 같이 C. 전체 프로토타입은 (참고: 무효화 반환 유형):

무효 메인(int argc, list argv, list envp)

In 본관(),

o 인수 의 요소 수를 나타냅니다. argv;

o argv 요소 0이 .bim의 이름과 동일한 인수를 포함합니다.
파일;

o 환경 '환경' 변수를 포함합니다. 함수 귀를 기울이다 를 사용할 수 있습니다
요소의 수를 결정합니다. 요소 환경 형태가 있다
변수=값. 또는 기능 Getenv 검색하는 데 사용할 수 있습니다.
특정 환경 변수를 즉시. 예시:

무효 메인(int argc, list argv)
{
컴파일할 목록;
정수 idx;

if (인수 == 1)
사용법(요소(0, argv));

if (toCompile = 변경됨("*.cc"))
{
(idx = 길이(toCompile); idx--; )
컴파일(요소(idx, toCompile));

if (getenv("dryrun")[0] == "0")
연결(요소(2, argv));
}
}

모든 전역 변수를 정의 순서대로 초기화 본관 에 의해 호출
아이메이크의 런타임 지원 시스템이 추가 작업을 수행합니다.

또한 한정된 사용자 기능

추가 기능을 정의할 수 있습니다. 일단 정의되면 이러한 함수를 호출할 수 있습니다. 앞으로
변수나 함수의 참조는 지원되지 않지만 재귀적으로 호출
기능은 . 함수 선언이 지원되지 않으므로 간접 재귀는 지원되지 않습니다.
도 지원합니다.

사용자 정의 함수에는 다음 요소가 있어야 합니다.

o 다음 중 하나여야 하는 함수의 반환 유형 무효의, 정수, or 명부. 그곳에
기본 유형이 아닙니다.

o 기능의 이름, 예: 편집하다.

o XNUMX개 이상의 쉼표로 구분된 매개변수를 정의하는 매개변수 목록. 매개변수
자체는 유형 이름으로 구성됩니다(정수, 명부) 다음에
매개변수의 식별자입니다. 예, (끈 아웃 파일, 소스).

한 쌍의 중괄호({}).

함수 본문은 (선택적으로 초기화된) 변수 정의를 포함할 수 있습니다. 변하기 쉬운
정의는 유형 이름으로 시작하고 그 뒤에 하나 이상의 쉼표로 구분됩니다(선택적으로
초기화) 변수 식별자. 변수가 명시적으로 초기화되지 않은 경우
기본적으로 초기화됩니다. 기본적으로 INT 변수는 0으로 초기화됩니다. is
빈 문자열("")와 명부 XNUMX 요소 목록으로 초기화됩니다.

변수 정의 외에도 본문에는 XNUMX개 이상의 명령문이 포함될 수 있습니다(cf.
섹션에 있어야 합니다. FLOW 통제). 변수를 정의할 수 있습니다(선택적으로 초기화할 수 있음).
함수 내부 어디에서나 만약, ...에 대한동안 진술.

행동 아이메이크- 값을 반환하지 않는 non-void 함수를 사용하는 스크립트는
한정된.

onworks.net 서비스를 사용하여 온라인으로 icmun 사용


Ad


Ad