#include <ctime>
#include <cstring>
#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <sstream>
#include <typeinfo>
#include "GaudiKernel/System.h"
#include <errno.h>
#include <string.h>
#include "sys/times.h"
#include "unistd.h"
#include "libgen.h"
#include <cstdio>
#include <cxxabi.h>
Go to the source code of this file.
Define Documentation
| #define __attribute__ |
( |
|
x ) |
|
| #define SYSTEM_SYSTEM_CPP |
Function Documentation
Definition at line 300 of file System.cpp.
{
std::string result;
int j = 0, k, i;
if ( 't' == *name ) {
goto Template;
}
for ( i = ::strtol(name, &name, 10); i > 0; i = ::strtol(name, &name, 10) ) {
if ( j++ != 0 ) result.append("::",2);
result.append(name, i);
if ( *(name+=i) == 't' ) {
result.append("::",2);
Template:
result.append(name, (i=::strtol(++name, &name, 10)));
result.append("<");
for (k = 0, i=::strtol(name+i, &name, 10); k < i; k++ ) {
result += __typeName( ++name );
if ( k+1 < i ) result += ",";
}
result.append(">");
}
}
return result;
}
Definition at line 324 of file System.cpp.
{
if ( *name == 'Q' ) {
if ( *(++name) == '_' )
::strtol(++name, &name, 10);
return __className(++name);
}
else if ( 't' == *name ) {
return __className(name);
}
else {
std::string result;
char* ptr;
long i = ::strtol(name, &ptr, 10);
if ( i <= 0 ) {
name = ptr;
while ( *name != 0 && *name != 'Z' ) {
if ( *name == 'U' ) {
result += "unsigned ";
name++;
}
switch( *name++ ) {
case 'c': result += "char"; break;
case 's': result += "short"; break;
case 'i': result += "int"; break;
case 'l': result += "long"; break;
case 'f': result += "float"; break;
case 'd': result += "double"; break;
default: result += *(name-1);
}
}
return result;
}
else {
return __className(name);
}
}
}
Definition at line 75 of file System.cpp.
{
#ifdef _WIN32
void* mh = ::LoadLibrary( name.length() == 0 ? System::exeName().c_str() : name.c_str());
*handle = mh;
#else
const char* path = name.c_str();
#if defined(linux) || defined(__APPLE__)
void *mh = ::dlopen(name.length() == 0 ? 0 : path, RTLD_LAZY | RTLD_GLOBAL);
*handle = mh;
#elif __hpux
shl_t mh = ::shl_load(name.length() == 0 ? 0 : path, BIND_IMMEDIATE | BIND_VERBOSE, 0);
HMODULE* mod = new HMODULE;
if ( 0 != mh ) {
if ( 0 != ::shl_gethandle_r(mh, &mod->dsc) ) {
std::cout << "System::loadDynamicLib>" << ::strerror(getLastError()) << std::endl;
}
else {
typedef void* (*___all)();
___all _alloc = (___all)malloc;
mod->numSym = ::shl_getsymbols(mod->dsc.handle, TYPE_PROCEDURE, EXPORT_SYMBOLS, malloc, &mod->sym);
*handle = mod;
}
}
#endif
#endif
if ( 0 == *handle ) {
return System::getLastError();
}
return 1;
}
Variable Documentation