[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Build a complete gnustep app in a shared object
From: |
David Chisnall |
Subject: |
Re: Build a complete gnustep app in a shared object |
Date: |
Thu, 18 Sep 2014 08:48:17 -0500 |
I'd probably suggest that you rethink your aversion to Objective-C++. With
ARC, you can safely put Objective-C object pointers in C++ classes (they become
non-POD) and you can use C++ classes as instance variables for Objective-C
objects. Most importantly, you can now put Objective-C object pointers in C++
collections and have the memory management behave correctly (I do this quite a
lot - it's very useful to have things like LLVM's SmallVector class for storing
small collections of object pointers on the stack).
David
On 18 Sep 2014, at 05:33, Michele Bert <micbert75@gmail.com> wrote:
> Hello.
> Context. I am working on a big software bandles, where specific
> "application" (in the sense of our project) are C++ shared object,
> with a well defined interface:
> - a C++ class derived from a common one, which implement a specific
> virtual method (i. e. run(ParamInfo& param)
> - a function to create an object of the above class
> Up to now, only shell-based application have been implemented, with
> very few user interaction. But focusing on more interactive ones, I
> would like to create gnustep apps. Therfore I should create shared
> objects, which I access with dlopen(), dlsym() with the creation
> function (declared extern "C"), create the object calling that
> function (which return a pointer), and call its "run" method.
>
> First of all, a would like to keep C++ and Obj-C separated, so I'd
> prefer not to use ObjC++. And this is clear to me.
> Question are:
> 1- how should I behave with resources usually contained in the
> directory which represent the application?
> 2- How can I write the makefile in order to create a shared object,
> instead a stand-alone executable?
>
> Any other advice and consideration on the idea itself is anyway welcome.
> Thanks
> --
> Mick
>
> _______________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep
-- Sent from my IBM 1620