Nasıl yapılır: Doğrulanabilir C++ projeleri oluşturma (C++/CLI)

Visual C++ uygulama sihirbazları doğrulanabilir projeler oluşturmaz.

Önemli

Visual Studio 2015 kullanım dışı bırakıldı ve Visual Studio 2017 doğrulanabilir projelerin /clr:pure ve /clr:safe oluşturulmasını desteklemez. Doğrulanabilir koda ihtiyacınız varsa kodunuzu C# olarak çevirmenizi öneririz.

Ancak, Microsoft C++ derleyici araç takımının /clr:pure ve /clr:safe sürümlerini destekleyen eski bir sürümünü kullanıyorsanız, projeler doğrulanabilir olacak şekilde dönüştürülebilir. Bu konuda, doğrulanabilir uygulamalar üretmek üzere Visual Studio C++ projelerinizi dönüştürmek için proje özelliklerini ayarlama ve proje kaynak dosyalarını değiştirme işlemleri açıklanmaktadır.

Derleyici ve bağlayıcı ayarları

Varsayılan olarak, .NET projeleri /clr derleyici bayrağını kullanır ve bağlayıcıyı hedef x86 donanımına göre yapılandırılır. Doğrulanabilir kod için /clr:safe bayrağını kullanmanız ve bağlayıcıya yerel makine yönergeleri yerine MSIL oluşturmasını belirtmeniz gerekir.

Derleyici ve bağlayıcı ayarlarını değiştirmek için

  1. Proje Özellik Sayfasını görüntüleyin. Daha fazla bilgi için bkz . Derleyici ve derleme özelliklerini ayarlama.

  2. Yapılandırma Özellikleri düğümü altındaki Genel sayfasında, Ortak Dil Çalışma Zamanı Desteği özelliğini Güvenli MSIL Ortak Dil Çalışma Zamanı Desteği (/clr:safe) olarak ayarlayın.

  3. Bağlayıcı düğümü altındaki Gelişmiş sayfasında CLR Görüntü Türü özelliğini Güvenli IL görüntüsünü zorla (/CLRIMAGETYPE:SAFE)olarak ayarlayın.

Yerel veri türlerini kaldırma

Yerel veri türleri doğrulanamadığından, aslında kullanılmasalar bile, yerel türler içeren tüm üst bilgi dosyalarını kaldırmanız gerekir.

Not

Aşağıdaki yordam Windows Forms Uygulaması (.NET) ve Konsol Uygulaması (.NET) projeleri için geçerlidir.

Yerel veri türlerine başvuruları kaldırmak için

  1. Stdafx.h dosyasındaki her şeyi açıklama satırına ekleyin.

Giriş noktasını yapılandırma

Doğrulanabilir uygulamalar C çalışma zamanı kitaplıklarını (CRT) kullanamadığından, ana işlevi standart giriş noktası olarak çağırmak için CRT'ye bağımlı olamazlar. Bu, başlangıçta bağlayıcıya çağrılacak işlevin adını açıkça belirtmeniz gerektiği anlamına gelir. (Bu durumda main() veya _tmain() yerine Main(), CRT olmayan bir giriş noktasını göstermek için kullanılır, ancak giriş noktasının açıkça belirtilmesi gerektiğinden bu ad rastgeledir.)

Not

Aşağıdaki yordamlar Konsol Uygulaması (.NET) projeleri için geçerlidir.

Giriş noktasını yapılandırmak için

  1. projenin ana .cpp dosyasında _tmain() öğesini Main() olarak değiştirin.

  2. Proje Özellik Sayfasını görüntüleyin. Daha fazla bilgi için bkz . Derleyici ve derleme özelliklerini ayarlama.

  3. Bağlayıcı düğümü altındaki Gelişmiş sayfasında Giriş NoktasıMaingirin.

Ayrıca bkz.