1. RE: A Euphoria DLL?
Jonas Temple wrote:
> Since everyone has been talking about wish lists for V2.4, I thought I
> would throw my 2 cents in.
>
> What I would like to see is the ability to create a .dll with the
> binder. I know that I can get the translator and then compile to make a
>
> .dll but that doesn't make any sense to me.
>
Can you elaborate on just what doesn't make sense to you? Do you mean
that literally, or you just don't want to do it that way for some
reason?
2. RE: A Euphoria DLL?
Andy,
It doesn't make sense in that I really don't want to have to fight with
a C compiler to get my Euphoria code into a .dll. I certainly could do
that (I have Borland C++ 5.something floating around on my hard drive
somewhere) but it would be nice to not have to use the compiler.
Jonas
Andy Serpa wrote:
>
> Jonas Temple wrote:
> > Since everyone has been talking about wish lists for V2.4, I thought I
> > would throw my 2 cents in.
> >
> > What I would like to see is the ability to create a .dll with the
> > binder. I know that I can get the translator and then compile to make a
> >
> >
> > .dll but that doesn't make any sense to me.
> >
>
> Can you elaborate on just what doesn't make sense to you? Do you mean
> that literally, or you just don't want to do it that way for some
> reason?
>
>
3. RE: A Euphoria DLL?
Jonas, is right, why do we have to rely on another language to compile
or make dlls. i mean the process is long and tiring why can't we just
simply use euphoria, this brings us back to what chris recently
said"Euphoria has the potential to be the best language but.....not lots
is being done to it". Sorry rob but i agree with chris on that one
Jonas Temple wrote:
> Andy,
>
> It doesn't make sense in that I really don't want to have to fight with
> a C compiler to get my Euphoria code into a .dll. I certainly could do
> that (I have Borland C++ 5.something floating around on my hard drive
> somewhere) but it would be nice to not have to use the compiler.
>
> Jonas
> Andy Serpa wrote:
> >
> > Jonas Temple wrote:
> > > Since everyone has been talking about wish lists for V2.4, I thought I
> > > would throw my 2 cents in.
> > >
> > > What I would like to see is the ability to create a .dll with the
> > > binder. I know that I can get the translator and then compile to make a
> > >
> > >
> > > .dll but that doesn't make any sense to me.
> > >
> >
> > Can you elaborate on just what doesn't make sense to you? Do you mean
> > that literally, or you just don't want to do it that way for some
> > reason?
> >
> >
4. RE: A Euphoria DLL?
Jonas Temple wrote:
> Andy,
>
> It doesn't make sense in that I really don't want to have to fight with
> a C compiler to get my Euphoria code into a .dll. I certainly could do
> that (I have Borland C++ 5.something floating around on my hard drive
> somewhere) but it would be nice to not have to use the compiler.
>
Jonas:
There is no way to create a dll without a compiler.
The reason is that it has to be able to interface
with the operating system and must be structured in a
certain way.
Bernie
5. RE: A Euphoria DLL?
> -----Original Message-----
> From: Bernie Ryan [mailto:xotron at localnet.com]
> Jonas:
> There is no way to create a dll without a compiler.
> The reason is that it has to be able to interface
> with the operating system and must be structured in a
> certain way.
The same could be said for a normal executable, I think. Why couldn't you
have a 'binddll' the same as the regular bind? It would be more
complicated, but not not impossible. Here's what it might look like (of
ocurse, I'm speculating on how a bound program works, but...):
All of the Eu code could be 'included' in the startup case for LibMain.
Then you'd need to expose the global routines. This could be done by having
the bind utility create a stub that effectively links to the routine_id's of
the global routines. The hard part IMHO is figuring out the structure of
the stub.
Matt Lewis
6. RE: A Euphoria DLL?
- Posted by bensler at mail.com
Mar 01, 2002
If you want to compile DLL's, you have to buy the translator. Registered
Euphoria is cheap. It's worth having to buy the translator. That's a big
selling feature of the translator. If Rob were to implement DLL
compilation directly into EU, I'd suggest to him that he distibute it as
a separately purchasable extension to the registered version. Rob
already practically gives away his product. I wouldn't hesitate to spend
an extra $20 (It's gotta be worth less than EU2C) to be able to compile
DLL's without the hassles.
Chris
jordah ferguson wrote:
> Jonas, is right, why do we have to rely on another language to compile
> or make dlls. i mean the process is long and tiring why can't we just
> simply use euphoria, this brings us back to what chris recently
> said"Euphoria has the potential to be the best language but.....not lots
>
> is being done to it". Sorry rob but i agree with chris on that one
>
> Jonas Temple wrote:
> > Andy,
> >
> > It doesn't make sense in that I really don't want to have to fight with
> > a C compiler to get my Euphoria code into a .dll. I certainly could do
> > that (I have Borland C++ 5.something floating around on my hard drive
> > somewhere) but it would be nice to not have to use the compiler.
> >
> > Jonas
> > Andy Serpa wrote:
> > >
> > > Jonas Temple wrote:
> > > > Since everyone has been talking about wish lists for V2.4, I thought I
> > > > would throw my 2 cents in.
> > > >
> > > > What I would like to see is the ability to create a .dll with the
> > > > binder. I know that I can get the translator and then compile to make a
> > > >
> > > >
> > > >
> > > > .dll but that doesn't make any sense to me.
> > > >
> > >
> > > Can you elaborate on just what doesn't make sense to you? Do you mean
> > > that literally, or you just don't want to do it that way for some
> > > reason?
> > >
> > >
7. RE: A Euphoria DLL?
Matthew Lewis wrote:
>
>
> > -----Original Message-----
> > From: Bernie Ryan [mailto:xotron at localnet.com]
>
> > Jonas:
> > There is no way to create a dll without a compiler.
> > The reason is that it has to be able to interface
> > with the operating system and must be structured in a
> > certain way.
>
> The same could be said for a normal executable, I think. Why couldn't
> you
> have a 'binddll' the same as the regular bind? It would be more
> complicated, but not not impossible. Here's what it might look like (of
> ocurse, I'm speculating on how a bound program works, but...):
>
> All of the Eu code could be 'included' in the startup case for LibMain.
> Then you'd need to expose the global routines. This could be done by
> having
> the bind utility create a stub that effectively links to the
> routine_id's of
> the global routines. The hard part IMHO is figuring out the structure
> of
> the stub.
>
Matt:
A bound program is just the executable interpeter with
a executable program code bound on to the backend of it.
This would be very different than creating a DLL.
Bernie
8. RE: A Euphoria DLL?
Oh I absolutely agree.
I would definitely be willing to cough up extra bucks for the ability to
create a .dll with a bind or binddll or whatever.
Hear that Rob? $$$$$$$$$$$$$$$$$$$$$$$$ Although if it came with the
standard Eu registered package I wouldn't complain. :)
I guess another reason I would like this is if there is a bug in a .dll
I created with translated code I would have to decide if the bug is in
my code, the translated code or the compiler that created the .dll. I
REALLY like that if my Eu code has a bug I can just go to the source to
track it down.
Jonas
bensler at mail.com wrote:
> If you want to compile DLL's, you have to buy the translator. Registered
>
> Euphoria is cheap. It's worth having to buy the translator. That's a big
>
> selling feature of the translator. If Rob were to implement DLL
> compilation directly into EU, I'd suggest to him that he distibute it as
>
> a separately purchasable extension to the registered version. Rob
> already practically gives away his product. I wouldn't hesitate to spend
>
> an extra $20 (It's gotta be worth less than EU2C) to be able to compile
> DLL's without the hassles.
>
9. RE: A Euphoria DLL?
> -----Original Message-----
> From: Bernie Ryan [mailto:xotron at localnet.com]
> Matt:
> A bound program is just the executable interpeter with
> a executable program code bound on to the backend of it.
> This would be very different than creating a DLL.
Different, yes, but how much different? Rather than lumping Eu code to the
normal, executable interpreter, it would be bound to a dll-compiled version.
The bind utility would then adjust the stub to reflect the entry points for
the dll. Again, other than figuring out the proper structure for the entry
points, I don't see why this would be too difficult. :)
Matt Lewis
10. RE: A Euphoria DLL?
The only real difference from an Eu perspective is that code you intend
to be in a .dll would have to be created as a .dll first before running
the interpreter against the main code. In other words, no interpreter
for code intended to be a part of a .dll. I may be speaking out of turn
here (Rob) but it seems logical to me. This isn't really anything
new...C programmers have to do this all the time.
Jonas
Matthew Lewis wrote:
>
>
> > -----Original Message-----
> > From: Bernie Ryan [mailto:xotron at localnet.com]
>
> > Matt:
> > A bound program is just the executable interpeter with
> > a executable program code bound on to the backend of it.
> > This would be very different than creating a DLL.
>
> Different, yes, but how much different? Rather than lumping Eu code to
> the
> normal, executable interpreter, it would be bound to a dll-compiled
> version.
> The bind utility would then adjust the stub to reflect the entry points
> for
> the dll. Again, other than figuring out the proper structure for the
> entry
> points, I don't see why this would be too difficult. :)
>
> Matt Lewis
>
>
11. RE: A Euphoria DLL?
Matthew Lewis wrote:
>
>
> Different, yes, but how much different? Rather than lumping Eu code to
> the
> normal, executable interpreter, it would be bound to a dll-compiled
> version.
> The bind utility would then adjust the stub to reflect the entry points
> for
> the dll. Again, other than figuring out the proper structure for the
> entry
> points, I don't see why this would be too difficult. :)
>
Matt:
The code that is used in a bound form is byte codes
that only the interpeter understands. Now if the
code is used in the DLL, it has to be "C" code or some
big lump of binary code that has to interfaced with
"C" code so the DLL can export it or expose each
routine to the outside world. Also the routines have
to be able to call other code in other DLLs and also
comunicate with the interpeter.
That sounds like a lot of work to get around someone
just translating a program and compiling it with a compiler.
I rather see your idea of trying to interface things
with COM that would create a whole new world for euphoria.
Bernie
12. RE: A Euphoria DLL?
> -----Original Message-----
> From: Bernie Ryan [mailto:xotron at localnet.com]
> The code that is used in a bound form is byte codes
> that only the interpeter understands. Now if the
> code is used in the DLL, it has to be "C" code or some
> big lump of binary code
Why does the Eu code need to be C or binary for a dll if it doesn't for an
exe?
> that has to interfaced with
> "C" code so the DLL can export it or expose each
> routine to the outside world.
DLL's call Eu routines all the time (call_back), and they're still in byte
code form. I assume (I don't have the source) that the way Eu does this is
to set up a 'fake' entry point into the interpreter that knows to execute
the Eu function within the interpreter. Currently, (I suspect) the fake
call_back generation is done on the fly, as you make calls to call_back().
Why couldn't 'bindd' do this at bind time, inserting the entry point code
whereever it needs to be in order for the outside world to see it as an
entry point? Then generate the stub so that everyone can see the entry
points.
> Also the routines have
> to be able to call other code in other DLLs and also
> comunicate with the interpeter.
Eu apps (interpreted and compiled) do this all the time. I don't understand
why this would be a stumbling block.
-External app calls LoadLibrary
-Interpreter inside the DLL initializes and runs any top level code
-External app makes calls to the Eu code through pre-generated call_back's
(perhaps for all global routines)
> That sounds like a lot of work to get around someone
> just translating a program and compiling it with a compiler.
This is a bit more complicated than that, though. You've found out yourself
that different compilers have their own quirks and errors that are not easy
to pin down. By using bound dlls, it's possible to avoid some of those
errors. Besides, the main reason for compiling (that people have raised) is
for speed. If you don't need speed for an executable, you'll probably just
use bind. I think the same logic goes for dlls.
> I rather see your idea of trying to interface things
> with COM that would create a whole new world for euphoria.
Binding dll's could also work in favor of this, for the same reasons as
above. AFAIK, COM objects aren't really any different from DLL's from the
compiler's stand point (typelib stuff aside).
Does anyone know of any other language that will create dll's without actual
compilation to machine code?
Matt Lewis
13. RE: A Euphoria DLL?
Jonas Temple wrote:
> Andy,
>
> It doesn't make sense in that I really don't want to have to fight with
> a C compiler to get my Euphoria code into a .dll. I certainly could do
> that (I have Borland C++ 5.something floating around on my hard drive
> somewhere) but it would be nice to not have to use the compiler.
>
Well, ok, but I don't understand why it would be a "fight". I am
*completely* C illiterate, and every time I try to use any compiler to
do anything OTHER than Euphoria stuff, I can't get it to work.
BUT, I make Euphoria .exe's and .dll's with the translator & Borland (&
now Watcom, thanks to Euman) all the time without a hitch. How is
typing "emake" a fight?
All of these other methods people are trying to come up with seem
incredibly more complicated...
14. RE: A Euphoria DLL?
Matthew Lewis wrote:
>
>
> Different, yes, but how much different? Rather than lumping Eu code to
> the
> normal, executable interpreter, it would be bound to a dll-compiled
> version.
> The bind utility would then adjust the stub to reflect the entry points
> for
> the dll. Again, other than figuring out the proper structure for the
> entry
> points, I don't see why this would be too difficult. :)
>
Matt:
The code that is used in a bound form is byte codes
that only the interpeter understands. Now if the
code is used in the DLL, it has to be "C" code or some
big lump of binary code that has to interfaced with
"C" code so the DLL can export it or expose each
routine to the outside world. Also the routines have
to be able to call other code in other DLLs and also
comunicate with the interpeter.
That sounds like a lot of work to get around someone
just translating a program and compiling it with a compiler.
I rather see your idea of trying to interface things
with COM that would create a whole new world for euphoria.
Bernie