2008-09-22 17 views
40

Konular başlığı aslında benim sorum. Ve ikinci soru şu: Bu ikisinden ne zaman kullanırım? C++ YönetilenYönetilen C++ ile C++ arasındaki fark

+0

Managed C++ için uzantılar ya da sadece C++ gramer ve sentaks uzantıları, anahtar kelimeler ve nitelikleri, .NET Framework için C++ sözdizimi ve dili getirmek dahil C'den sapmaların bir karakteri artık Microsoft seti ++, Yönetilen. Bu uzantılar, C++ kodunun yönetilen kod biçiminde Ortak Dil Çalışma Süresine (CLR) hedeflenmesinin yanı sıra, yerel kodla birlikte çalışmayı sürdürmesine de izin verdi. Yönetilen C++ tam bir bağımsız veya tam teşekküllü bir programlama dili değildi. https://en.wikipedia.org/wiki/Managed_Extensions_for_C%2B%2B#.E2.80.A6to_C.23 tavsiyesi üzerine –

cevap

43

, C++ makine kodu için derlenmiş yönetilmeyen C++ vardır. Yönetilmeyen C++ 'da, bellek ayırmayı manuel olarak yönetmelisiniz. C++ Yönetilen

.NET Framework tarafından işletilen bayt kodu derler Microsoft tarafından icat bir dil vardır. Çoğunlukla C++ (yani ad) ile aynı sözdizimini kullanır ancak C# veya VB.NET ile aynı şekilde derlenir; temel olarak sadece sözdizimi değişiklikleri, ör. '-' 'nesnesinin bir üyesine işaret etmek (' # 'yerine C# için),' alan adları için '::' kullanarak.

Yönetilen C++, klasik C++ 'dan geçişi kolaylaştırmak için yapılmıştır. NET Framework. Yeni projelere başlamak için kullanılmaz (C# tercih edilir).

+1

Bir uyarı yeni projeler için ++ c yönetilen kullanmayın için. Visual Studio 2008'den itibaren Yönetilen C++, C# 'dan üstün bazı özelliklere sahiptir. Bunlar, tek kullanımlık nesnelerin ele alınmasıyla ilgilidir. Bkz. Http://msdn.microsoft.com/en-us/library/ms235315.aspx – morechilli

+15

Yönetilen C++ ve C++/CLI iki farklı canavardır. Yönetilen C++, gün ışığını hiç görmemesi gereken C++ 'ya çirkin bir uzantıdır. C++/CLI resmi olarak ayrı bir dildir, bu yüzden yeni anahtar kelimeler eklenebilir ve çalışmak çok daha iyidir. – Eclipse

0

bellek ayırma, yönetim, çöp toplama sanal makine tarafından ele olduğu anlamına gelir. Oysa "normal" C++ 'da bellek ayırmak ve tahsis etmek zorunda kalacaksınız.

9

"Yönetilen C++", Visual Studio.NET/VisualStudio.NET 2003'te bulunan bir dili ifade eder. En son .net C++ C++/CLI olmak üzere deprecated olmuştur. Yönetilen koddan bir yerli C++ sınıf kütüphanesi kullanmak istediğinizde

0

Sen yönetilen C++ kullanarak olacağım. Bu durumda yönetilmeyen C++ olanlara yönetilmeyen sınıflar sarın, sonra bunları herhangi bir CLR dilinde kullanın.

3

Yerel C++ kodunu iki farklı şekilde kodlayabilirsiniz. Birincisi, siz ve Platform (Donanım) arasındaki sadece işletim sistemi ile doğrudan makine kodunun derlenmesidir. İkinci yerel kodlama MFC (Microsoft Foundation Classes) ile yapılır. Bu, MFC'nin kullanılması dışında ilk örnekle aynıdır. C++ Yönetilen

CLR (Common Language Runtime) sınıf kitaplıkları .NET Framework oluşturan .net framework ile birlikte CLR kullanır. Bu yönetilen C++/CLI standardı, MSI (Microsoft Orta Dili) ile birlikte .Net çerçevesini kullanır. Bu standart, makine kodu sadece programın tam bir zaman derleyicisinin kullanımı ile yürütülürken eşleştirilmesiyle çalışır. Kodunuz farklı donanım platformlarında yayınlanıyorsa, yönetilen kod kullanımı çok daha kolay olacaktır. Her şeyde olduğu gibi, yerel kodun daha hızlı çalışacağı için kolaylık sağlamak için hafif bir fiyat vardır.

İlgili konular