Ada에서 절차와 기능으로 간단한 패키지를 얻었습니다. 모든 기능과 절차를 보호 된 유형으로 갖고 싶습니다.Ada protected types
간단한 .adb이고에 대한
package body Pack is
procedure procedure1 (B : in out Integer) is
begin
B := new Integer;
end procedure1;
procedure procedure2 (B: in out Integer) is
begin
B.Cont(B.First-1) := 1;
end procedure2;
function procedure3 (B : Integer) return Boolean is
begin
return B.First = B.Last;
end procedure3;
end pack;
및 또는 간단한 .ads 나는 그것에 대해 어떻게 갈 것이라고
package body Pack is
procedure procedure1 (B : in out Integer);
procedure procedure2 (B: in out Integer);
function procedure3 (B : Integer) return Boolean;
end pack;
파일?
코드가 컴파일하는 것이 먼 길입니다. 'procedure1'에서, B는'Integer'로 선언되지만 접근 값을 할당합니다 ('new Integer'). 그리고 다른 두 개의 서브 프로그램에서 B는 레코드 유형 인 것으로 보입니다. 그리고 예약어'body'는 패키지 스펙에 나타날 수 없습니다. –
1> 유효한 Ada 코드가 아닙니다. 2> 동시성 에서처럼 보호 된 유형을 의미 했습니까? 그렇다면 여기에서 읽으십시오 : http://en.wikipedia.org/wiki/Ada_%28programming_language%29#Concurrency – NWS