public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* Dynamic Libraryes, C++ and Objective-C
@ 2008-01-02  3:03 Bruno Moreira Guedes
  2008-01-05 20:02 ` Lawrence Crowl
  0 siblings, 1 reply; 2+ messages in thread
From: Bruno Moreira Guedes @ 2008-01-02  3:03 UTC (permalink / raw)
  To: gcc-help

Hello People,

I'm highly interested in developing a "very-pluggable API", to offer a
"Java API-like"(just LIKE hehehe) for C++. So, I asked myself "how
could I dynamic load classes?". During my research about how to
construct that, I break into that step, and it's getting too hard to
pass...

After a little research, I heard about a 'ugly' method which consists
of creating a virtual/pure-virtual and class using a helper function
to make the new/delete operations.

But I want to "split" the API into a base library, statically linked
with the base libraries, and the "pluggable parts", where each part
consists of a set of many classes. So, creating a virtual class for
each class don't make sense...

Researching anymor I heard about a Objective-C ability of creating and
modifying classes during the runtime. But I don't know Objective-C
very-well and I don't know how to 'mix' it with C++ code... As an
alternative, if someone could help-me about using GCC to mix that, I'm
grateful...

But returning to the main problem, I want to use the headers which I
have of the API parts, of course... And the I get the idea of letting
the symbols to be resolved during the library loading stage, and not
during the compile time...
There's anyway to don't resolve the symbols during the compile-time???

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Dynamic Libraryes, C++ and Objective-C
  2008-01-02  3:03 Dynamic Libraryes, C++ and Objective-C Bruno Moreira Guedes
@ 2008-01-05 20:02 ` Lawrence Crowl
  0 siblings, 0 replies; 2+ messages in thread
From: Lawrence Crowl @ 2008-01-05 20:02 UTC (permalink / raw)
  To: Bruno Moreira Guedes; +Cc: gcc-help

On 1/1/08, Bruno Moreira Guedes <thbmatrix@gmail.com> wrote:
> Hello People,
>
> I'm highly interested in developing a "very-pluggable API", to offer a
> "Java API-like"(just LIKE hehehe) for C++. So, I asked myself "how
> could I dynamic load classes?". During my research about how to
> construct that, I break into that step, and it's getting too hard to
> pass...
>
> After a little research, I heard about a 'ugly' method which consists
> of creating a virtual/pure-virtual and class using a helper function
> to make the new/delete operations.
>
> But I want to "split" the API into a base library, statically linked
> with the base libraries, and the "pluggable parts", where each part
> consists of a set of many classes. So, creating a virtual class for
> each class don't make sense...
>
> Researching anymor I heard about a Objective-C ability of creating and
> modifying classes during the runtime. But I don't know Objective-C
> very-well and I don't know how to 'mix' it with C++ code... As an
> alternative, if someone could help-me about using GCC to mix that, I'm
> grateful...
>
> But returning to the main problem, I want to use the headers which I
> have of the API parts, of course... And the I get the idea of letting
> the symbols to be resolved during the library loading stage, and not
> during the compile time...
> There's anyway to don't resolve the symbols during the compile-time???

Your best bet is probably to define a simple function that is a factory
for implementation classes derived from the interface's abstract base
classes.  Each plug-in would define the factory.

-- 
Lawrence Crowl

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-01-04 23:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-02  3:03 Dynamic Libraryes, C++ and Objective-C Bruno Moreira Guedes
2008-01-05 20:02 ` Lawrence Crowl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).