close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 15 years ago

Closed 14 years ago

#956 closed task (fixed)

Nueva función de carga dinámica de librerías LoadDynLib

Reported by: Víctor de Buen Remiro Owned by: Víctor de Buen Remiro
Priority: highest Milestone: TOL Extensions
Component: Kernel Version: 2.0.1
Severity: blocker Keywords:
Cc:

Description

Es necesario una función que permita la carga de objetos y funciones creados en C++ para implementar tareas específicas que resulten demasiado lentas en TOL y no sean lo suficientemente generalizables como para formar parte de las utilidades globales del núcleo de TOL.

En la página LoadDynLib se explicará detalladamente la forma de creación y uso de este tipo de librerías.

Change History (30)

comment:1 Changed 15 years ago by Víctor de Buen Remiro

(In [2427]) Refs #956

comment:2 Changed 15 years ago by Víctor de Buen Remiro

(In [2429]) Refs #956
Gets library name from path

comment:3 Changed 15 years ago by Víctor de Buen Remiro

(In [2430]) Refs #956
Using direct protocol of built-in functions instead of macros to avoid duplications of contents

comment:4 Changed 15 years ago by Víctor de Buen Remiro

(In [2431]) Refs #956
Adding includes

comment:5 Changed 15 years ago by Jorge

(In [2432]) refs #956, implementation of BLoadDynLib depending on libltdl, only compiled on linux

comment:6 Changed 15 years ago by Víctor de Buen Remiro

(In [2433]) Refs #956
Creating instance of BLoadDynLib

comment:7 Changed 15 years ago by Víctor de Buen Remiro

(In [2434]) Refs #956
Using ad-hoc implementations of new to avoid problems with deleting memory in a dll created with another one

comment:8 Changed 15 years ago by Víctor de Buen Remiro

(In [2436]) Refs #956
Using ad-hoc implementations of new to avoid problems with deleting memory in a dll created with another one
New optional argument libraryName

comment:9 Changed 15 years ago by Jorge

(In [2438]) refs #956, including LoadDynLib in bjam compilation

comment:10 Changed 15 years ago by Víctor de Buen Remiro

(In [2441]) Refs #956
Adding LoadDynLib
Refs #957
Adding libtdl

comment:11 Changed 15 years ago by Víctor de Buen Remiro

(In [2442]) Refs #956
Fixed bug in arguments declaration

comment:12 Changed 15 years ago by Jorge

(In [2443]) refs #956,#957 including LoadDynLib and libtdl VC8 project

comment:13 Changed 15 years ago by Víctor de Buen Remiro

(In [2445]) Refs #956
Exporting BFixedSizeMemoryBase

comment:14 Changed 15 years ago by Víctor de Buen Remiro

(In [2446]) Refs #956
Cannot include tol_bfsmem.h directly but ny means of tol_bcommon.h

comment:15 Changed 15 years ago by Víctor de Buen Remiro

(In [2448]) Refs #956
including tol_memhandler.h must be the last action

comment:16 Changed 15 years ago by Víctor de Buen Remiro

(In [2450]) Refs #956
Refs #957
DefMethod must return an instance of BUserCode
Calling lt_dlinit
Prefixing messages

comment:17 Changed 15 years ago by Víctor de Buen Remiro

(In [2451]) Refs #956
Builds tol_sdk used to create dll's using tol.lib

comment:18 Changed 15 years ago by Víctor de Buen Remiro

(In [2452]) Refs #956
Special files at tol_sdk root

comment:19 Changed 15 years ago by Víctor de Buen Remiro

(In [2453]) Refs #956
Builds tol_sdk copying headers recursively

comment:20 Changed 15 years ago by Jorge

(In [2454]) refs #956, macro DynAPI to tag the entry point

comment:21 Changed 15 years ago by Víctor de Buen Remiro

(In [2455]) Refs #956
Getting current directory

comment:22 Changed 15 years ago by Víctor de Buen Remiro

(In [2456]) Refs #956
renaming sdk root

comment:23 Changed 15 years ago by Jorge

(In [2459]) refs #956, los puntero a objetos GSL en el API publica se considerar void*, el acceso al generador aleatorio global se hace a traves de getGslRng

comment:24 Changed 15 years ago by Jorge

(In [2460]) refs #956, se incluye tol/tol_bprdist_internal.h in aliases

comment:25 Changed 15 years ago by Jorge

(In [2461]) refs #956, se incluye tol/tol_bprdist_internal.h in aliases

comment:26 Changed 15 years ago by Jorge

(In [2464]) #refs #956, tol_bcommon.h debe ser incluido en los archivos fuentes .cpp contiene definiciones importantes como GSL_DLL

comment:27 Changed 15 years ago by Víctor de Buen Remiro

(In [2465]) Refs #956
Simplifying environment variables

comment:28 Changed 15 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: newclosed

comment:29 Changed 14 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: closedreopened

A veces una librería dinámica con funciones TOL nativas escritas en C++ necesita de una librería externa, como es el caso de una API TOL para un sistema escrito en C++. Si el archivo no se encuentra en la variable de entorno path, el sistema operativo no la encontrará y no podrá enlazar la primera.

Haría falta una nueva función que no devuelva un NameBlock, sino simplemente si ha tenido éxito o no mediate un Real, y que permita enlazar dinámicamente una librería indicando su camio exacto.

comment:30 Changed 14 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: reopenedclosed

(In [2705]) Fixes #956

Note: See TracTickets for help on using tickets.