J I like the idea of free discusion about general concept, but we first face a more basic problem. Either on full Borland or full MSVC (no mix of compiler) You can create a pure pcode dll, you can load it, but it does'nt work at all, even dynamically (using HB_LIBLOAD, HB_LIBDO). It seem that the exe generated does'nt export some needed function (like, at least, hb_vmProcessDynLibSymbols, called from maindllp.c ).
I tried to add it to hbvmpub.ch (like hb_vmExecute ) but it does'nt solve anything. For hb_vmExecute(), here is what we can found into hbvmpub.h. "extern HB_EXPORT void hb_vmExecute( const BYTE * pCode, PHB_SYMB pSymbols ) HB_FLATTEN_ATTR; /* invokes the virtual machine */" How could I render those two functions exported. If I do impdef myexe.def myexe.exe, nothing is exported ? Any Idea, I'm ready to try to make it work but I need some idea on "where or what" to search . Thanks to all, Regards, JF, De : harbour-boun...@harbour-project.org [mailto:harbour-boun...@harbour-project.org] De la part de Viktor Szakáts Envoyé : mercredi 18 mars 2009 0:45 À : Harbour Project Main Developer List. Objet : Re: [Harbour] pCode dll > /half-off-off ALL are basically compatible, read below: OWatcom: I suggest you have oWatcom Harbour flags standardized as what other compilers use as of now. Take a look at -s and -r switch (default is -r which is "use register calling convention"). Other Windoze compiler are using -s equivalent (-s = "stack calling convention").It's should be OK if you're using -r but the creation of import library become rather clumpsy, because -r append an underscrore AFTER symbol name. Thanks for the owatcom tip Andi. In OpenWatcom 1.8 -s and -r mean something different, but the same idea can be accessed using s and r postfixes for CPU family switches. MSVC,POCC,ICC and GCC are fully compatible. We can easily rename an MSVC-created import lib to GCC name, ie. harbour.lib->libharbour.a. Borland VS MSVC family only differs in an underscore. Borland requires an underscore IN FRONT OF symbol name. Take a look at switch -a in Borland's IMPLIB.EXE/IMPDEF.EXE. Yes, problem is that it's not binary compatible, it needs implib tricks (sometimes manual editing of .def files) and app rebuild. So it's practically not very usable. I just can wonder what was the goal of Borland with this idea. Brgds, Viktor
_______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour