Illegal instruction



  • illegal-instruction heisst AFAIK, dass die CPU einen Opcode erhält, mit dem sie nichts anfangen kann. Hast du vielleicht mit irgend welchen bösen Compiler Optionen rumgespielt oder überschreibst du böser Weise ein paar Array Grenzen?

    benutz vielleicht mal einen Memorydebugger



  • Hi

    Jepp, das geht aber auch wenn er im Prog mit wilden Pointern rumhantiert hat. 😉

    Ich denke ma von Compileroptionen hätte er was erzählt.



  • Hey Ihr,

    also, ich habe keine Pointer. Ich hab ein paar Arrays, aber keine Standardarrays, sondern eine Sorte, die von der kommerziellen Software definiert wird. Diese Sonderarrays haben keine fixe Groesse, sondern "wachsen wohl mit". So wie ein vector bei Java. (Ist bei C++ Vektoren vielleicht aehnlich, ich hab bisher halt nur Java programmiert).

    An Rumspielereien mit Compileroptionen haett ich folgendes zu bieten. Hab keine Ahnung, was damit bezweckt wird, aber die C++ Leute an der Uni haben mir gesagt, ich braeucht das alles unbedingt:

    Kompilierphase:
    CC -c -xO4 -xtarget=ultra -xarch=v9 -DNDEBUG -pto -PIC -DIL_STD -I/[und hier dann noch ein Haufen -I's mit den Pfaden zu den Verzeichnisen des kommerziellen Teils] blabla.cpp

    Linkphase:
    CC -xO4 -xtarget=ultra -xarch=v9 -DNDEBUG -pto -PIC -DIL_STD -I/[und hier schon wieder die ganzen kommerziellen pfade] blabla.o -o blabla -L/[hier dann die ganzen Pfade zu den kommerziellen libraries] -mt -lm -xarch=v9 -lsocket -lnsl

    Aeh, ja. 😕 Ist davon jetzt irgend 'ne Option gemeingefaehrlich??

    AchtungAnfaenger 😃



  • HI

    Oha, ok er hat optionen benutzt. Wer kann die bedienungsanleitung des gcc auswendig ? 😉



  • Hi

    Ich nochma. Hat aber nix mit deinem Problem zu tun. Jepp Prolog is 🕶
    und damit mein ich jetzt die Sprache...

    Und ich will auch ne Sun.... 64bit power und jede menge register....oha :p



  • versuch am besten mal möglichst viele Optionen wegzulassen

    @prolog
    das ist ja kein gcc sondern der SUN C Compiler (früher hies der glaub ich Forte CC und nun gehört das wohl zu SUN One oder so)



  • @prolog: das ist wohl eher suns forte cc oder wie der heißt



  • Hi

    uups. Aber gcc ist doch portiert worden !?
    Ist ja auch egal. Dann muss er halt im manual für diesen comp nachschauen. 🙂



  • jo, es gibt auch den GCC für Solaris

    http://gcc.gnu.org/install/specific.html#--solaris2*



  • Hallo zusammen,

    ich wollt mich nochmal gemeldet haben (falls es noch wen interessiert).
    HAb nochmal ganz von vorn angefangen mit meinem Code, von null auf zusammengebaut (wie sichs ja auch eigentlich gehoert 😉 ). Es sieht so aus als kaem das illegal instruction Problem von den komischen Mitwachsarrays des kommerziellen Teils. Wenn ich die weglass, gibts keine illegal instructions mehr - aber dafuer jede Menge segmentation faults 🙄 (was auch immer das schon wieder is)

    Wie ich C++ liiiiebe.. :o

    AchtungAnfaenger



  • ja wichsen würd ich doch sagen



  • Segmentation Faults entstehen, wenn du in Speicher rumfummelst der dir nicht gehört. Benutz am besten mal einen Memory Debugger oder so was (EFence sollte auch auf Solaris arbeiten)

    Beispiel:

    char a[5]; 
    a[5]=0; //ups
    int *a;
    *a=1; //ups
    


  • kein problem 😉 😉



  • Kingruedi,

    danke fuer den Hinweis 🕶 Mein segmentation fault war tatsaechlich eine ueberschrittene Array-Grenze - uuupps!

    Jo, nach einem heissen C++ Wochenende sind jetzt alle Fehler ausgemerzt und das Programm laeuft 🙂 😃 🕶

    Also, nochmal ein dickes DANKE an alle Beteiligten fuer die Hinweise und die moralische Unterstuetzung 😉

    AchtungAnfaenger



  • @<prolog>
    das ist kein gueltiges Konstrukt.

    ja wichsen würd ich doch sagen

    :-ensure_loaded('allthefuckersiknow').

    % wichsen/2 defined in allthefuckers i know
    % alter/2 -''-

    erwachsen(X):-alter(X,Z),Z>18,!,inteligente_postings(X),!,selbstverantwortung(X).
    kind(X):-not(erwachsen(X)).
    wichser(X):-wichsen(X,_),kind(X).

    ? wichsen(<prolog> ).
    yes
    ? wichser(<prolog> ).
    yes
    ? wichser(prolog).
    no
    ? wichsen(prolog).
    no

    [ Dieser Beitrag wurde am 23.06.2003 um 14:56 Uhr von prolog editiert. ]



  • Hi

    Jetz ma ernst. Gut das es doch noch geklappt hat. Ich hoffe das war den Schweis wert. 🙂

    btw Ich finde es immer wieder spanned wenn bei mir ein Prog mit sig 11 beendet 😃

    [ Dieser Beitrag wurde am 23.06.2003 um 14:33 Uhr von prolog editiert. ]


Anmelden zum Antworten