alias 수정자
alias 수정자
프로시저나 함수에 다른 이름을 부여하고 싶을 때가 있어요. alias 수정자는 프로시저나 함수에 대해 다른 이름을 지정할 수 있게 해줘요.
본문
alias 수정자는 프로시저나 함수에 다른 이름을 지정할 수 있게 해줘요. 이것은 주로 어셈블리 언어 구문이나 다른 객체 파일에서 이 프로시저를 참조할 때 유용해요. 다음 프로그램을 예로 들어 볼게요.
Program Aliases;
Procedure Printit;[public, alias:'DOIT'];
begin
WriteLn ('In Printit (alias : "DOIT")');
end;
Procedure myprint; external name 'DOIT';
begin
asm
call myprint
end;
end.
참고: 지정된 alias는 어셈블리 코드에 그대로 삽입되므로 대소문자를 구분해요.
alias 수정자는 그 자체로는 심볼을 다른 모듈에 공개하지 않아요. 루틴이 유닛의 interface 부분에 선언되어 있거나, public 수정자로 강제로 공개하지 않는 한 그렇지 않아요. 다음을 보세요.
unit testalias;
interface
procedure testroutine;
implementation
procedure testroutine;alias:'ARoutine';
begin
WriteLn('Hello world');
end;
end.
이렇게 하면 testroutine 루틴이 ARoutine이라는 레이블 이름으로 외부 객체 파일에 공개적으로 사용 가능해져요.
참고: alias 지시자는 더 이상 권장되지 않아요(deprecated). 대신 public name 지시자를 사용하세요. 자세한 내용은 14.9.17절(823페이지)을 참고하세요.
더 알아보기
public수정자와public name지시자(14.9.17)를 함께 살펴보면 좋아요.- 어셈블리 언어와 연동할 때 심볼 이름이 어떻게 매핑되는지 이해하는 데 도움이 돼요.