Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

C modules

Name: Anonymous 2012-02-24 19:19

This just dawned on me today. I think in the ``what would you add to C'' thread, someone wanted nice modules, and they had some sort of export preprocessor thing to get stuff like MyModule.Function(). What about using a simple struct solution, i.e.

In the .h file:
#ifndef INCLUDE_MYMODULE_H
#define INCLUDE_MYMODULE_H

void LongassHiddenName_MyModule_Foo();
int LongassHiddenName_MyModule_Bar(int);

struct _LongassHiddenName_MyModulePackage {
    void (*Foo)();
    int (*Bar)(int);
};
struct _LongassHiddenName_MyModulePackage MyModule;

#endif


And in the .c file:
/* ... */
#include "mymodule.h"

MyModule.Foo = &LongassHiddenName_MyModule_Foo;
MyModule.Bar = &LongassHiddenName_MyModule_Bar;

/* Define the methods ... */


So that other things including mymodule.h now can do shit like MyModule.Foo(); or MyModule.Bar(42);. Sure it's not great, but has anyone done shit like this? Or some const variation?

Name: Anonymous 2012-02-25 9:27

>>9
Except when you're working with 10KLOC or more of templates.

Name: Anonymous 2012-02-25 10:34

Excuse me, >>10-san, but this is a thread about C. If you have grievances with some other language, please take them to some other thread.

Name: Anonymous 2012-02-25 10:49

>>9
Well, you're probably right. /thread

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List