{"id":1229,"date":"2010-02-05T19:57:55","date_gmt":"2010-02-05T17:57:55","guid":{"rendered":"http:\/\/www.final-memory.org\/?p=1229"},"modified":"2010-02-05T19:57:55","modified_gmt":"2010-02-05T17:57:55","slug":"ahcc-ein-freier-ansi-c-compiler-fur-atari-st","status":"publish","type":"post","link":"https:\/\/www.final-memory.org\/?p=1229","title":{"rendered":"AHCC &#8211; ein freier ANSI C Compiler f\u00fcr Atari ST"},"content":{"rendered":"<p>Ende November, Anfang Dezember habe ich <strong>AHCC<\/strong> entdeckt. AHCC steht f\u00fcr &#8220;<strong>A Home Cooked C Compiler<\/strong>&#8221; und ist ein frei verf\u00fcgbarer ANSI C Compiler f\u00fcr Atari ST und Nachfolger. Der Compiler stellt eine unter Mint und MagiC\u00a0 multitaskingf\u00e4hige Programmierumgebung zur Verf\u00fcgung. Das Paket kommt komplett mit GEM-Shell, Make in TTP-Form, einer guten Dokumentation und mit allen n\u00f6tigen Libraries.<\/p>\n<figure id=\"attachment_1231\" aria-describedby=\"caption-attachment-1231\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.final-memory.org\/wp-content\/uploads\/2010\/02\/AHCC_on_AtariST.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1231\" title=\"AHCC (Atari ST Version)\" src=\"http:\/\/www.final-memory.org\/wp-content\/uploads\/2010\/02\/AHCC_on_AtariST-300x197.png\" alt=\"AHCC (Atari ST Version)\" width=\"300\" height=\"197\" srcset=\"https:\/\/www.final-memory.org\/wp-content\/uploads\/2010\/02\/AHCC_on_AtariST-300x197.png 300w, https:\/\/www.final-memory.org\/wp-content\/uploads\/2010\/02\/AHCC_on_AtariST.png 832w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1231\" class=\"wp-caption-text\">AHCC (Atari ST Version)<\/figcaption><\/figure>\n<p>Es gibt von AHCC zwei Versionen. Die normale Version ben\u00f6tigt eine 68020 oder bessere CPU, w\u00e4hrend es auch eine Atari ST Version f\u00fcr 68000 gibt. Letztere hat dann allerdings keinen Support f\u00fcr Floating Point Arithmetik, aber die brauche ich zumindest nicht.<\/p>\n<p>Einmal erzeugte Objectfiles oder Biblitoheken bleiben dabei nach Aussage des AHCC Betreuers kompatibel. D.h. man kann mit der ST Version eine Bibliothek erzeugen und diese dann auf dem Falcon mit der 020 Version verwenden und dazu linken.<\/p>\n<p>Der Compiler \u00fcberzeugt mich vor allem mit den folgenden Punkten:<\/p>\n<ul>\n<li>frei zu haben (Der Source des Compilers ist vorhanden und einsehbar)<\/li>\n<li>ANSI C Unterst\u00fctzung (freie C Compiler auf dem ST gibts afaik bis dato nur mir K&amp;R C)<\/li>\n<li>eingebauter Editor mit Syntaxhighlighting<\/li>\n<li>TTP f\u00fcr Make und Compilieren funktioniert auch tats\u00e4chlich (hab ich mit Pure C nie hinbekommen)<\/li>\n<li>Pure C kompatibel (bzgl. Objectfiles habe ich das noch nicht ausprobiert)<\/li>\n<li>Objectfiles aus Assemblercode sind leicht zu integrieren<\/li>\n<li>komplette TOSLib inklusive Calls f\u00fcr Mint<\/li>\n<li>Floating Point Support ist optional<\/li>\n<li>l\u00e4uft vermutlich auf allen Ataris mit 2-3MB Speicher<\/li>\n<li>Support \u00fcber den Autor Henk Robbers ist super<\/li>\n<\/ul>\n<p>Ein paar Schwachstellen hat AHCC allerdings auch:<\/p>\n<ul>\n<li>kein Debugger dabei<\/li>\n<li>Aufruf von einem Debugger oder dem Kompilat aus der GEM-Shell heraus ist nicht m\u00f6glich (TOS Nutzer m\u00fcssen also die Shell beenden und vom Desktop starten)<\/li>\n<li>Die Codequalit\u00e4t des erzeugten Maschinencodes kommt an Pure C nicht heran.<\/li>\n<\/ul>\n<p>Insgesamt bedeutet das f\u00fcr mich, ich werde f\u00fcr die Programmierung auf dem Atari ST vermutlich zu C wechseln.<\/p>\n<p>Es gibt viel Neues zu entdecken <img decoding=\"async\" class=\"lmbbox_smileys_img\" src=\"http:\/\/www.final-memory.org\/wp-content\/plugins\/lmbbox-smileys\/smileys\/tb\/smile1.gif\" alt=\":)\" \/><\/p>\n<p><span style=\"text-decoration: underline;\">AHCC Homepage:<\/span> <a href=\"http:\/\/members.chello.nl\/h.robbers\/\" target=\"_blank\">http:\/\/members.chello.nl\/h.robbers\/<\/a><\/p>\n<div id=\"facebook_like\"><iframe src=\"http:\/\/www.facebook.com\/plugins\/like.php?href=https%3A%2F%2Fwww.final-memory.org%2F%3Fp%3D1229&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=segoe+ui&amp;colorscheme=light&amp;height=80\" scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden; width:500px; height:80px;\" allowTransparency=\"true\"><\/iframe><\/div>","protected":false},"excerpt":{"rendered":"<p>Ende November, Anfang Dezember habe ich AHCC entdeckt. AHCC steht f\u00fcr &#8220;A Home Cooked C Compiler&#8221; und ist ein frei verf\u00fcgbarer ANSI C Compiler f\u00fcr Atari ST und Nachfolger. Der Compiler stellt eine unter Mint und MagiC\u00a0 multitaskingf\u00e4hige Programmierumgebung zur Verf\u00fcgung. Das Paket kommt komplett mit GEM-Shell, Make in TTP-Form, einer guten Dokumentation und mit &hellip; <a href=\"https:\/\/www.final-memory.org\/?p=1229\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;AHCC &#8211; ein freier ANSI C Compiler f\u00fcr Atari ST&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,25],"tags":[],"class_list":["post-1229","post","type-post","status-publish","format-standard","hentry","category-atari-st","category-it"],"_links":{"self":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/posts\/1229","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1229"}],"version-history":[{"count":5,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/posts\/1229\/revisions"}],"predecessor-version":[{"id":1235,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=\/wp\/v2\/posts\/1229\/revisions\/1235"}],"wp:attachment":[{"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.final-memory.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}