Seite 1 von 1

Linux-API???

Verfasst: 16.09.2005 09:55
von osta
Hi
Frage eines Newbies:

In Windows wird alles durch die WinAPI (also DLLs) gesteuert.
Wie läuft das in Linux? Hat man da auch so viele OS-DLLs und steuert alles (GUI etc.) über API? Und was ist GTK und so?

Verfasst: 16.09.2005 10:30
von ts-soft
In Linux ist das ganze nicht so Zentral, es gibt Literatur zu GTK, SDL, Glib usw. Für Gadgets ist normallerweise GTK zuständig. Die dortigen API-Aufrufe sind meist genauso vordeklariert wie unter Windows. Ist nicht leichter, aber auch nicht schwerer und man kommt auf Dauer nicht dran vorbei :wink:

Verfasst: 16.09.2005 10:52
von ts-soft
Hab Dir mal ein einfaches Beispiel zusammengestellt:

Code: Alles auswählen

; GetEnvironment Linux:
Procedure.s GetEnv(Name.s)
  Protected *ptrResult.l, Result.s
  *prtResult = getenv_(Name)
  If *prtResult
    Result = PeekS(*ptrResult)
    g_free_(*ptrResult)
  EndIf
  ProcedureReturn Result
EndProcedure

; GetEnvironment Windows:
Procedure.s GetEnv(szVariable.s)
  Protected Length.l, Buffer.s
  Length = GetEnvironmentVariable_(@szVariable, @Buffer, 0)
  If Length
    Buffer = Space(Length)
    GetEnvironmentVariable_(@szVariable, @Buffer, Length)
    ProcedureReturn Buffer
  EndIf
  ProcedureReturn ""
EndProcedure

Verfasst: 16.09.2005 11:44
von Eric
Die Kernelfunktionen werden normalerweise über den Interrupt 80h aufgerufen.
Die anderen Sachen befinden sich in shared libs (*.so)