Bibliothek beim Linken verändern?

OP #2805478
Lesenswert?

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
#2805487
Lesenswert?

Michael A. schrieb:

> 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.

Ist auch so.
In der Lib ist alles bereits kompiliert. So wie es da drinnen steht, so 
wird es benutzt.

> Gibt es eine andere Möglichkeit, ein Array dynamisch zu halten?
Natürlich.
Aber das willst du nicht wirklich tun.
Nicht auf einem kleinen µC.



Lass denjenigen, der die Funktionen benutzt das Fenster anlegen. Er muss 
den Bibliotheksfunktionen das zu benutzende Fenster zur Verfügung 
stellen.
OP #2805509
Lesenswert?

Karl Heinz Buchegger schrieb:
> Michael A. schrieb:
>
>> 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.
>
> Ist auch so.

Dachte ich mir ;)

>> Gibt es eine andere Möglichkeit, ein Array dynamisch zu halten?
> Natürlich.
> Aber das willst du nicht wirklich tun.
> Nicht auf einem kleinen µC.

Dachte ich mir auch ;)

> Lass denjenigen, der die Funktionen benutzt das Fenster anlegen. Er muss
> den Bibliotheksfunktionen das zu benutzende Fenster zur Verfügung
> stellen.

Werde ich nun tun.

Vielen Dank!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren