digitalmars.D.learn - External modules
- Mineko (17/17) Jan 03 2014 This is another short one, is it possible to export/extern (C) an
- Jacob Carlborg (5/22) Jan 03 2014 You can't import the whole module. You would need to use "dlsym" on each...
- Mineko (2/30) Jan 03 2014 Thank you.
- Adam D. Ruppe (2/4) Jan 03 2014 It could potentially be automated with reflection though...
- Jacob Carlborg (4/5) Jan 03 2014 Yes, sure.
This is another short one, is it possible to export/extern (C) an
entire module, is it safe?
Also, how do you import said module, this one I don't quite get.
So, something like this:
dll.d:
extern (C) module test;
int foo() {...}
-------------------------
main.d
int main(string[] args)
{
...
(dl loading code for dll.so)
module dll = dlsym(lh, "test");
...
}
So, aside from the crappy abstraction, something like that?
Jan 03 2014
On 2014-01-03 14:00, Mineko wrote:
This is another short one, is it possible to export/extern (C) an entire
module, is it safe?
Also, how do you import said module, this one I don't quite get.
So, something like this:
dll.d:
extern (C) module test;
int foo() {...}
-------------------------
main.d
int main(string[] args)
{
...
(dl loading code for dll.so)
module dll = dlsym(lh, "test");
...
}
So, aside from the crappy abstraction, something like that?
You can't import the whole module. You would need to use "dlsym" on each
symbol you're interested in.
--
/Jacob Carlborg
Jan 03 2014
On Friday, 3 January 2014 at 13:03:50 UTC, Jacob Carlborg wrote:On 2014-01-03 14:00, Mineko wrote:Thank you.This is another short one, is it possible to export/extern (C) an entire module, is it safe? Also, how do you import said module, this one I don't quite get. So, something like this: dll.d: extern (C) module test; int foo() {...} ------------------------- main.d int main(string[] args) { ... (dl loading code for dll.so) module dll = dlsym(lh, "test"); ... } So, aside from the crappy abstraction, something like that?You can't import the whole module. You would need to use "dlsym" on each symbol you're interested in.
Jan 03 2014
On Friday, 3 January 2014 at 13:03:50 UTC, Jacob Carlborg wrote:You can't import the whole module. You would need to use "dlsym" on each symbol you're interested in.It could potentially be automated with reflection though...
Jan 03 2014
On 2014-01-03 16:05, Adam D. Ruppe wrote:It could potentially be automated with reflection though...Yes, sure. -- /Jacob Carlborg
Jan 03 2014









"Mineko" <uminekorox gmail.com> 