- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 32

Thema: C: Fragen zu memset, memcpy, malloc

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    19.05.2015
    Beiträge
    69
    HaWe, das Du nur C++ in der Arduino IDE benutzen kannst ist nur bedingt richtig.
    Der Sketch wird durch den eigenen Präprozessor gejagt und dann das CPP-File durch den (kastrierten) g++.
    Wenn Du aber eine "*.c"-Datei dem Projekt hinzufügst, dann wird diese mit dem GCC und nicht dem g++ kompiliert. Bei *.cc *.cpp vice versa.
    Dementsprechend müssen dann die Header "extern "C" { ... }" oder auch nicht enthalten, sonst produziert der Linker freudig Fehlermeldungen.

    Gruß

  2. #2
    HaWe
    Gast
    aha, wieder etwas schlauer geworden - so in die Tiefen und Untiefen der Arduino-IDE bin ich gar nicht vorgedrungen, ich nutze einfach die Standard-Libs (egal welcher Code, ich guck auch normalerweise nicht nach C oder C++ da drin - viele verwenden allerdings C++, das sieht man ja schon an Serial, Wire und SPI.
    Auch .c Dateien schließe ich nicht ein, sondern ganz einfach nur 1 .ino Code - und soweit es mein eigener ist, verwende ich hier kein C++, sonden nur C code (plus Serial.print etc, Wire.begin etc., und die ganzen anderen unvermeidbaren automatisch eigebundenen Sketch-Klassen).

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Zitat Zitat von botty Beitrag anzeigen
    Wenn Du aber eine "*.c"-Datei dem Projekt hinzufügst, dann wird diese mit dem GCC und nicht dem g++ kompiliert. Bei *.cc *.cpp vice versa.
    Dementsprechend müssen dann die Header "extern "C" { ... }" oder auch nicht enthalten, sonst produziert der Linker freudig Fehlermeldungen.
    Ein Unterschied zwischen C und C++ liegt darin, dass C die Namen für Funktionen direkt aus dem Quelltext übernimmt.
    C++ erzeugt decoratet Labels, an den Funktionsnamen werden einfach noch Buchstaben angehängt, welche die Aufruf-Parameter angeben. Dadurch werden überladene Funktionen für den Linker unterschiedlich. Man braucht also keinen speziellen Linker für C++.

    Zudem war C++ ursprünglich eigentlich nur eine Art Preprozessor. Ein C++-Programm wurde in ein C-Programm umgesetzt, welches dann mit dem C-Compiler übersetzt wurde.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

Ähnliche Themen

  1. Problem mit arrays in memset
    Von HaWe im Forum Arduino -Plattform
    Antworten: 0
    Letzter Beitrag: 05.06.2016, 11:39
  2. Tauchroboter (Fragen über Fragen)
    Von Michi Unfried im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 12
    Letzter Beitrag: 20.02.2014, 21:03
  3. Rasenmähroboter fragen zur lenkung und mehr fragen :-)
    Von andiwalter im Forum Staubsaugerroboter / Reinigungs- und Rasenmähroboter
    Antworten: 11
    Letzter Beitrag: 11.05.2009, 18:25
  4. miniparser + malloc + speicherproblem?
    Von PCMan im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 09.01.2009, 14:03
  5. Fragen über Fragen - Schrittmotor
    Von Karierteshorts im Forum Motoren
    Antworten: 4
    Letzter Beitrag: 23.03.2005, 08:54

Berechtigungen

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

Solar Speicher und Akkus Tests