Weird type/identifier conflicts

Prof A Olowofoyeku (The African Chief) chiefsoft at bigfoot.com
Tue Mar 4 22:17:03 CET 2003


On 3 Mar 2003 at 23:14, Frank Heckenbach wrote:

[...]
> > No, it shouldn't. But it should mean "generate a DLL (Windows) or a
> > .so (Unix), as opposed to a .o".
> 
>
> Uhm, well, that's not exactly what I meant with "should *not*".
> Whether a static or a shared library is built should not affect the
> source code.

I think we are on very different wave lengths here. But I won't press 
the issue.

> In fact, under Unix it's common for libraries to build both static
> and shared versions (and I think the same can be done under
> Windows), and of course, there should be no change required in the
> source code (just some different options used etc.).

"library foo;" under BP/Delphi always means a DLL. But I am getting 
confused now about what we are really talking about ;(
 
> > > So I was talking more about the syntactical and semantical aspects
> > > of `library' in BP/Delphi, not the implementation details (which
> > > includes how to link them).
> > 
> > Ok.
> 
> So what are they like?

I presume you are talking about the BP/Delphi syntax for "libraries". 
Here is an example:

library foobar;
uses bar, baz;

function bar1 : integer; stdcall;
begin
 { blah, blah }
end;

function foo : integer; stdcall;
begin
 { blah, blah }
end;

exports
bar1 index 1 name 'myBar'; {IIRC, "index n" and "name x" are optional}
foo index 2 name 'foo';

begin { optional }
 [...]  { optional }
end.

Best regards, The Chief
--------
Prof. Abimbola A. Olowofoyeku (The African Chief) 
web:  http://www.bigfoot.com/~african_chief/




More information about the Gpc mailing list