From: <ra...@li...> - 2007-06-28 06:00:47
|
Hello, I've seen many many different hacks for dlfcn (libdl) for Windows on the Internet while I was trying to compile vhooks in FFmpeg (which require them, and FFmpeg is quite strict on not letting in hacks into their source code). At that time I just used one of the hacks, but had decided to write a proper POSIX compliant one. Here it is now: http://code.google.com/p/dlfcn-win32/ Could you folks take a look and help me improve it? As far as I'm concerned, it's POSIX compliant. Ramiro Polla |
From: Vincent T. <vt...@un...> - 2007-06-28 06:17:19
|
Hey, there is already some code in the ML, from Roge Wells. I paste it below. Maybe that code should go into Mingw. regards Vincent Torri #define RTLD_LAZY 1 /* lazy function call binding */ #define RTLD_NOW 2 /* immediate function call binding */ #define RTLD_GLOBAL 4 /* symbols in this dlopen'ed obj are visible to other dlopen'ed objs */ static char *dlerr_ptr; static char dlerr_data[80]; void *dlopen (const char *file, int mode) { HMODULE hmodule; hmodule = LoadLibrary(file); if (hmodule == NULL) { int error; error = GetLastError(); sprintf(dlerr_data, "LoadLibraryEx returned %d.", error); dlerr_ptr = dlerr_data; } return hmodule; } int dlclose (void *handle) { if (FreeLibrary(handle)) { return 0; } else { int error; error = GetLastError(); sprintf(dlerr_data, "FreeLibrary returned %d.", error); dlerr_ptr = dlerr_data; return -1; } } void *dlsym (void *handle, const char *name) { FARPROC fp; fp = GetProcAddress(handle, name); if (fp == NULL) { int error; error = GetLastError(); sprintf(dlerr_data, "GetProcAddress returned %d.", error); dlerr_ptr = dlerr_data; } return fp; } char *dlerror (void) { if (dlerr_ptr != NULL) { dlerr_ptr = NULL; return dlerr_data; } else { return NULL; } } On Thu, 28 Jun 2007, ra...@li... wrote: > Hello, > > I've seen many many different hacks for dlfcn (libdl) for Windows on the > Internet while I was trying to compile vhooks in FFmpeg (which require > them, and FFmpeg is quite strict on not letting in hacks into their source > code). > > At that time I just used one of the hacks, but had decided to write a > proper POSIX compliant one. > > Here it is now: > http://code.google.com/p/dlfcn-win32/ > > Could you folks take a look and help me improve it? > > As far as I'm concerned, it's POSIX compliant. > > Ramiro Polla > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > MinGW-users mailing list > Min...@li... > > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users > > -- > Ce message a été vérifié par MailScanner > pour des virus ou des polluriels et rien de > suspect n'a été trouvé. > Message délivré par le serveur de messagerie de l'Université d'Evry. > > |
From: Ramiro P. <ra...@li...> - 2007-06-29 19:49:19
|
Hello, Vincent Torri wrote: > > Hey, > > there is already some code in the ML, from Roge Wells. > > I paste it below. > I know, I had already seen it. IIRC, there's even more than one implementations in this ML. It's one of the "many many different hacks" I mentioned in my e-mail. It isn't POSIX compliant. > Maybe that code should go into Mingw. > Isn't MinGW a wrapper for the Windows API? That's something that should belong in Cygwin IMO (and Cygwin already has one implementation). Ramiro Polla |
From: Ramiro R. P. <ra...@li...> - 2007-07-13 00:03:37
|
Ramiro Polla wrote: > Hello, > > Vincent Torri wrote: [...] > > Maybe that code should go into Mingw. > > > > Isn't MinGW a wrapper for the Windows API? Danny, do you think such functionality is welcome into libmingwex? If it is, I can relicense this code to public domain and do the work of porting it to libmingwex. AFAICT, it conforms to POSIX. If it doesn't, please point me to any issues. Ramiro Polla (sorry to the list admin if I keep sending mails that bounce. Gmane automatically replies to some weird address instead of the list) |