gibt es eine Möglichkeit eine #define-Zuordnung aus einer lib im Anwenderprogramm zu überschreiben, oder muss ich da die Lib abändern.
Grund der Frage:
In der Ethernet-Bibliothek wird die Maximale Framegröße mit 24 byte definiert. Ich bräuchte aber 26 :~
#define UDP_TX_PACKET_MAX_SIZE 24
Wenn ich es in der lib abändere, dann hab ich halt jedesmal das Problem, dass ich bei einer neuen Version das wieder nachziehen mus. Und wenn ich es vergesse, dann mault der Compiler nicht, und ich such mir dann den A... ab, wieso das Programm so seltsam reagiert.
wäre es eine alternative, eine (angepaßte) kopie der library im sketch-ordner abzulegen?
Du mußt sie dann statt mit < > mit (ich glaube) " " einbinden.
Denn so ist die (für mich richtige) define-Anweisung die letzte.
würde es sich um eine variable handeln, wäre das richtig, aber es ist ja eine einfache textersetzung.
aber ich denke, daß wir da beide im nebel unserer unwissenheit herumsuchen. da müßte jemand genau wissen, wie der präprozessor arbeitet.
Ich würde auch instinktiv sagen, die este #define wird abgearbeitet und dann ist der#define String im Sketch nicht mehr vorhanden und darum greift ein zweiter #define nicht mehr. Jetzt ist auch noch herauszufinden welcher der erste #define ist, der abgearbeitet wird.
Aber es muß mal jemand noch bestätigen, der es sicher weiß.
Ich habe allerdings zwischen den Compilierungen nur den Sketch geändert. Die IDE habe ich nicht neu gestartet, um etwa die libs neu zu lesen.
Auch ich habe keinerlei Ahnung wie so ein Präprozessor das abarbeitet. Es sieht halt in der Praxis (bei meinem Beispiel) so aus, als ob der letzte #define gültig ist.
Wär ja gut für mich. Dann hätte ich für spätere "Updates" der IDE nichts zu befürchten.