🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #1138

Re: C++ und AMIGA Systemlibraries.

#1138
From: Baltasar Trancon-y-Widemann
Date: Wed, 17 Jan 1996 16:15
48 lines
2081 bytes
: 	wer von Euch, der auf dem Amiga in C/C++ programmiert, kann
: 	mir verraten, wie man Libraries öffnet und Funktionen aufruft ?

Schön, das es diese Frage noch gibt! (selbst Amiga-Programmierer seit `88)

Du brauchst:

1.) Die Commodore includes (möglichst in der passenden Version zum OS).
Da stehen die ganzen OS-Strukturen und Prototypen drin.

2.) Die Commodore link library (amiga.lib oder so). Da der tatsächliche
Aufruf einer Betriebssystemfunktion nur in Assembler möglich ist, gibts hier
die praktischen gleichnamigen C-Schnittstellenfunktionen.

Die Funktionen der amiga.lib erwarten für jede Library eine globale
Basiszeigervariable mit einem bestimmten Namen. Vor Gebrauch der Library
sollte dieser Zeiger auf die per Betriebssystemfunktion `geöffnete'
Library-Basisadresse gesetzt werden.

Will man richtig programmieren, lohnt die Lektüre des Commodore Amiga Reference
Manuals: Libraries bzw. Includes und Autodocs (Addison-Wesley)

: 	Kleiner Beispielcode wäre nicht schlecht.

/* Ab OS V36 (2.0) */

#include <clib/exec_protos.h>
#include <clib/intuition_protos.h>

/* vordefiniert struct Library *SysBase (exec.library), daher
   Exec-Funktionen immer anwendbar */
struct IntuitionBase *IntuitionBase ;

int main(void)
{
  if(IntuitionBase=OpenLibrary("intuition.library",36))
  {
    DisplayBeep(0L) :
    CloseLibrary(IntuitionBase) ;
    return 0 ;
  }
  else return 20 ;
}

-- 
-- trancon@cs.tu-berlin.de --

There`s no business like `rm -r /' business...
Technical Details
Message-ID: <4dj7aq$qso@news.cs.tu-berlin.de>
Path: arc1-ca.pugleaf.net!cs.tu-berlin.de!trancon
References: <w9t1kMD0aez3@wizzcat.prima.ruhr.de>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!cs.tu-berlin.de!trancon
From: trancon@cs.tu-berlin.de (Baltasar Trancon-y-Widemann)
Newsgroups: de.comp.lang.c++,de.comp.lang.c
Subject: Re: C++ und AMIGA Systemlibraries.
Followup-To: de.comp.lang.c++,de.comp.lang.c
Date: 17 Jan 1996 16:15:22 GMT
Organization: Technical University of Berlin, Germany
Message-ID: <4dj7aq$qso@news.cs.tu-berlin.de>
References: <w9t1kMD0aez3@wizzcat.prima.ruhr.de>
NNTP-Posting-Host: trick.cs.tu-berlin.de
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit