Autor Thema: Neues Projekt auf AtariForge: libcmini  (Gelesen 6488 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline mfro

  • Benutzer
  • Beiträge: 1.151
Re: Neues Projekt auf AtariForce: libcmini
« Antwort #20 am: Mi 16.04.2014, 17:45:46 »
Eben, und den kann die lib mitbringen. Dann braucht sich der Benutzer nicht mehr darum kümmern.
Wer C++ verwenden will, dem unterstelle ich, daß die libcmini eher sowieso nicht verwendet wird (optimiert für C).

__attribute__((constructor)) und __attribute__(destructor) hat nichts (zumindest nicht unmittelbar) mit C++ zu tun. Das kann man durchaus auch prima in C verwenden.
« Letzte Änderung: Mi 16.04.2014, 20:47:23 von mfro »

Offline simonsunnyboy

  • Moderator
  • *****
  • Beiträge: 1.556
  • Rock'n'Roll is the thing - Jerry Lee is the king!
Re: Neues Projekt auf AtariForce: libcmini
« Antwort #21 am: Mi 16.04.2014, 19:14:41 »
Das entfernt sich dann aber von jeglichem ISO Standard....
Paradize - ST Offline Tournament
Stay cool, stay Atari!
1x2600jr, 1x1040STFm, 1x1040STE 4MB+TOS2.06+SatanDisk, 1xF030 14MB+FPU+NetUS-Bee

Offline mfro

  • Benutzer
  • Beiträge: 1.151
Re: Neues Projekt auf AtariForce: libcmini
« Antwort #22 am: Mo 05.05.2014, 20:01:08 »
Das entfernt sich dann aber von jeglichem ISO Standard....

Nö, nicht unbedingt. Die Implementierung von irgendwelchen Initialisierungsroutinen oder das Aufrufen von mit atexit() angemeldeten Funktionen läßt sich darüber lösen, ohne daß man den Startup-Code als Quelle ausliefern müsste (was trotzdem meist passiert). Der ISO-Standard sagt nicht, wie das passieren, nur daß es möglich sein muß.

Offline mfro

  • Benutzer
  • Beiträge: 1.151
Re: Neues Projekt auf AtariForce: libcmini
« Antwort #23 am: Mo 05.05.2014, 20:05:24 »
Wo ich schon mal dran bin:

libcmini gibt es jetzt in einer releasten, vorcompilierten Form hier zum Runterladen. Die Beispielprogramme (bench, insbesondere) wurden ein wenig erweitert und stehen als Quellen zur Verfügung. M.E. gut als "Skellett" geeignet für Leute, die in die GEM-Programmierung einsteigen möchten. Die Makefiles erzeugen Code für m68000, m68020-60 und Coldfire (jeweils in der "mshort" und "normalen" Version.

Offline Count

  • Benutzer
  • Beiträge: 33
Re: Neues Projekt auf AtariForge: libcmini
« Antwort #24 am: Sa 29.07.2017, 20:48:34 »
Ich setze hier mal auf.  :D

Lebt das Projekt noch? Die letzten Sourcen, die ich heruntergeladen habe, sind mehr als ein Jahr alt. Ich habe eine Reihe Bugs behoben und neue Funktionen hinzugefügt. Ich habe zwar auf der Version 0.5 aufgesetzt, das ganze aber heute mit der 0.6 abgeglichen. So viel hat sich da ja nicht getan.

Bugs habe ich zum Beispiel bei ...printf gefunden (Nachkommastellen bei %f funktionierten u.a. nicht), aber auch woanders. vsnprintf() kann jetzt auch mit NULL-Pointer umgehen. Das ist wichtig, weil man so den benötigten Speicherplatz für eine Formatierung ermitteln kann. Dadurch konnte ich asprintf() und vasprintf() implementieren (s.u.).

Ich habe ein paar Funktionen hinzugefügt. Zum Beispiel qsort(), asprintf(), vasprintf(), ...scanf(), strtod(), strtof(), feof(), ferror(), ungetc(), getchar(), fgets(), getc(), fflush(), remove(), rename(), bsearch(), strnlen(), strtok(), localtime(), strftime().

Die FILE-Struktur habe ich erweitert, um feof(), ferror() und ungetc() implementieren zu können, und die Feldnamen denen der MINT-Library angepasst.

mktime() habe ich korrigiert, hier wurden Schaltjahre nicht richtig berücksichtigt (einfaches Teilen durch 4 reicht nicht).

ctype.h hat ein paar neue Makros bekommen (isalnum, iscntrl, isgraph, isprint, ispunct, isxdigit) und isspace berücksichtigt jetzt auch "\f").

Die ...scanf()-Funktionen müssen noch ordentlich getestet werden, das habe ich nur rudimentär gemacht. Aber ich fände es gut, wenn das Projekt nicht einschläft, denn die Speicherersparnis ist schon enorm. Allein mein kleines Testprogramm für sscanf() ist nur 16,5 KB groß, mit der MINT-Library sage und schreibe das Zehnfache!

Meine aktuellen Sourcen von heute könnt ihr gerne herunterladen:
http://www.graf-bussmeier.de/download/libcmini_20170729.rar

Änderungen werden ja mit diff sichtbar.  ;)

Oliver

Offline mfro

  • Benutzer
  • Beiträge: 1.151
Re: Neues Projekt auf AtariForge: libcmini
« Antwort #25 am: Sa 29.07.2017, 21:51:10 »
Lebt das Projekt noch?

Hallo Oliver,

klar doch, lebt noch.

Auch wenn ich nicht gar so viel dran mache, für mich reicht der bislang implementierte Umfang für die meisten Sachen aus.

Wenn Du magst, melde dich als User bei AtariForge an. Ich kann dich dann freischalten und wenn Du Lust und Zeit hast, kannst Du deine Änderungen und Erweiterungen selbst einarbeiten.

Gruß,
Markus


Offline mfro

  • Benutzer
  • Beiträge: 1.151
Re: Neues Projekt auf AtariForge: libcmini
« Antwort #26 am: Mo 25.12.2017, 19:32:49 »
Nachdem AtariForge schon seit Längerem nicht verfügbar ist (und es auch keine Anzeichen gibt, dass sich daran noch mal etwas ändert), habe ich libcmini umgezogen.

Es ist jetzt hier zu finden: https://github.com/mfro0/libcmini

Offline gh-baden

  • Benutzer
  • Beiträge: 1.014
Re: Neues Projekt auf AtariForge: libcmini
« Antwort #27 am: Mo 25.12.2017, 20:26:09 »
Nachdem AtariForge schon seit Längerem nicht verfügbar ist (und es auch keine Anzeichen gibt, dass sich daran noch mal etwas ändert), habe ich libcmini umgezogen.

Es ist jetzt hier zu finden: https://github.com/mfro0/libcmini

Bestens, danke. Mit git ist’s gleich bequemer einen Klon zu ziehen, und mit den Sternchen spannende Projekte  im Blick zu halten.
Wider dem Signaturspam!

Offline mfro

  • Benutzer
  • Beiträge: 1.151
Re: Neues Projekt auf AtariForge: libcmini
« Antwort #28 am: Mo 25.12.2017, 20:35:55 »
Nachdem AtariForge schon seit Längerem nicht verfügbar ist (und es auch keine Anzeichen gibt, dass sich daran noch mal etwas ändert), habe ich libcmini umgezogen.

Es ist jetzt hier zu finden: https://github.com/mfro0/libcmini

Bestens, danke. Mit git ist’s gleich bequemer einen Klon zu ziehen, und mit den Sternchen spannende Projekte  im Blick zu halten.

Schade nur, dass ich anscheinend *zu* lange damit gewartet habe. Ohne das Orginal-Repository ist leider die Historie weg. Damit ist jetzt halt wieder "Stunde null".