บริษัท ของเราจะซื้อซอร์สโค้ดขนาดใหญ่และซับซ้อนมากสำหรับการสื่อสารผ่านดาวเทียม มันถูกเข้ารหัสใน C ++ และเราจะใส่รหัสเพิ่มเติมเข้าไปใน C ++ เชื่อมโยงรหัสของเรากับรหัสที่ซื้อไปยังหน่วยที่ปฏิบัติการได้เพียงหน่วยเดียว
ฟังดูเข้าท่า!
จำเป็นหรือไม่ที่เราจะใช้คอมไพเลอร์รุ่นเดียวกันและคอมไพเลอร์รุ่นเดียวกันกับที่ใช้ในการพัฒนารหัสที่ซื้อมา?
พูดโดยทั่วไปไม่จำเป็น วัตถุประสงค์ของ C ++ คือการทำตัวเป็นนามธรรมของสิ่งเหล่านี้ดังนั้นโปรแกรม C ++ ที่เขียนขึ้นอย่างดีจะคอมไพล์เช่นเดียวกับ toolchain ของคุณเช่นเดียวกับที่เขียนบนต้นฉบับของผู้เขียนและโปรแกรมผลลัพธ์จะมีผลลัพธ์เหมือนกัน ประสิทธิภาพอาจแตกต่างกันเนื่องจากคอมไพเลอร์ต่าง ๆ มีข้อดีและข้อเสียต่างกัน แต่พฤติกรรมพื้นฐานของโปรแกรมไม่ควรเปลี่ยนแปลง
อย่างไรก็ตามซอฟต์แวร์ที่เขียนไม่ดีอาจขึ้นอยู่กับพฤติกรรมการใช้งานเฉพาะหรือพฤติกรรมที่ไม่ได้กำหนด มันอาจทำให้สมมติฐานเกี่ยวกับประเภทในตัวหรือเกี่ยวกับ endianness ของแพลตฟอร์ม แม้แต่ซอฟต์แวร์ที่เขียนดีอาจไม่มีทางเลือกอื่นนอกจากพึ่งพาส่วนขยายที่ไม่ได้มาตรฐานซึ่งไม่มีใน toolchain ที่คุณเลือกหรืออาจทำได้เนื่องจากไม่จำเป็นต้องใช้เวลาในการเพิ่มเลเยอร์การพกพาภายในระยะเวลา โครงการเดิม
ในที่สุดคุณจะต้องถามผู้แต่ง / ผู้ขายว่าซอร์สโค้ดเขียนไว้สำหรับอะไร หากพวกเขาอ้างว่าเขียนขึ้นโดยเฉพาะเจาะจงเช่นพูดว่า Visual Studio 2015 และต้องการคุณสมบัติ Windows API คุณก็ควรจะทำเช่นนั้น แต่ถ้าพวกเขาอ้างว่ามันเป็นอุปกรณ์พกพามาตรฐาน C ++ ให้ใช้คอมไพเลอร์ที่คุณชอบ ตรวจสอบให้แน่ใจว่าข้อตกลงการซื้อของคุณมีข้อตกลงการสนับสนุนเพื่อให้คุณสามารถรับความช่วยเหลือได้ฟรีเมื่อผู้ขายโกหก
จำเป็นหรือไม่ที่เราจะต้องใช้ C ++ รุ่นเดียวกันกับรหัสที่ซื้อมา? หากไม่ได้ใช้ 2014 เราอาจต้องการใช้คุณสมบัติบางอย่างของมัน แต่ไม่ใช่หากมีปัญหากับการผสมเวอร์ชันที่แตกต่างกัน
อาจ. อาจจะ.
C ++ 03 รองรับการส่งต่อส่วนใหญ่ดังนั้นหากรหัสคือ C ++ 03 แสดงว่าคุณไม่มีปัญหา (แม้ว่าอาจต้องปรับแต่งบางอย่าง)
แต่ฟีเจอร์ที่แนะนำใน C ++ 11 และ C ++ 14 นั้นไม่เข้ากันได้แบบย้อนหลังดังนั้นหากผู้ขายใช้พูด lambdas C ++ 11 และคุณพยายามสร้างรหัสของพวกเขาในคอมไพเลอร์ C ++ 03 ที่เพิ่งชนะ ไม่ทำงาน
แน่นอนว่าในทางทฤษฎีมันไม่ควรมีความสำคัญโดยเฉพาะอย่างยิ่งรุ่นภาษา แต่เป็นไปได้ว่าคอมไพเลอร์รุ่นต่าง ๆ จะสร้างรหัสวัตถุที่แตกต่างกันซึ่งอาจนำไปสู่ความแตกต่างของเวลาเป็นต้น
อย่างแน่นอน หากรหัสนั้นขึ้นอยู่กับการใช้งานเฉพาะอย่างมากเพื่อให้ได้ผลลัพธ์ที่คาดหวังมันขึ้นอยู่กับผู้ขายที่จะรับผิดชอบและแจ้งให้คุณทราบ เนื่องจากเราอยู่ในโลกแห่งความจริงฉันขอแนะนำให้ขยันและถามพวกเขาก่อน
และฉันจะสะท้อนสิ่งที่คนอื่นพูด: ให้แน่ใจว่าคุณมีการขอความช่วยเหลือบางประเภทดังนั้นหากพวกเขาบิดเบือนการตอบสนองต่อคำถามเหล่านี้อย่างผิด ๆ (ไม่ว่าจะโดยเจตนาหรืออย่างอื่น) คุณจะไม่ต้องแบกรับต้นทุนที่เกิดขึ้น