Closed source D libraries

Gor Gyolchanyan gor.f.gyolchanyan at gmail.com
Sun Jul 15 06:06:12 PDT 2012


On Sun, Jul 15, 2012 at 4:33 PM, Henning Pohl <henning at still-hidden.de>wrote:

> On Sunday, 15 July 2012 at 12:21:23 UTC, Gor Gyolchanyan wrote:
>
>> On Sun, Jul 15, 2012 at 4:05 PM, Henning Pohl <henning at still-hidden.de>**
>> wrote:
>>
>>  Most closed source C and C++ libraries provide headers and binaries. It
>>> seems to me that there is no way to do this in D, because the source
>>> files
>>> always have to be available to import their modules.
>>>
>>> I'm not going to write something proprietary or closed source, but i
>>> wonder if others can do so.
>>>
>>>
>> It's quite possible. All you have to do is make a module, which doesn't
>> contain any function bodies. The imported modules aren't compiled with the
>> code. Most of the time it's easier to have a single module to have both
>> the
>> code to compile and symbols to import. In other cases they can be
>> separated.
>>
>
> Okay, so it works just like in C:
>
> // The "header" file
> module lib;
>
> void printHelloWorld();
>
>
> // The "source" file
> module lib
> import std.stdio;
>
> void printHelloWorld() {
>      writeln("Hello world!");
> }
>

Exactly. Not defining a function body is perfectly fine for precisely these
reasons. And, just like in C, forgetting to link with the missing body will
result in a linker error.

-- 
Bye,
Gor Gyolchanyan.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20120715/3e73f682/attachment.html>


More information about the Digitalmars-d mailing list