当前位置:  开发笔记 > 编程语言 > 正文

如何编写和编译Amiga应用程序?

如何解决《如何编写和编译Amiga应用程序?》经验,为你挑选了13个好方法。

我想为Amiga编写一个应用程序,只是为了好玩!

请有人根据以下内容逐步发布howto吗?

究竟我应该使用哪些编程工具,是否已经安装了?

我是否仅限于纯文本编辑器,还是有IDE和调试工具可用?

如果没有安装任何工具,这怎么办?有免费的吗?

我想学习传统的Amiga语言,你能推荐一个吗?

我应该用什么来编译你建议的语言?

请问您可以建议我用来调试建议语言的工具吗?

有没有我应该注意的库,比如GUI库?

有些事要注意......

我正在WinUAE模拟器中运行Workbench 3.1.

从Workbench,我可以从我的Windows硬盘访问文件.

如果可能的话,我想从Workbench编写代码并编译它.

我在A1200模式下运行WinUAE,不确定是否重要.

已经安装了一个名为MEmacs的应用程序.

我非常了解C++和C#,也许有类似的Amiga语言.

我知道你可以用C和C++编写代码,但我想学习一门新语言.

更新:

我已经回答了我自己的问题,但在我打算扩展答案时,请提供更多答案.感谢迄今为止所做的一切,您一直非常乐于助人!



1> Nick Bolton..:

注意:请不要推迟回答; 这是一个持续的线索.
谢谢你到目前为止的所有答案:-)

花了几天时间搞清楚.这些说明适用于AMOS Pro,请随意发布您自己的其他语言答案,或更新此答案(这是一个社区维基).

工作台说明:

    安装Amiga Forever 2008(加号版包括Workbench 3.1).

    使用Amiga Forever或WinUAE作为模拟器(我更喜欢WinUAE).

    将Amiga Workbench 3.1安装到自定义硬盘驱动器.

    如果使用WinUEA,只需使用af_3x配置文件(与Amiga Forever一起安装).

    熟悉Workbench和Amiga Shell(请参阅参考资料).

AMOS Pro说明:

AMOS Pro是一个IDE,看起来有点像旧的黑客电影,你甚至可以打开你在电影中听到的那些恼人的声音.那不是很好吗?无论如何,对于howto ...

    获取AMOSPro的磁盘(v2.00中总共有6个磁盘).

    插入AMOSPro_System磁盘并按照说明安装AMOS Pro.

    安装后,打开AMOS_Pro目录,然后运行AMOSPro.

    如果您不了解AMOS,请学习一些AMOS编码基础知识.

    类型: Print "Hello world!"

    按F1键运行(与AMOS徽标右侧的红色三角形相同).

    Rejoyce如"Hello world!"在橙色背景的白色文本出现.

    TODO:了解如何将其编译为可以从Workbench运行的二进制文件(?).

AMOS Pro:Hello world!http://img7.imageshack.us/img7/7867/001tpe.png

这里有一些更有趣的AMOS代码.

Input "Who are you? ";S2$
S1$="Oh, hello "
S3$=", nice to see you!"
Print S1$+S2$+S3$

Amiga小贴士:

[Left Amiga]是Windows键,[Right Amiga]是Context Menu键.

按[Left Amiga] + A在AMOS Pro和Workbench之间切换.

英国[@']键产生#或@(移位)字符.

英国[〜#]键产生\或| (转移)角色.

英国[¬ ] key produces either the ' or ~ (shift) or(alt)字符.

资源:

AMOS工厂 - AMOS的论坛和资源

Amiga Forever - 我选择的Amiga模拟器包(包括WinUAE)

*Green Amiga Alien指南:Workbench 3.1 - Workbench定制

新手的Amiga东西 - Amiga Shell和Workbench的提示

Amiga OS开发 - Amiga.org上的论坛类别

*使用WinUAE Amiga Forever配置(af_3x)时不是必需的.

去做:

我会尝试为每种语言做一个howto,如下所示.

德拉科(感谢avery-payne)

Amiga E(感谢Paul Ruane)

SAS/C(感谢Hank)

Modula-2(感谢JasonTrue)

ARexx(感谢Nik)



2> Richard Harr..:

这必须是最奇怪的,同时也是一个非常鼓舞人心的问题.

原谅我,作为前Amiga的开发者,我放弃了这个平台.现在写点东西的想法对我来说非常抽象.

然而,一旦我认为可能成为第一的平台,我必须努力回答你的问题.

编程工具; 68k汇编程序或C与SAS/C

我个人总是使用CygnusEd进行编辑,我不知道任何IDE.我认为SAS/C有某种模糊的IDE,但我不能确定我只使用了源代码级调试器(当时对我来说是一个非常新的东西).

在免费工具方面,我参与了在Amiga上提供GCC和库,但我不知道这个项目发生了什么.我的A3000在谷仓里可能有什么东西,但没有什么理由可以找到.

唯一传统的Amiga语言是原生的68k汇编程序.但你可以用C做很多事情,因为你已经详细阅读了15英寸的RKM.

BTW阿莫斯是垃圾.一个玩具在它的时间.

为了调试我只使用过SAS/C(或正式知道的莱迪思).

有没有我应该注意的库,比如GUI库?

许多.要在Amiga上有效编码,你真的需要了解操作系统层的许多内容是如何挂在一起的.当时这是互联网前最大的障碍,因为信息和知识更难以获得.

Workbench 3.1是最好的第一个.如果我能记住它们的话,我可以把你的细节带给你.

与C++最相似的Amiga语言是C,知道C只会让你获得一小部分,因为魔鬼在系统调用/库的细节中.

如果你想学习一个新的语言,那么也许不要选择一个几乎死的平台.如果我有时间,我会学习lua.

即使是现在,阿莫斯仍然是垃圾.



3> Nik..:

你当然应该使用模拟器 - 运行阿联酋的现代PC是一个与A1200不同的世界.你可以运行一个漂亮的高屏幕分辨率,并且CPU性能的数量级更快(如果你希望它更快,那么当然都是可选的).哦,如果你愿意,你可以通过模拟器提供的Amiga库实际访问PC硬件.

如果您想点击"硬件",Amiga参考手册将是您的起点.Devpac是大多数人的首选装配工.

有几个C编译器,至少有一个C++编译器,SAS/C. 以下是一些Amiga编译器的链接

如果你想学习一门新语言,那么Modula-2可能是一个选择,但实际上C语言是大多数人的首选语言.操作系统本身是用C语言编写的(至少从2.0开始 - 之前的BCPL),并且这些库都提供了用于访问它们的C头.

汇编语言对于游戏和演示也非常受欢迎,我个人可以保证这对我来说非常有趣.这本好书:

摩托罗拉程序员参考手册68k-68040,这是关于指令集的最全面的书.可在此免费下载

Amiga硬件参考手册,获取所有硬件寄存器的完整列表,它们的工作原理以及如何使用它们.旧副本在这里出售

另一个有趣的选择可能是相当强大的ARexx脚本语言.你可以做很多事情,例如通过他们的'ARexx端口'控制其他应用程序以获得对其功能的访问.比其他选项更高级别,但很容易让它做有趣的事情.



4> Michael Stum..:

还有就是Amiga的开发CD 2.1包含所需的一切:所有的软件开发工具包(包括那些经典的1.3,2.0和3.1,3.5较新的一个也可以在3.9用我的知识)和合适的68K C-编译器.

它仍然可以从一些供应商处获得,我记得用它写了一些东西.它是C,所以它应该是相当直接的.

不支持AmigaOS4,但是再次,Workbench 3.1是最后一个真正的AmigaOS.


Workbench 3.1的+1是最后一个真正的AmigaOS.;)

5> 小智..:

不要忘记大多数Amiga安装附带的ARexx.它是一种真正美妙的语言,令人惊讶的可读性和易于编写.Amiga上的大多数现有应用程序都有ARexx的钩子,因此您可以非常轻松有效地拼凑来自许多小型应用程序的更大应用程序.我最喜欢的ARexx之一是它的多功能字符串处理.即使它是一种解释型语言,它的速度也非常快,特别是如果你很好地利用它与其他程序的连接来为它做低级别的东西.



6> Avery Payne..:

究竟我应该使用哪些编程工具,是否已经安装了?

Basic和AREXX是唯一预先打包的语言,即使在那时,BASIC也有两种方言(ABasic和AmigaBasic).您需要查看Fred Fish系列或AmiNet以获取更多工具.

要购买商业编译器,请尝试在Vesalia Online上购买的Amiga Developers CD,尽管可能还有其他编辑器.

我是否仅限于纯文本编辑器,还是有IDE和调试工具可用?

你几乎回到编辑 - 保存 - 编译 - 链接 - 运行 - 崩溃 - whycrash-doh-fixit-edit循环,IDE不是现成的.我会看看像DME(Dillon的宏编辑器)这样的东西,也可以在Fred Fish系列或AmiNet(http://wuarchive.wustl.edu/pub/aminet/)上找到.它提供了一些有用的基本宏观建筑设施.

如果没有安装任何工具,这怎么办?有免费的吗?

是.再一次,Fred Fish,或AmiNet.

我想学习一种传统的Amiga语言,你能推荐一种语言吗?

德拉科.它是由克里斯格雷写的.它有点"原始",但它应该为您提供所需的一切,包括正确的绑定和常量.语言编译并以与C相当的速度运行.

我应该用什么来编译你建议的语言?

Manx或Lattice C是当时的C编译器(如果你能找到它们,祝你好运),Manx倾向于16bit,Lattice则倾向于32bit.有一些很小的基于C的编译器.有68k组装(一个neato指令集恕我直言),Draco,一个pascal方言,可能是Modula-2,以及DICE(一个免费的C编译器,但你正在寻找别的东西)......

请问您可以建议我用来调试建议语言的工具吗?

同样,商业工具之间的差距很小,您将不得不深入挖掘公共域档案以找到任何东西.

有没有我应该注意的库,比如GUI库?

这些库都是内置的.intuition.library是提供基本窗口支持的库的名称.gfx.library将为您提供高级原语,layers.library将为您提供将独特的位平面方法处理为图形的支持.在你走到那么远之前,你会想看看exec,它是操作系统的核心和灵魂.它提供先发制人的多任务处理,内置链表原语,消息传递原语,IO原语等,并在整个系统中大量重复使用.如果您了解exec,您将理解系统其余部分的低级内部.

请记住,系统的状态看起来更像是一个嵌入式游戏机,因为没有内存保护,SMP支持等等.由于之前引入的设计限制,所有这些都无法轻易添加.首先是Amiga发货.我似乎记得这个问题围绕着如何处理多个处理器和内存保护,因为整个微内核在非私有CPU模式下运行.

最后但并非最不重要的是,幻数是4,这是一个内存地址.该地址是指向exec的指针(它不仅是一个微内核而且是一个库),通过它可以通过OpenLibrary()调用引导到系统的其余部分.无法定位的库将通过AmigaDOS自动从磁盘加载.这就是Amiga如何处理可移植代码的问题 - 所有代码都是使用偏移量写入指向库"base"的指针,除了地址4之外没有固定地址.每个库都有一个调用表每个条目6个字节(一个跳转指令),然后传送到正确的入口点.如果您的"标题"格式正确,则可以轻松编写自己的库.设备驱动程序"借用"了库的结构,并使用相同的概念来提供默认的I/O处理程序.

对不起,如果这些名字有点错误,这个信息在近20年前就已经不在了我的脑海......

可能还有其他信息渠道. 有人用维基做了一些努力,经过一些搜索,我相信你可以找到更多.

有些事要注意......

我正在WinUAE模拟器中运行Workbench 3.1.

凉.你已经准备好了.那是最后一个伟大的"经典"工作台.

从Workbench,我可以从我的Windows硬盘访问文件.

它会有所帮助,但你会希望尽可能地"原生".

如果可能的话,我想从Workbench编写代码并编译它.

往上看.

我在A1200模式下运行WinUAE,不确定是否重要.

这是你正在模仿的硬件模型; 这是一台很好的预算机器,但如果可能的话,尝试将其设置为A3000,这在Commodore遇到麻烦之前是一台不错的高端机器.

已经安装了一个名为MEmacs的应用程序.

尝试一下,如果Emacs是你的东西......否则我会看一些原生工具.

非常了解C++和C#,也许有类似的Amiga语言.我知道你可以用C和C++编写代码,但我想学习一门新语言.

然后Draco适合你.它具有大多数库的绑定,编译干净,并且它是正式的"死"语言,因为它与特定的硬件平台相关联.非常Amiga特定.:)

祝好运!让大家知道结果如何......



7> Manrico Cora..:

仿真器

阿联酋

操作系统

AROS(试图恢复生活AmigaOS)

编程资源

Kickstart ;)



8> 小智..:

嘿,如果你想做有趣的Amiga编程,有一个的软件,将震撼你的世界:

好莱坞4.5来自Airsoft Softwair

这是一种非常简单有趣的语言,主要针对多媒体演示.它是一种基于Lua语法的脚本语言,但它也让我想起了一些古老的Amos,因为它具有许多强大的gfx和声音功能.它非常易于使用,附带了出色的文档和许多示例.此外,它是多平台,解释器/编译器适用于所有不同的Amiga平台(包括OS 3.1,AROS,MorphOS ......),完成的编译脚本甚至可以在Windows和Mac OS X上轻松运行!

你可能会发现它有点贵89欧元,但我可以告诉你,如果你想要有趣的编程,这是值得的投资,我没有在任何其他平台上看到任何类似的东西!

您可能想测试我的一个创作:-).这是一个与真实演员的格斗游戏,它在好莱坞完成,Windows版本可以在这里下载:

http://dl.dropbox.com/u/2920309/BEF-win32.zip



9> cjk..:

有一个伟大的编程工具Amigas与圣经中的某个人同名....

AMOS

就是这样.


@CraigTP:你还记得用AMOS Basic编写的NIALL吗?

10> Paul Ruane..:

http://en.wikipedia.org/wiki/AmigaE

这就像C,但没有指针.我仍然在家里的系统API书籍.


我来到这里说AmigaE.我为AmigaE中的SegaCD Stellar Fire编写了一个形状预分类器.Amiga上的Loved Modula-2和几个优秀的C编译器.曾经和研究三角的SAS C人一起出去玩.他们在那里举行了Amiga用户组会议.我想这就是我介绍切片HAM模式的地方.

11> Lazarus..:

我有一段时间是Amiga程序员,并且只使用68k汇编语言.Amiga参考手册是圣经和必不可少的.至于有趣的节目,我怀疑大多数已经在Amiga上完成了死...只是搜索你的任何想法,我相信你会找到一段现有的代码.

和我一起打球对我来说总是很有趣,但那是我工作的地方.



12> JasonTrue..:

我确信你可以像其他人提到的那样找到一个模拟器,但我想补充一点,Modula-2在Amiga程序员中非常受欢迎.



13> 小智..:

如前所述,AMOS是一种相当不错的基本方言,不过我可能会看一下Blitz Basic.或者使用Asm-ONE直接68k组装.Asm-One是各种IDE,只是不要指望Visual Studio级别的支持工具.

SAS/C是我在Amiga平台上的首选武器,尽管还有其他C编译器的端口.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有