首次使用GPS运行Ada程序遇编译错误,寻求解决方法
解决Ada编译错误:"end of file expected. file can only be one compilation unit."
- 先明确核心规则:Ada要求每个源文件(
.adb/.ads)只能装一个完整的编译单元——比如单个主程序、单个包规范、单个包体,不能把多个单元堆在同一个文件里。 - 检查代码结尾完整性:
- 主程序必须写全结尾:要么
end [你的程序名];,要么简化成end;,绝对不能漏 - 包规范/包体、子程序同理,必须有对应的
end [单元名];收尾
- 主程序必须写全结尾:要么
- 排查文件内容:看看是不是复制粘贴时漏了结尾的
end;,或者文件被意外截断,导致编译器看不到单元的结束标记 - GPS操作提示:如果是在GPS里写代码,别在同一个编辑器标签里塞多个单元。要是导入了别人的代码,把拆分后的每个单元单独存成一个文件再编译
给个正确的示例参考:
with Ada.Text_IO; use Ada.Text_IO; procedure My_First_Ada_Program is begin Put_Line("It works!"); end My_First_Ada_Program;
这个文件只有一个主程序单元,结尾完整,符合编译器要求。
内容的提问来源于stack exchange,提问作者bedboi
相关产品推荐
相关产品推荐

