DCL 4.0
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 32 of file _dlfcn.cpp.

33{
34 const char* s = dlerror();
35 if (s) {
36 r = __mbstostr(s);
37 return 0;
38 }
39 errno = 0;
40 return -1;
41}
__DCL_BEGIN_NAMESPACE String __mbstostr(const char *_mbs, size_t _nmbs) __DCL_THROWS1(CharsetConvertException *)
Definition __strumbs.cpp:8
ByteString r

◆ __dlopen()

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

dlopen을 wrapping한다

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

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

Definition at line 20 of file _dlfcn.cpp.

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