Manage in unmanaged easier or unmanaged in managed

G

garlic

I need to use managed and unmanaged code.
I have two option, using managed class from native C++ code or using native
C++ from managed code. Which is easier? I came across ManWrap tools that is
better than /clr switch

Have few question, please help
1. Is ManWrap (RegExWrap.dll) tools used only to wrap managed class in
native C++ classes instead of wrapping native code for managed class usage.
Or both.

2. When i install catwork, what is the difference between ManWrap-vs2005-cli
and ManWrap-vs2005?
which folder should i install?
 
C

Christopher Fairbairn

Hi,
I need to use managed and unmanaged code.
I have two option, using managed class from native C++ code or using native
C++ from managed code. Which is easier? I came across ManWrap tools that is
better than /clr switch

Can you please take a step back from coding for a moment?

If you are still attempting to use Managed C++ you will not be
successful in creating an application that will run on a Windows CE or
Windows Mobile device. This has been explained in a number of different
ways recently.

To answer your question it is most likely best for you to attempt to
access your native C++ code from a managed class than the other way
around. If you expose your native code in a DLL via a C style interface
you should be able to use Platform Invoke functionality to access it.
Have few question, please help
1. Is ManWrap (RegExWrap.dll) tools used only to wrap managed class in
native C++ classes instead of wrapping native code for managed class usage.
Or both.

If you're talking about the "Use Our ManWrap Library to Get the Best of
..NET in Native C++ Code" article in the MSDN Magazine
(http://msdn2.microsoft.com/en-us/magazine/cc300632.aspx) please be
aware it won't work on a Windows CE or Windows Mobile powered device.

If you are attempting to develop your application for a desktop PC, then
the microsoft.public.dotnet.framework.compactframework newsgroup is not
the correct place to post this question.

Where do you intend to run your application? On a desktop PC or on a
Windows CE or Windows Mobile based device?

Hope this helps,
Christopher Fairbairn
 
G

garlic

Can someone comment on V, X Windows, KDE on embedded window OS?
I understand that GNOME is for Linux OS (desktop and embedded)

V is a free, multiple platform C++ GUI designed to make it easiest way to
write C++ GUI application available.
HELP-http://www.objectcentral.com/objectcentral/index.html
XLib is an X Window System protocol Client library in C programming
language, currently used in GUI for many Unix-like OS.
HELP -http://en.wikipedia.org/wiki/Xlib
KDE (K Desktop Environment) is a free software project which aims to be a
powerful system for easy-to-use desktop environment.
HELP -http://www.kde.org/
GNOME (GNU Network Object Modeling Environment), A GUI-based user interface
for Linux and other Unix environment
HELP -http://www.gnome.org/
 
G

garlic

WinSock development for WinCE is not totally similar to that on the desktop.
WSAAsynSelect used to notify Windows Message Handler for a socket event is
missing in WinCE. Thus i thought of using CCeSocket in MFC

Using dllimport marsaling is not difficult at all. i just need to state the
name of the dll and the entry point (function name) and convert its initial
parameter to managed parameter. Can i dllimport MFC code like win32 API. I am
afraid it will become messy and wonder if Managed Code can handle.

I know i need to pin the unManaged pointer so that GC will not Garbage
Unmanage heap memory although it will halt the safe code from running. I can
consider MFC code as unmanaged too, right?

I have no problem installing V, X on the devices platform ( i think they are
supported on WinCE), but i think managed code is easier and faster to code. I
don't think speed different can be detected with human eye.
 
C

Chris Tacke, eMVP

Why on earth would you P/Invoke anything for sockets? Managed code has full
socket library implementations.

The fact you're asking if MFC is unmanaged (and the proper term is "native"
not "unmanaged") simply shows that you still don't really have a grasp on
what the two are and how they differ. Managed and native code are totally
and completely different, and until you spend a little time researching
these *on your own* you're simply never going to get anywhere. You're just
asking lots of questions that have no relevance and apparently wasting time
trying to do tasks that are useless. I can only hope you're doing this on
your own time and that there isn't some poor employer paying you to waste
time and not learn anything.


--

Chris Tacke, Embedded MVP
OpenNETCF Consulting
Giving back to the embedded community
http://community.OpenNETCF.com
 
P

Paul G. Tobey [eMVP]

If you have some significant domain knowledge about programming with MFC,
then go ahead and use it. If you're planning to use .NET Compact Framework,
FORGET YOU EVER KNEW ANYTHING ABOUT MFC. That knowledge is completely
useless and you will not be calling or using or thinking about anything
whatsoever to do with MFC any more.

Paul T.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top