amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Morphos und OS4 User hier ? [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

07.01.2006, 18:25 Uhr

Kaesebroetchen
Posts: 643
Nutzer
Hallo,

ich bin gerade dabei AmiDevCpp um Crosscompiler für OS4 und Morphos zu erweitern.

Wäre super wenn jemand mir Morphos bzw. OS4 mal testen würde ob die erzeugten executables laufen.
Ist nur ein Shell Programm das 10 mal Hallo Welt ausgibt:

Morphos:

http://amidevcpp.kilu.de/AfA_Binaries/PPC-Morphos_C_Test.exe

OS4:

http://amidevcpp.kilu.de/AfA_Binaries/PPC-AmigaOS4_C_Test.exe

Vielen Dank im Voraus
--
http://amidev.kilu.net/

[ - Antworten - Zitieren - Direktlink - ]

07.01.2006, 18:29 Uhr

_PAB_
Posts: 3016
Nutzer
@Kaesebroetchen:
> OS4:
> http://amidevcpp.kilu.de/AfA_Binaries/PPC-AmigaOS4_C_Test.exe

Funktioniert wunderbar, gute Arbeit !
Allerdings hast Du keine "
" an den String drangehängt ?

[ Dieser Beitrag wurde von _PAB_ am 07.01.2006 um 18:29 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

07.01.2006, 18:41 Uhr

tokai
Posts: 1071
Nutzer
morphos:> PPC-Morphos_C_Test.exe
Hallo WeltHallo WeltHallo WeltHallo WeltHallo WeltHallo WeltHallo WeltHallo WeltHallo WeltHallo Weltmorphos:>

;)
--
http://www.christianrosentreter.com ~ MorphOS Software

[ - Antworten - Zitieren - Direktlink - ]

07.01.2006, 18:51 Uhr

Kaesebroetchen
Posts: 643
Nutzer
@PAB @tokai

Das ging ja fix, Danke !
--
http://amidev.kilu.net/

[ - Antworten - Zitieren - Direktlink - ]

07.01.2006, 20:04 Uhr

Kaesebroetchen
Posts: 643
Nutzer
Ich habe gerade einfach mal mein Intuition Beispiel für Morphos kompiliert. Überraschenderweise klappte das bis auf eine Warnung ganz gut.
Vielleicht kann das noch mal jemand testen ?

http://amidevcpp.kilu.de/AfA_Binaries/Intuition_Morphos_Test.exe


--
http://amidev.kilu.net/

[ - Antworten - Zitieren - Direktlink - ]

07.01.2006, 20:54 Uhr

Angelos
Posts: 9
Nutzer
@Kaesebroetchen:

"Mein erstes Fenster" öffnet sich und ist soweit funktionsfähig.
--
Regards,

Angelos

[ - Antworten - Zitieren - Direktlink - ]

07.01.2006, 22:02 Uhr

tokai
Posts: 1071
Nutzer
@Kaesebroetchen:

funktioniert hier auch.



Was für eine warnung ist es denn?
--
http://www.christianrosentreter.com ~ MorphOS Software

[ - Antworten - Zitieren - Direktlink - ]

07.01.2006, 22:15 Uhr

Kaesebroetchen
Posts: 643
Nutzer
Zitat:
Original von tokai:
@Kaesebroetchen:

Was für eine warnung ist es denn?
--
http://www.christianrosentreter.com ~ MorphOS Software


Sinngemäß daß ich veraltete Funktionen aufrufe und doch bitte MUI verwenden möge.

Leider habe ich da keinen Plan von.
Vielleicht kann ja (wenn ich die neue Version erst mal hochgeladen habe) mal ein Morphos Nutzer ein schönes Beispielprojekt erstellen und hochladen ?
--
http://amidev.kilu.net/

[ - Antworten - Zitieren - Direktlink - ]

08.01.2006, 21:04 Uhr

Kaesebroetchen
Posts: 643
Nutzer
Ich habe hier mal ein etwas aufwändigeres OS4 Beispiel kompiliert:

http://amidev.kilu.net/Examples/OS4Test.zip

Vielleicht kann das mal jemand testen und mir sagen was das hier bedeutet:
code:
main.c: In function 'main':
main.c:14: warning: pointer targets in passing argument 2 of 'IExec->OpenLibrary' differ in signedness
main.c:16: warning: pointer targets in passing argument 3 of 'IExec->GetInterface' differ in signedness
main.c:37: warning: pointer targets in passing argument 2 of 'IDOS->Printf' differ in signedness
main.c:41: warning: pointer targets in passing argument 2 of 'IDOS->Printf' differ in signedness
main.c:45: warning: pointer targets in passing argument 2 of 'IDOS->Printf' differ in signedness
ppc-amigaos-gcc.exe main.o  -o "OS4Test.exe" -L"C:/CrossCompiler/AmiDevCpp/usr/local/amiga/ppc-amigaos/lib" -L"C:/CrossCompiler/AmiDevCpp/usr/local/amiga/m68k-amigaos/lib/libnix"  

Ausführung beendet
Kompilierung erfolgreich

--
http://amidev.kilu.net/

[ Dieser Beitrag wurde von Kaesebroetchen am 08.01.2006 um 21:04 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

10.01.2006, 15:43 Uhr

_PAB_
Posts: 3016
Nutzer
@Kaesebroetchen:
Die Warnings zeigen an, daß Du einen Pointer auf verschieden signierte Datentypen hast.
zB.:
code:
unsigned int *p;
int i = 0;
p = &i;

sollte diese Warnung erzeugen.

Des weiteren:
erst nach einem protect OS4.exe +e konnte ich die Datei (aus der Shell) starten.
Passiert ist dann allerdings garnichts ... immerhin konnte ich das Programm mit Ctrl-C verlassen.

[ - Antworten - Zitieren - Direktlink - ]

10.01.2006, 15:50 Uhr

Holger
Posts: 8076
Nutzer
Zitat:
Original von _PAB_:
@Kaesebroetchen:
Die Warnings zeigen an, daß Du einen Pointer auf verschieden signierte Datentypen hast.
zB.:
code:
unsigned int *p;
int i = 0;
p = &i;

sollte diese Warnung erzeugen.

Ich tippe allerdings auf Pointer auf (un)signed char. Da war doch schon mal irgendwas...
Und vor allem auch, wenn man die betroffenen Funktion ansieht.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

10.01.2006, 16:18 Uhr

Kaesebroetchen
Posts: 643
Nutzer
@PAB

Mit CRTL+E kann man das Fenster sichtbar machen und mit CRTL+F wieder verstecken.

@PAB @HOLGER

und was müsste ich dann an meinem Code ändern um diese lästigen Warnungen loszuwerden ?

code:
/* FensterVerstecken.c */

#define __USE_BASETYPE__

#include <proto/exec.h>
#include <proto/dos.h>
#include <proto/intuition.h>

struct IntuitionBase *IntuitionBase;
struct IntuitionIFace *IIntuition;

int main()
{
  if((IntuitionBase = (struct IntuitionBase *) IExec->OpenLibrary("intuition.library",50)))
  {
    if((IIntuition = (struct IntuitionIFace *) IExec->GetInterface((struct Library *)IntuitionBase,"main",1,NULL)))
    {
      struct Window *win;
      if((win = IIntuition->OpenWindowTags(NULL,
                           WA_Title,  "FensterVerstecken",
                           WA_Width,300,
                           WA_Height,100,
                           WA_DepthGadget,TRUE,
                           WA_Hidden, TRUE,  /* erzeugen aber nicht anzeigen */
                           TAG_DONE)))
      {
        for(;;)
        {
          const ULONG signal = IExec->Wait(SIGBREAKF_CTRL_C | SIGBREAKF_CTRL_E | SIGBREAKF_CTRL_F);
          if(signal == SIGBREAKF_CTRL_C) break;
          else if(signal == SIGBREAKF_CTRL_E) IIntuition->ShowWindow(win,IntuitionBase->ActiveWindow);
          else if(signal == SIGBREAKF_CTRL_F) IIntuition->HideWindow(win);
        }
      
        IIntuition->CloseWindow(win);
      }
      else IDOS->Printf("Fenster läst sich nicht erzeugen\n");

      IExec->DropInterface((struct Interface *)IIntuition);
    }
    else IDOS->Printf("kein main Interface in der intuition.library\n");

    IExec->CloseLibrary((struct Library *)IntuitionBase);
  }
  else IDOS->Printf("es fehlt intuition.library V50\n");

  return( 0 );
}

--
http://amidev.kilu.net/

[ - Antworten - Zitieren - Direktlink - ]

10.01.2006, 16:48 Uhr

Holger
Posts: 8076
Nutzer
Zitat:
Original von Kaesebroetchen:
und was müsste ich dann an meinem Code ändern um diese lästigen Warnungen loszuwerden ?


Ich habe mal den Thread zu dieser Thematik durchforstet. Also vermutlich -fsigned-char angeben. Es sei denn, Du willst bei jeder String-Konstante ein typecast durchführen.

Ich hoffe, ich habe den Inhalt korrekt aus den Flames herausgefiltert...

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

10.01.2006, 17:00 Uhr

Kaesebroetchen
Posts: 643
Nutzer
@Holger:
Habs gerade ausprobiert, leider keine Änderung.
Es kommt die gleiche Fehlermeldung
--
http://amidev.kilu.net/

[ - Antworten - Zitieren - Direktlink - ]

10.01.2006, 17:18 Uhr

Holger
Posts: 8076
Nutzer
Zitat:
Original von Kaesebroetchen:
@Holger:
Habs gerade ausprobiert, leider keine Änderung.
Es kommt die gleiche Fehlermeldung


Hmm, vielleicht auch -funsigned-char? Ich weiß nicht, wie das Zusammenspiel der Deklarationen bei einem cross-compiler ist.

Im Normalfall sollten die Deklarationen für's OS const char* benutzen und das wäre identisch mit dem Typ Deiner "string-Konstanten", egal ob der char default signed oder unsigned ist.

Dann dürfte es logischerweise keine Warnungen geben...

Gott, bin ich froh, daß ich im Alltag kein C benutze...

Ansonsten überprüf noch mal, ob die Option wirklich für Compiler und sicherheitshalber auch Linker aktiv ist.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

10.01.2006, 17:48 Uhr

_PAB_
Posts: 3016
Nutzer
@Kaesebroetchen:
> Mit CRTL+E kann man das Fenster sichtbar machen und mit CRTL+F wieder verstecken.

Ja, geht: da kommt ein leeres Fenster ohne Menü mit dem Titel "Fenster verstecken".

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Morphos und OS4 User hier ? [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2021 by amiga-news.de - alle Rechte vorbehalten.
.