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-24 22:41

>>5
Meh, if those are your goals, Squeak Smalltalk is far better. Squeak and eToys are a fantastic way of teaching programming, and the environment is infinitely more interactive than some silly web page. Heck, the entire freakin' programming environment and user interface is part of the system, which means you can rip it apart and dig around in its guts.

Of course, people aren't trying to teach programming or that instinct for self-learning and exploration that really differentiates the average from the exceptional. They're trying to teach "marketable skills". And that, of course, is where it all falls flat...

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