Jump to content

__makx

Members
  • Content Count

    3
  • Joined

  • Last visited

Community Reputation

0 Neutral
  1. @borg: Danke. Ich habe mir den source code nicht im Detail angeschaut, aber es scheint dass einige Symbole (structs) aus ip_connection.h sehr leicht mit anderen Projekten kollidieren können, obwohl sie ausschließlich in ip_connection.c verwendet werden. Das betrifft neben "Thread" auch "Queue", "QueueItem", "Table", "Semaphore", "Event" und "Mutex". Es gibt keinen Grund diese dem User zugänglich zu machen, also könnte man sie auch beliebig verstecken oder umbenennen. Ansonsten habe ich kein Problem damit, C bindings in C++ zu verwenden. "structs" sind in C++ genau dasselbe wie Objekte und ob ich nun member Funktionen aufrufe oder globalen statischen Funktionen einen pointer mitgebe ist auch dasselbe. Mehr geärgert habe ich mich darüber, dass es keine Kompatibilität zwischen verschiedenen Versionen gibt: Verwendet man einen neueren brickd, muss man auch die Bindings austauschen. D.h. alte kompilierte Versionen meines Projektes laufen nicht mehr. Und dass obwohl die Kommunikation sowieso über einen lokalen Socket geht.
  2. Habe mir den source code der bindings jetzt nochmal angeschaut es einfach mit einem "search and replace" probiert um das TinkerForge struct umzubenennen. Scheint soweit geklappt zu haben. Finde ich zwar keine schöne Lösung aber Hauptsache es läuft.
  3. Hallo. Die aktuellen Tinkerforge C/C++ bindings definieren ein struct "Thread" in ip_connection.h. Bisher habe ich mich nicht sehr daran gestört, dass Tinkerforge keine prefixes verwendet (auch wenn das eigentlich überhaupt nicht gut ist). Das Symbol "Thread" brauche ich aber an anderer Stelle. Ich habe keine Lust die ganzen Tinkerforge-Bindings umzuschreiben. Gibt es eine einfache, schnelle, saubere Möglichkeit diesen Konflikt zu lösen? Danke im Voraus.
×
×
  • Create New...