- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 9 von 9

Thema: memory löschen mit c

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332
    Hi,

    hier noch etwas seltsameres

    Code:
    void    Navigation::ResetWalkWay(void)
    {
    unsigned char             *pointer;                                                        // Daten pointer
    long            offset;
    
        if(m_mappointer != NULL )                        // Besteht noch eine Karte im Speicher
            {
            pointer = m_mappointer;
    
            printf("Hallo 1\n");
    
    
            for(offset=0;  offset  < 90000;  offset++);
                {
                printf("Hallo 2\n");
                *(pointer + offset) &= 0xfe;
    //            pointer++;
                }
            }
    }
    Hat diese Ausgabe:
    Hallo 1
    Hallo 2
    Gruss R.
    Kaum macht man es richtig, schon funktioniert's ...

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332
    Hi,

    so hat es dann jedenfalls funktioniert. Ich habe den Schleifentyp geändert.

    Code:
            while( offset < 90000)
                {
                *(pointer + offset) &= 0xfe;
                offset++;
                }
    Jetzt arbeitet es wie erwartet.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken kSCADA4.jpg  
    Kaum macht man es richtig, schon funktioniert's ...

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    37
    Beiträge
    1.225
    Ich hatte auch pointer[offset] und nicht *pointer[offset] geschrieben ... Wie auch immer, das ist reichlich mysteriös, da beide Varianten (for/while) eigentlich aufs Gleiche rauskommen sollten.
    Das Ergebnis aus Post #6 ist absurd, ich hätte 90000 Mal "Hallo 2" erwartet. Hast du evtl. Probleme mit sehr vollem Speicher, dass da Stack und Heap ineinander rein laufen?

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332
    Hallo Markus,

    ich würde auch sowas mit dem Stack vermuten. Jedoch hat dieser Rechner noch genügend Speicher frei. Kenn aber jetzt nicht die genauen Systemeinstellungen.

    Ich hatte ja auch eine Unzahl von "Hallo 2" vermutet. Hier scheint es wirklich zu einem Abbruch gekommen zu sein.

    @pointer[offset]
    Klar, jetzt wo ich das lese, ist es mir auch klar wieso.

    Gruss R.
    Kaum macht man es richtig, schon funktioniert's ...

Ähnliche Themen

  1. Memory Lock Bits
    Von dj5am im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 09.11.2011, 17:31
  2. 1 kanal memory baustein
    Von hasee im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 20.03.2008, 21:07
  3. External Memory Controller
    Von someone80 im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 0
    Letzter Beitrag: 17.12.2007, 10:10
  4. Memory dump und ändern
    Von for_ro im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 11.11.2007, 11:07
  5. Memory Erweiterung für µC
    Von Mobius im Forum Eigene fertige Schaltungen und Bauanleitungen
    Antworten: 2
    Letzter Beitrag: 16.08.2005, 16:21

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen