아래 코드를 Ada 언어에 붙여 넣었습니다. 일부 구현에 대한 설명이 필요합니다. 이제ada의 주소 표현
C : character;
Char : character;
type Myarr_Type is array (character range 'A'..'K') of character;
Myarr : Myarr_Type := ('A','B','C','D','E','F','G','H','I','J','K');
Next_Address := Myarr'address --'
Last_Address := Next_Address + Storage_Offset'(40); --'
return P2 + Storage_Offset'(4); --'
Last_Address := Next_Address + Storage_Offset'(4); --'
내 의심의 여지 1) 무엇을하지 P2 + Storage_Offset '(4)는이 배열의 다음 요소의 주소를 반환하는 것을 의미 실제로 mean.Does'B'.Storage_Offset '(4) - 이것은 평균 4 비트 또는 4 바이트의 메모리를 의미합니다. 2) Last_Address가 배열의 마지막 요소 인 'K'를 가리킨다 고 가정하면, arithmentic Storage_Offset '(40)은 실제 구현을 어떻게 만족합니까?
더 이상의 설명이 필요한 경우 나에게 연락하십시오.
해당 기능이 존재하지 않는다고 가정하십시오. 사실 저는 ada 파일을 가지고 있고 C 파일로 변환하는 작업을하고 있습니다. 나는 초보자이기 때문에 많은 문제에 봉착했습니다. 어떤 혼란이든 용서해 주시기 바랍니다.
감사
귀하의 질문에 모양과 사람이 그것의 의미를 가정하는 방법을 고려하시기 바랍니다하려고합니다. 또한 ** 더 많은 답변을 수락 **. –
질문의 어느 부분이 명확하지 않은지 알려주시겠습니까?이 질문에 대해 명확하게 표시하는 것보다 더 낫습니다. – maddy
당신이 이것을 얻은 곳마다, 그것은 "아다 언어"가 아닙니다. Fortran이나 C 또는 무엇인가에서 문자 적으로 번역 된 모든 표시를 보여줍니다. 약간의 유능한 Ada 프로그래머조차 이런 식의 코드를 작성하지 않습니다. 나 또는 다른 누군가가이 코드를 읽어 들여서 무엇을하고 있는지 말할 수는 있지만 직접 코드를 읽으면 이해할 수 있습니다. 이해가 안되는 부분은이 코드가 달성하려고하는 것입니다. 우리가 "그것을 이해할 수있다"는 것을 안다면, 코드가 의미하는 바를 더 잘 설명 할 수 있습니다. (그리고 네, 더 많은 답변을 수락하십시오.) –