Skip to content

Use struct instead of global variables in C? #15

@v1993

Description

@v1993

I think about writting C++ wrapper around C version. However, it looks like C version use global variables and can have only one state.

I suggest making it in pseudo-OOP way, like

struct micromod_obj {
	signed char *module_data;
	…
}

long micromod_initialise_obj( struct micromod_obj obj, signed char *data, long sampling_rate );

and so on. You can keep compatiblity by declaring static struct micromod_obj micromod_instance; and making exsiting functions just wrappers around it, like:

long micromod_initialise( signed char *data, long sampling_rate ) {
	return micromod_initialise_obj( micromod_instance, data, sampling_rate );
}

What do you think? I'll try to do it myself meanwhile.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions