tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] Re: TCC:cannot find -l"xyz.dll"


From: lostgallifreyan
Subject: Re: [Tinycc-devel] Re: TCC:cannot find -l"xyz.dll"
Date: Fri, 3 Apr 2009 18:55:56 +0100

grischka <address@hidden> wrote:
(03/04/2009 14:30)

>Well see, Lua is a piece of code with some tens of thousands of lines
>where each word is well designed and meaningful with the final binary
>product.  So if some symbols are exported and others are not then
>this is likely not meant to fool newcomers but to expose a well
>defined interface for those who use this scripting extension language
>in their (often commercial) programs.
>

Ok, though my thought (possibly wrong?) is that providing connections that are 
unusued has little effect beyond a slight code asize increase. Problems 
resulting only if spurious connection attempts are made to functions not 
intedned for that context.

>Now you are right that we often don't want to know what all the details
>mean but the more it is advisable then to stay close to the decisions
>of the author.  Which in this case obviously (and as we can confirm by
>look into the makefile) includes that luac.exe is not build with the DLL.
>

True. I have no certainty that Luac actually works right, I only ran it enough 
to see it show its usage synopsis. But logically, as the systom (as supplied in 
source) is complete, and as Luc can be built with C files as deirected in 
INSTALL (text), I think it's safe to assume that it works with the DLL so long 
as the file Print.c is included, as that appears to be the one library file 
that is not required by both Lua.c and Luac.c. I have one minor advantage in 
that I've seen Lua and Luac shipped as small DLL-dependent files in an earlier 
release. I assumed it was safe to try to emulate that. :)

>Still, maybe -rdynamic needs more explanation with TCC. So please feel
>free to suggest some addition to the docs, say, one short sentence,
>placed to your choice ;)
>

I can try...
Perhaps somewhere in Quick start section, under the "Here are some examples to 
understand the logic:" sub heading:
`tcc -shared -rdynamic -o ab.dll a.c b.c'
Compile `a.c' and `b.c', link them together and generate the dynamic library 
file `ab.dll', making all internal functions available.
(Note: Source code likely defines a proper subset but this will work as a 
starting point to show it working.)

Perhaps followed by 
`tcc -o c.exe c.c ab.def'
Compile `c.c' and  link it with `ab.def' as exported when making the DLL 
(above), and generate the executable that requires that DLL.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]