Tuesday, 15 July 2014

Combining c++ and c# projects in Visual Studio express 2012 for Windows desktop (windows 7) -



Combining c++ and c# projects in Visual Studio express 2012 for Windows desktop (windows 7) -

been using vs2010 express. writing in c# figured middle step towards object oriented languages. 1 thing has made code repetitive inability utilize multiple class inheritance in c#. i.e. can't class inherits class b and class c.

c# great because can , windows buttons textboxes , dials , running. not available in c++ in express version since mfc libraries not included.

now, have thought of desinging c# front end end saves parameters file execute c++ reads file, runs , saves file open another(or same) c# backend exec read , play ard results. create cumbersome executing whole sequence 1 time again if want alter something. not mention debugging, need have instances running.

reading on of visual studio 2012 express desktop announcment, stated "you can combine c++, c#, , visual basic projects single solution, making easy write single application using of available languages." http://blogs.msdn.com/b/visualstudio/archive/2012/09/12/visual-studio-express-2012-for-windows-desktop-is-here.aspx?pageindex=3

now happy that, after dont expect , dont need @ stage wizbank stuff i.e special button functionality/design easier , provided mfc in c++.

my question is: has tried in visual studio 2012 in express windows desktop version in windows 7''? i.e can combine c++ , c# projects interact, trace code form 1 project when debugging example? there special restrictions? mean if combining executables not much use, expect more that, how much more? example, can object designed in c# instanciate object designed in c++ pass reference other objects classes hold inputs , outputs or info proccessed in c++ class , still accesible in c# code display results etc?

i asking before downloading new express version because expect set me couple of months since going c# c++ think going visual basic c. wouldnt want problem (i dont mind huge step back) find out cant "seemlesly" integrate c# front end end c++ proccesing solution.

you have 3 options interfacing c++ c#:

pinvoke: specify function signatures in c# , give them attribute specifying dll reside in. painful if need pass around complex types @ all.

com: c++ dll implement com object called c# code.

c++/cli: allows mixing of managed , unmanaged c++ code in single c++ project. nice interfacing other libraries but, in vs 2010 @ least, lacks helpful features such intellisense. if wanted go route, write 3 projects: core c++ code static library, c++/cli dll wrap it, , c# application.

visual-studio-2012 express

No comments:

Post a Comment