Aracılığıyla paylaş


UNIX'ten Win32'ye Bağlantı Noktası Oluşturma

Uygulamaları UNIX'ten Windows'a geçirilirken, birkaç seçeneğiniz vardır:

  • UNIX'ten Win32'ye bağlantı noktası uygulamaları için UNIX kitaplıklarını kullanma

  • Uygulamaları UNIX'ten Win32'ye yerel olarak taşıma

  • POSIX alt sistemini kullanarak UNIX uygulamalarını Windows üzerinde çalıştırma

UNIX kitaplıkları

UNIX programcılarına ilişkin bir seçenek de UNIX kodunun Win32 yürütülebilir dosyasını derlemesini sağlamak için üçüncü taraf UNIX benzeri kitaplıklar kullanmaktır.Çeşitli ticari (ve en az bir ortak etki alanı) kitaplıklar bunu yapar.Bu, bazı uygulamalar için bir seçenektir.Bu taşıma kitaplıklarının avantajı, başlangıç taşıma çabasını en aza indirmeleridir.Rekabetçi bir yazılım ürünü için temel dezavantaj bir uygulamanın yerel Win32 bağlantı noktasının genellikle daha hızlı ve kaçınılmaz olarak daha işlevsel olacak olmasıdır.Windows'tan daha fazla güç almak için Win32 çağrıları yapması gerektiğinde UNIX kabuğunun dışına çıkması bir uygulama için garip olabilir.

Aşağıdaki liste Visual C++'ya UNIX geçişi bağlantı noktası oluşturmak ve sağlamak için Microsoft ve üçüncü tarafların kaynaklarını sağlar:

y23kc048.collapse_all(tr-tr,VS.110).gifUNIX Geçiş Kılavuzları

UNIX Özel Uygulama Geçiş Kılavuzu, UNIX uygulamasından Win32 ortamına teknik yardım sağlar.

https://go.microsoft.com/fwlink/?LinkId=95428

Unix Geçişi Proje Kılavuzu, önemli projeleri UNIX öğesinden Win32 öğesine geçirmek yoluyla yüksek düzeyde yardım sağlayarak UNIX Özel Uygulama Geçiş Kılavuzunu tamamlar.Kılavuz her proje geçiş aşamasında dikkate alınacak konular hakkında tavsiyeler sağlar.Kılavuz şuradan indirilebilir:

https://go.microsoft.com/fwlink/?linkid=20012

y23kc048.collapse_all(tr-tr,VS.110).gifMicrosoft Windows Services for UNIX (SFU)

Microsoft Windows Services for UNIX (SFU), Windows’u varolan UNIX tabanlı ortamlarla bütünleştirmek için geniş çaplı çapraz platform hizmetleri sunar.UNIX hizmetleri, dosya paylaşımı, uzaktan erişim ve yönetim, parola eşitleme, ortak dizin yönetimi, ortak araçlar kümesi ve bir kabuk sağlar.

Windows Services for UNIX

y23kc048.collapse_all(tr-tr,VS.110).gifInteropSystems.com

http://www.interopsystems.com/

UNIX'ten Win32'ye bağlantı noktası oluşturma destekli yazılım sağlayan bir şirketin üçüncü taraf sitesi.

y23kc048.collapse_all(tr-tr,VS.110).gifC++ Destek Web Sitesi

http://boost.sourceforge.net/regression-logs/

http://boost.sourceforge.net/boost-build2/

UNIX uygulamalarını doğrudan Win32'ye taşıma

Başka bir seçenek de, UNIX uygulamalarını doğrudan Win32'ye taşımaktır.ANSI C/C++ kitaplıkları ve ticari C derleyicisi kitaplıkları kullanmak, UNIX uygulamalarla iletilen bir çok geleneksel sistem çağrıları Win32 uygulamalarında kullanılabilir.

stdio tabanlı uygulamaların çıktı modelinin değiştirilmesi gerekmez çünkü Win32 konsol API'ları stdio modelini ve Win32 konsol API'lerini kullanan mevcut curses sürümlerini taklit eder.Daha fazla bilgi için bkz. SetConsoleCursorPosition.

Berkeley soket tabanlı uygulamaları Win32 uygulamaları olarak çalışmak için çok az değişiklik gerektirir.Windows Sockets arabirimi, Winsock belirtiminin tanıtıcı bölümlerinde belirtilen çok ufak değişikliklerle, BSD soketleriyle taşınabilmek için tasarlanmıştır.

Windows, DCE uyumlu RPC'yi destekler, bu nedenle RPC tabanlı uygulamalar kolaylıkla kullanılabilir.Bkz. RPC İşlevleri.

En büyük fark alanlarından biri de işlem modelidir.UNIX çatal'a sahiptir; Win32 değildir.Çatal ve kod tabanına bağlı olarak, Win32 kullanılabilecek iki adet API'ya sahiptir: CreateProcess ve CreateThread.Kendine ait birden çok kopyasını bölen bir UNIX uygulaması, Win32'de birden çok işlem veya çok iş parçacıklı tek bir işlem bulunduracak şekilde değiştirilebilir.Birden çok işlem kullanılıyorsa, işlemler arasında iletişim kurmak için kullanılabilecek birden çok IPC yöntemi vardır (ve belki de, çatal tarafından sağlanan işlevsellik gerekliyse, yeni işlemin kod ve verisi üst öğe gibi olması için güncelleştirilmelidir).IPC hakkında daha fazla bilgi için bkz. Ara İşlem İletişimleri.

Windows ve UNIX grafik modelleri çok farklıdır.Windows GDI kullanırken UNIX X Window System GUI kullanır.Kavramsal olarak benzer olmalarına rağmen X API'den GDI API'ye basit bir eşleşme yoktur.Ancak, UNIX OpenGL tabanlı uygulamalarına geçirme için OpenGL desteği kullanılabilir.Ve Windows için X istemci ile X sunucu vardır.GDI hakkında bilgi için bkz. Cihaz İçerikleri.

Birçok CGI uygulaması dahil temel UNIX uygulamaları Windows'ta çalışan Visual C++'ye kolayca aktarılabilir.açfopen, oku, yaz gibi işlevler ve diğerleri Visual C++ çalışma zamanı kitaplığında mevcuttur.Ayrıca, C UNIX API'ları ve Win32 API'ları arasında bire bir eşleşme bulunur: CreateFile için , ReadFile için oku, WriteFile için yaz, DeviceIOControl için ioctl, CloseFile için kapat vb.

Windows POSIX alt sistemi

UNIX programcılarının baktığı başka bir seçenek de, Windows POSIX alt sistemidir.Ancak, yalnızca Windows NT oluşturulduğunda standartlaştırılmış tek POSIX sürümü olan POSIX 1003.1 destekler.O zamandan beri çoğu uygulama Win32'ye dönüştürüldüğünden bu alt sistemi genişletmek için çok az talep olmuştur.1003.1 sistemi, birçok yeteneği içermediği için (1003.2'de olanlar, ağ desteği, vb.), tam tanıtılan uygulamalar için sınırlı ilgi çeker.Windows POSIX alt sistemi altında çalışan tam özellikli uygulamaların, Win32 uygulamalarının kullanabildiği, bellek eşlemeli dosyalar, ağ ve grafikler gibi Windows özelliklerine erişimi yoktur.VI, LS ve GREP gibi uygulamalar, Windows POSIX alt sisteminin ana hedefleridir.

Ayrıca bkz.

Başvuru

UNIX

Kavramlar

Kesmesi kuralları

Diğer Kaynaklar

Bağlantı Noktası Oluşturma ve Programları Yükseltme