Managed C++, managed code

0

Cześć,
chciałem rozwiać jedną moją wątpliwość dotyczącą Visual C++:
czym dokładnie jest managed code?
W szczególności interesuje mnie:
czy jeżeli używam Visual C++ i piszę program od podstaw to możliwe jest, abym tworzył od razu w "managed code", czy też z managed code mogę jedynie korzystać?

0

Tak, możesz tworzyć "od razu" w kodzie zarządzanym, wystarczy że utworzysz projekt z zakładki CLR(Common Language Runtime). W takim projekcie oczywiście możesz też korzystać z kodu natywnego. Odwrotnie(pisanie kodu zarządzanego w natywnym projekcie) już takie proste nie jest(o ile w ogóle możliwe).

Kod zarządzany, jak sama nazwa wskazuje jest zarządzany. Tu konkretnie przez platformę .Net - czyli między innymi podlega odśmiecaniu(GC) i innym kwestiom związanym z .Net'em.

btw. aktualnie to się nazywa C++\CLI, jeżeli dobrze pamiętam to nazwa Managed C++ jest starsza.

1

Odwrotnie(pisanie kodu zarządzanego w natywnym projekcie) już takie proste nie jest(o ile w ogóle możliwe).
Od tego jest właśnie C++/CLI, że pozwala na mieszanie kodu natywnego z zarządzanym.

btw. aktualnie to się nazywa C++\CLI, jeżeli dobrze pamiętam to nazwa Managed C++ jest starsza.

MC++ miał inną składnię. Został zastąpiony przez C++/CLI w Visualu 2005.

0

Cześć,
dziękuję za odpowiedzi. Ale nadal nie rozumiem:
czy kod "managed" musi podlegać jakimś specjalnym regułom?
Innymi słowy, czy musi być stosowana jakaś specjalna składnia do tworzenia kodu managed?
Gdy tworzę u siebie Windows Forms Application i dołączam pliki .cpp z kodem ANSI C++, to z komunikatów generowanych czasami przez kompilator wynika, że kod w moich plikach .cpp jest unmanaged.
Pozdrawiam

0

Innymi słowy, czy musi być stosowana jakaś specjalna składnia do tworzenia kodu managed?
tak, jest specjalna składnia: te wszystkie daszki ^, ref class, value class i inne.

W programie C++/CLI można mieszać kod standardowego i zarządzanego C++. Kompilator uzna, co skompilować od razu do kodu maszynowego (część natywna) a co zostawić do późniejszej kompilacji JIT (część zarządzana).

1 użytkowników online, w tym zalogowanych: 0, gości: 1