Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
September 26, 2014 Dynamically loading a D dynamic library from a c++ program | ||||
---|---|---|---|---|
| ||||
Hello, I need to use a C++ SDK to create a plugin an existing closed source c++ application and I would like to know if its possible to use D for that task. Would is be possible to port the SDK header files and call the exposed functions inside the C++ program from a D dynamic library? Is it possible at all? Thank you very much! |
September 26, 2014 Re: Dynamically loading a D dynamic library from a c++ program | ||||
---|---|---|---|---|
| ||||
Posted in reply to Olivier Leduc | On Friday, 26 September 2014 at 16:43:30 UTC, Olivier Leduc wrote: > Hello, > > I need to use a C++ SDK to create a plugin an existing closed source c++ application and I would like to know if its possible to use D for that task. > > Would is be possible to port the SDK header files and call the exposed functions inside the C++ program from a D dynamic library? > > Is it possible at all? > > Thank you very much! Try looking at this: http://dlang.org/dll-linux.html |
September 26, 2014 Re: Dynamically loading a D dynamic library from a c++ program | ||||
---|---|---|---|---|
| ||||
Posted in reply to Olivier Leduc | On Friday, 26 September 2014 at 16:43:30 UTC, Olivier Leduc wrote: > Hello, > > I need to use a C++ SDK to create a plugin an existing closed source c++ application and I would like to know if its possible to use D for that task. > > Would is be possible to port the SDK header files and call the exposed functions inside the C++ program from a D dynamic library? > > Is it possible at all? > > Thank you very much! and this: http://dlang.org/cpp_interface.html remember to be carefill with passing gc pointers |
September 26, 2014 Re: Dynamically loading a D dynamic library from a c++ program | ||||
---|---|---|---|---|
| ||||
Posted in reply to Olivier Leduc | On Friday, 26 September 2014 at 16:43:30 UTC, Olivier Leduc wrote: > Hello, > > I need to use a C++ SDK to create a plugin an existing closed source c++ application and I would like to know if its possible to use D for that task. > > Would is be possible to port the SDK header files and call the exposed functions inside the C++ program from a D dynamic library? > > Is it possible at all? > > Thank you very much! Yes, but it depends on the complexity of the headers. C++ templates aren't supported for example. There have been recent improvements to C++ compatibility, including namespace support, methods etc. and work is ongoing to get even more working. How large is the API? Sometimes the easiest approach is to create a simple extern "C" wrapper in C++ and then call that from D, as D has excellent C compatibility. See http://dlang.org/interfaceToC |
September 27, 2014 Re: Dynamically loading a D dynamic library from a c++ program | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Colvin | On 2014-09-26 21:52, John Colvin wrote: > Yes, but it depends on the complexity of the headers. C++ templates > aren't supported for example. Templates are supported, if they're already instantiated. -- /Jacob Carlborg |
September 27, 2014 Re: Dynamically loading a D dynamic library from a c++ program | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | On Saturday, 27 September 2014 at 09:19:57 UTC, Jacob Carlborg wrote:
> On 2014-09-26 21:52, John Colvin wrote:
>
>> Yes, but it depends on the complexity of the headers. C++ templates
>> aren't supported for example.
>
> Templates are supported, if they're already instantiated.
Sorry, yes, I should have clarified that.
|
Copyright © 1999-2021 by the D Language Foundation