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