Hallihallo,
ich bin gerade dabei, eine mathematische Bibliothek für den MSP430FG4618
zu schreiben (Varianz, RMS, FFT, Sorts, etc.).
Das klappt soweit ganz gut.
Jetzt habe ich mir mithilfe des msp430-ar Archiver eine statische
Bibliothek gebaut, die ich nun in der eigentlichen Software als Library
einbinde.
Da die meisten Funktionen gefenstert sind, und daher anpassbare Arrays
benötigten, habe ich mir eine Klasse "defines.h" geschrieben:
1 | #ifndef DEFINES_H_
|
2 | #define DEFINES_H_
|
3 |
|
4 | #ifndef WINDOW_SIZE
|
5 | #define WINDOW_SIZE 64
|
6 | #endif
|
7 |
|
8 | #ifndef WINDOW_OVERLAP
|
9 | #define WINDOW_OVERLAP (WINDOW_SIZE >> 1)
|
10 | #endif
|
11 |
|
12 | #define WINDOW_MASK (WINDOW_SIZE - 1)
|
Alle Funktionen benutzen Arrays der Größe "WINDOW_SIZE", welche
allerdings veränderlich sein sollte.
Nach Erstellen der STATISCHEN Bibliothek befürchte ich nun, dass die
Konstante zur Kompilierzeit bekannt sein muss, und nicht im Nachhinein
beim Linken der Library in das Hauptprogramm geändert werden kann.
Gibt es eine andere Möglichkeit, ein Array dynamisch zu halten?
Eine andere Idee wäre, dass ich verschieden benötigte Libraries
anfertigte, die dann vom Benutzer einfach selbst gelinkt werden.
Ich habe auch gelesen, dass shared bzw. dynamische Bibliotheken nicht
unterstützt werden, ist das auch richtig, oder gibt es eine Möglichkeit?
Viele Grüße,
Michael