DCL 3.7.4
Loading...
Searching...
No Matches
_dlfcn.h File Reference
#include <dlfcn.h>

Go to the source code of this file.

Macros

#define __DCL_DLFCN_H__   20110918

Functions

DCLCAPI void * __dlopen (const String &_filename, int _flag)
DCLCAPI int __dlerror (String &r)

Macro Definition Documentation

◆ __DCL_DLFCN_H__

#define __DCL_DLFCN_H__   20110918

Definition at line 2 of file _dlfcn.h.

Function Documentation

◆ __dlerror()

DCLCAPI int __dlerror ( String & r)

dlopen(), dlsym(), dlclose()가 실패할 경우 에러메지시를 얻는다.

성공하면 r에 에러메시지를 저장하고 0을 반환한다. 실패하면 errno를 0으로 설정하고 -1을 반환한다.

Definition at line 35 of file _dlfcn.cpp.

36{
37 const char* s = dlerror();
38 if (s) {
39 r = __mbstostr(s);
40 return 0;
41 }
42 errno = 0;
43 return -1;
44}
__DCL_BEGIN_NAMESPACE String __mbstostr(const char *_mbs, size_t _nmbs) __DCL_THROWS1(CharsetConvertException *)
Definition __strumbs.cpp:18
IOException *size_t r
Definition MediaInfo.cpp:82

◆ __dlopen()

DCLCAPI void * __dlopen ( const String & _filename,
int _flag )

dlopen을 wrapping한다

dlopen을 호출하기전에 _filename을 다중바이트문자열로 변환한다. 변환에 실패하면 errno를 EILSEQ로 설정하고 NULL을 반환한다.

만약, errno가 0이면 dlopen에서 오류가 발생한 것이다. 이 경우 __dlerror()으로 에러메시지를 얻을 수 있다

Definition at line 23 of file _dlfcn.cpp.

24{
25 STRTOMBS(_filename, filename)
26 else {
27 errno = EILSEQ;
28 return NULL;
29 }
30
31 errno = 0;
32 return dlopen(filename, _flag);
33}
#define STRTOMBS(str, mbs)
Definition __strumbs.h:25
#define NULL
Definition Config.h:312