Kryptische Symbole in MUI List unter WinUAE mit GCC/VBCC

Ihr habt ein Problem mit C++ oder anderen Sprachen ? Dann seit Ihr in diesem Forum genau richtig! Hier können alle Fragen gestellt werden, die mit Programmierung (MorphOS, Linux, BeOS, BSD,...) zu tun haben.

Moderatoren: analogkid, roschmyr

ShawnBaxe
Stammgast
Stammgast
Beiträge: 23
Registriert: 02 Dez 2008, 00:20

Kryptische Symbole in MUI List unter WinUAE mit GCC/VBCC

Beitragvon ShawnBaxe » 30 Sep 2013, 01:28

Hallo Leute,

ich habe da ein interessantes Problem. Mangels einfacher(!) Debugmöglichkeiten unter MorphOS, schreibe ich derzeit meine Software unter OS 3.9 (kann ja durch neucompilieren nahezu 1:1 für MorphOS übersetzt werden). Dazu nutze ich noch WinUAE (mein A1200 wird bald wieder in Betrieb gehen). Da habe ich etwas festgestellt und wüsste gerne, ob es ein Problem mit WinUAE ode wirklich ein Compiler-spezifisches Problem ist.

Ich habe ein MUI ListObject, welches ich direkt mit Einträgen initialisiere. Beispielhaft wie folgt (nicht der Original-Code, aber exakt das gleiche Prinzip).

Zunächst die Listeneinträge:

Code: Alles auswählen

/*
** List entries
*/
static const char *listEntries[] =
{
    "Entry A",
    "Entry B",
    "Entry C",
    NULL
};


Nun folgt das ListObject:

Code: Alles auswählen

Child, lvGroups = ListviewObject,
    MUIA_Listview_List, lstGroups = ListObject,
        InputListFrame,
        MUIA_List_SourceArray, listEntries,
        MUIA_List_AdjustWidth, TRUE,
    End,
End,


Compiliere ich den Spaß mit SAS/C 6.58, läuft alles prima. Übersetze ich aber exakt denselben Code mit GCC 2.95 bzw. 3.3 oder mit VBCC, enthält die Liste nicht etwa Entry A, Entry B usw., sondern kryptische Zeichen (z.B. @FE\|). Liegt das möglicherweise an UAE, oder rasten die Compiler aus? Letzteres kann ich mir nur schwer vorstellen, aber eben auch nicht ausschliessen. Mit StormC 3 funktioniert der Code übrigens auch perfekt - nicht aber mit StormGCC. Leider gibt es für MorphOS ja SAS/C nicht (klar - wurde 1998 eingestellt) - ich halte SAS/C nach wie vor für einen Spitzencompiler, auch wenn er nur alte C-Standards versteht.

Benutzeravatar
Thomas
Mitglied
Mitglied
Beiträge: 52
Registriert: 11 Sep 2003, 11:03
Kontaktdaten:

Re: Kryptische Symbole in MUI List unter WinUAE mit GCC/VBCC

Beitragvon Thomas » 30 Sep 2013, 16:19

Funktioniert hier einwandfrei. Mach mal ein vollständiges, kompilierbares Beispiel.

ShawnBaxe
Stammgast
Stammgast
Beiträge: 23
Registriert: 02 Dez 2008, 00:20

Re: Kryptische Symbole in MUI List unter WinUAE mit GCC/VBCC

Beitragvon ShawnBaxe » 30 Sep 2013, 16:53

Hmmm...keine Ahnung wo da was schiefläuft...aber...hab mein Projekt nochmal mit GCC übersetzt...jetzt klappt's einwandfrei. Scheint so, als gäbe es da Störungen seitens UAE, die unter ganz bestimmten Bedingungen auftreten. Ein vergleichbares Problem tritt mit einem Directory Utility, an dem ich arbeite auf. Das werde ich im speziellen heute abend nochmal prüfen und ggf. den Sourcecode als Anhang hier in den Thread stellen, sodaß jeder das mal übersetzen und testen kann.
Wie gesagt...jetzt titt das Problem gerade nicht auf. Seltsam. Aber zumindest ein Hinweis, dass es tatsächlich an der Emulation liegen könnte. WinUAE ist eben nicht 100% - es geht nix über echte Hardware.

Benutzeravatar
Thomas
Mitglied
Mitglied
Beiträge: 52
Registriert: 11 Sep 2003, 11:03
Kontaktdaten:

Re: Kryptische Symbole in MUI List unter WinUAE mit GCC/VBCC

Beitragvon Thomas » 30 Sep 2013, 17:26

Hast du dir dein eigenes System installiert oder benutzt du etwas fertiges? AmiKit vielleicht? Da steckt Magie drin, da kann alles passieren und nichts funktionieren.

Auf jeden Fall solltest du so viele Compiler-Warnungen wie möglich einschalten und dann alle beheben.

bei GCC mit -Wall
bei VBCC mit -warn=-1 -dontwarn=79 -dontwarn=81 -dontwarn=163 -dontwarn=164 -dontwarn=166 -dontwarn=167 -dontwarn=168 -dontwarn=306 -dontwarn=307


Und Sashimi / MungWall / WinUAEEnforcer hast du sicher auch immer mitlaufen, oder?

ShawnBaxe
Stammgast
Stammgast
Beiträge: 23
Registriert: 02 Dez 2008, 00:20

Re: Kryptische Symbole in MUI List unter WinUAE mit GCC/VBCC

Beitragvon ShawnBaxe » 30 Sep 2013, 19:08

Ich verwende kein fertiges System. Ich habe erst OS 3.1, danach OS 3.9 installiert - keine Patches o.ä. sind installiert. Zumal ich die Festplatte, auf der das System liegt ja in meinem A1200 verwenden möchte - es ist also ein physische Platte mit 3 Partitionen (alle unterhalb der 4 GB-Grenze).
WinUAE Enforcer läuft allerdings nicht mit - mungwall auch nicht - das sollte ich noch machen.

Das mit den Warnungen ist eine sehr gute Idee. Ich probier das mal aus. Danke :) Ich werde die Tage posten, wenn sich was neues ergibt. Danke für den Tip :)


Zurück zu „Code-Küche“



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste