D
[EDIT] Hat sich erledigt, man sollte natürlich auch Variablen exportieren wenn man diese braucht...[/EDIT]
So weiter gehts mit den Fragen
Eigentlich hatte ich ja gehofft keine mehr stellen zu müssen aber naja...
Ich habe einen Pointer auf ein Struct in einem Header definiert und dem möchte ich in einer Funktion mit der Createfunktion Inhalt geben.
Das scheint aber nicht zu funktionieren da sich das Programm, mal wieder, verabschiedet.
Gebe ich dem Pointer in main( ) den Inhalt direkt mit der Createfunktion oder auch InitSampleStruct geht es allerdings...
Wie auch schon davor, soll das alles in eine DLL, aber ich denke da liegt der Fehler nicht.
Ich hoffe ich nerve nicht
Danke und MfG
DaysShadow
/*Header*/
#ifndef _FUNCTIONS_H
#define _FUNCTIONS_H
//Exportzeugs herrausgeschnitten
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
unsigned char sample;
unsigned char* samplePointer;
}SampleStruct;
EXPORT SampleStruct* CreateSampleStruct( unsigned char smpl, unsigned char pSize);
EXPORT void InitSampleStruct( SampleStruct** smplStrct, unsigned char smpl, unsigned char pSize);
SampleStruct* smplStct;
EXPORT void InitSomething( void ); /* Ruft CreateSampleStruct für smplStct auf */
#endif /* _FUNCTIONS_H */
/*Source*/
#include "../include/functions.h"
EXPORT SampleStruct* CreateSampleStruct( unsigned char smpl, unsigned char pSize )
{
SampleStruct* new = malloc( sizeof( SampleStruct ) );
new->sample = smpl;
new->samplePointer = calloc( pSize, sizeof( unsigned char ) );
new->samplePointer[ 0 ] = 5;
return new;
}
EXPORT void InitSampleStruct( SampleStruct** smplStrct, unsigned char smpl, unsigned char pSize)
{
*smplStrct = malloc( sizeof( SampleStruct ) );
(*smplStrct)->sample = smpl;
(*smplStrct)->samplePointer = calloc( pSize, sizeof( unsigned char ) );
(*smplStrct)->samplePointer[ 0 ] = 5;
}
EXPORT void InitSomething( void )
{
smplStct = CreateSampleStruct( 5, 5 ); /* Hier liegt wohl der Fehler */
}