Firmamız uydu iletişimi için büyük ve çok karmaşık bir kaynak kodu satın alacaktır. C ++ 'da kodlanmıştır ve kodumuzu satın alınan kodla tek bir yürütülebilir üniteye bağlayarak, C ++' da da kod ekleyeceğiz.
Kulağa iyi geliyor!
Satın alınan kodu geliştirmek için kullanılan aynı derleyici ve aynı derleyici sürümünü kullanmamız gerekli mi?
Genel olarak konuşmak gerekirse, hayır gerekli değildir. C ++ 'ın amacı, bu tür şeyler üzerinde bir soyutlama olarak hareket etmektir, bu nedenle iyi yazılmış bir C ++ programı, orijinal yazarın yaptığı gibi aynı şekilde zinciriniz üzerinde derlenecek ve ortaya çıkan program aynı sonuca sahip olacaktır. Performans farklı olabilir, çünkü farklı derleyiciler farklı şeylerde iyidir, ancak programın temel davranışı değişmemelidir.
Ancak, kötü yazılmış yazılımlar uygulamaya özgü davranışlara ve hatta tanımlanmamış davranışlara dayanabilir. Yerleşik türler veya platformun endianitesi hakkında varsayımlar yapabilir. İyi yazılmış yazılımların bile, seçtiğiniz araç zincirinde bulunmayan standart dışı uzantılara güvenmekten başka seçeneği olmayabilir veya bu süre içinde taşınabilirlik katmanı eklemek için zaman harcamanıza gerek olmadığından orijinal proje.
Sonuçta, kaynak kodun ne için yazıldığını yazar / satıcıya sormanız gerekir. Visual Studio 2015'e özel olarak yazıldığını ve Windows API özellikleri gerektirdiğini iddia ederse, muhtemelen buna uymalısınız. Ancak taşınabilir, standart C ++ olduğunu iddia ederse, istediğiniz derleyiciyi kullanın. Satın alma sözleşmenizin, satıcının yalan söylediğinde ücretsiz yardım alabilmeniz için bir destek düzenlemesi içerdiğinden emin olun.
Satın alınan kodla aynı C ++ sürümünü kullanmamız gerekli mi? O 2014 kullanmıyorsa, biz belki bunun bazı özelliklerini kullanmak istiyorum, ancak farklı sürümleri karıştırma ile bazı sorunlar olabilir değilse.
Muhtemelen. Olabilir.
C ++ 03 çoğunlukla ileri uyumludur, bu nedenle kod C ++ 03 ise, bir sorun yaşama olasılığınız yoktur. (Yine de bazı ince ayarlar gerekebilir.)
Ancak C ++ 11 ve C ++ 14'te sunulan özellikler geriye dönük olarak uyumlu değildir, bu nedenle satıcı, örneğin C ++ 11 lambdas kullandıysa ve kodlarını bir C ++ 03 derleyicisinde oluşturmaya çalışırsanız, çalışmıyor.
Teorik olarak, elbette, özellikle dil versiyonunun önemli olmaması gerekir, ancak derleyicinin farklı versiyonlarının farklı nesne kodu üretmesi ve potansiyel olarak zamanlama farklılıklarına yol açması vb.
Kesinlikle. Kod, beklenen sonuçları elde etmek için belirli bir uygulamaya çok fazla güveniyorsa, o zaman sorumlu olmak ve sizi bilgilendirmek satıcıya bağlıdır. Gerçek dünyada yaşadığımız için çalışkan olmayı ve önce onlara sormanızı öneririm.
Ve başkalarının söylediklerini yankılayacağım: bir çeşit destek başvurusuna sahip olduğunuzdan emin olun, böylece bu sorulara verilen cevapları (kasıtlı veya başka türlü) yanlış beyan ettiyse, sonuçta ortaya çıkan maliyeti omuzlandırmazsınız.