DLL With Harbour
DLL With Harbour
html
This lets you have all your common code in a DLL, and have lots
of small EXEs that use it. Realize however that, even though this
may be a nice way to manage your code, each EXE may
load its own image of the Harbour.dll into memory at runtime.
In terms of Windows memory, there may not be a benefit to using pcode
EXEs over monolithic EXEs. But it may be a worthwhile maintenance
benefit to have lots of replaceable small exes.
Please notice that there are three different Windows DLL entry points:
+ src/vm/
* maindll.c Windows self-contained DLL entry point
* maindllh.c Windows Harbour DLL entry point (harbour.dll)
* maindllp.c Windows pcode DLL entry point and VM/RTL routing functions
> * maindllp.c Windows pcode DLL entry point and VM/RTL routing
To produce small pcode DLLs, to be used just from Harbour EXE apps.
maindllp.c is the entry point for the Harbour pcode DLLs. pcode DLLs
are quite small DLLs, that just contain pcode and/or C (using extend
api) functions.
mainwin.c is the entry point for Windows EXEs, not for DLLs.
If you are looking to build a Harbour.dll, then you must use
maindll
DLL de Windows con código Harbour
Hay mucha información que se puede obtener si uno elige ir a la carpeta \ doc de cualquier
instalación de puerto oficial. En esta publicación, he optado por volver a publicar lo
siguiente: -
Un Harbour.dll está diseñado para ser llamado desde una aplicación Harbour.
Un pcode EXE es un pequeño ejecutable de Harbour que no contiene
VM / RTL. Para ejecutar sus funciones, debe cargar y acceder a un
Harbour.dll.
Si desea un enlace dinámico, utilícelo para ejecutar una
función o procedimiento DLL de código pcode cargado dinámicamente:
HB_DllDo ( [,]) -> []
Esto le permite tener todo su código común en una DLL y tener muchos
EXE pequeños que lo usan. Sin embargo,
tenga en cuenta que, aunque esta puede ser una buena forma de administrar su código,
cada EXE puede
cargar su propia imagen de Harbour.dll en la memoria en tiempo de ejecución.
En términos de memoria de Windows, es posible que no exista ningún beneficio al usar
pcode
EXE sobre EXE monolíticos. Pero puede ser un
beneficio de mantenimiento valioso tener muchos ex pequeños reemplazables.
Tenga en cuenta que hay tres puntos de entrada de DLL de Windows diferentes:
+ src / vm /
* maindll.c Punto de entrada de DLL autónomo de Windows
* maindllh.c Windows Harbor DLL entry point (harbour.dll)
* maindllp.c Windows pcode DLL entry point y funciones de enrutamiento VM / RTL
mainwin.c es el punto de entrada para los EXE de Windows, no para las DLL.