plugin based applications in c++ projects

Hi friends
If i want to code a big project in C++ in VS2005 which road must i follow What do you advice me

Especially i want to design it with plugin support.I write it skeleton, then other parts will be plugin or it can be developed by other coders.I want to learn what must i prepare before start coding.How must projects settings be for plugin support or for a such a big project.(For great extensibility)

I am looking for your answers.Any links , articles, advices will be very useful for me.

Thanks..


Answer this question

plugin based applications in c++ projects

  • cx409

    Thanks Christian
    I know c++ and c# well.But never develop a big project that have so many components and will be extended for long time.

    1-)I need advices from developers.How must i design it f i design it fully native code(c++)Must i build it over com technology or something else And what must my project settings be

    2-)Especially i think that i want to design my UI in c# and then other parts that my algorithms are working with c++.Because i don't want that my codes can decompile by reflector or salamander.
    Maybe i must start with c# windows app. then other parts are native code with c++.But i am not sure that it is right way.You know UI designing with c# is very easy and funny, but with mfc and win32 it is very boring.But decompiling is very big disadvantage for me.I am confused.I said i am not sure.Here what will be the advanteges or disadvantages Is it really right way

    3-)Also if i design my programs UI or shell with .net code(like c#) , in future i can utilize .net plugins but if my shell code or UI in c++ i can not write any plugin with managed code.Is this right

    I want to learn all your opinions and advices about such a program.I don't want to make mistake.
    Thanks again.
    Good works...

  • Vishal Aggarwal

    Basically, a plugin is a dll. So you want to build your app to use dlls. If you're using C++/CLI, that's really trivial, for dlls that are known at compile time. YOu need to use function pointers and LoadLibrary otherwise.

    How much C++ do you know



  • Paul Farrell

    You don't need to use COM, although you could. The problem is that your GUID should change when your code changes, and then you need to do another build of your main app. Using pinvoke seems like a better option to me.

    OK, I was going to suggest reflection as a way to discover methods, but if you're going to do native C++, that won't work, obviously. If you don't want to expose your code, C++ dlls and C# UI is a good approach, IMO

    If you write the app in MFC but compile it to use .NET as well, then you can access any .NET components in future/



  • MarcoL

    ok thanks.
    I think i must also ask this to c# forum.


    Good works..

  • plugin based applications in c++ projects