Solved

Accessing C++ code(unmanaged & if possible, managed as well) in C#

Posted on 2007-04-06
3
405 Views
Last Modified: 2013-12-17
I want to write a managed C++ class that I can then access in C# code.  The C++ class will contain unmanaged code as well.  The C++ class has to keep things in memory as well.  It's a class that deals with image manipulation, so I gotta keep a USHORT* in memory (it has to be this type or some other type that easily converts into USHORT* because we use 3rd party code for image enhancement and it requires USHORT*). So, it has to be something that can be long-lived.  When I use a function that causes the buffer to change and then use another function to access that buffer later on, i want to access the newly changed one, not a new instance.  I've tried creating an MFC DLL and just started trying to create a C++ Class library instead.  I can't get anything to work.  Can anybody give me any pointers on how to deal with this? I"ve never done cross-platform stuff before AND its also my first time working in C#.  Any help would be appreciated.  Any websites or examples you could point me towards would also be appreciated.
0
Comment
Question by:raw_enha
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 16

Expert Comment

by:AlexNek
ID: 18867402
0
 
LVL 48

Accepted Solution

by:
AlexFM earned 500 total points
ID: 18868820
You need to create C++/CLI Class Library. Class exported from this library has pure .NET interface and can be accessed from any .NET language. Internally clas can allocate unmanaged resources.
C++/CLI allows to write mixed managed/unmanaged code, this technology sometimes called IJW (It Just Work). To use unmanaged code in C++/CLI project, you only need to include required h-files, add .lib files if necessary, and call unmanaged code directly.
I don't suggest you to use PInvoke because C++/CLI is much beter for interoperability.
0
 
LVL 48

Expert Comment

by:AlexFM
ID: 18868826
0

Featured Post

Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
c++ aadding data to a list box vs2005 mfc project 7 39
asp.net, radiobuttonlist, c# 3 69
How does this modal gets closed? 6 41
Why am I losing my session variable value 11 39
Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question