คำถามติดแท็ก dll

6
ข้อดีของการใช้ไฟล์. dll ผ่านการเชื่อมโยงไฟล์. cs กับโปรเจ็กต์ (สำหรับคลาสตัวช่วย / วิธีการขยายทั่วไป)
ฉันมีโครงการตัวช่วยซึ่งฉันใช้ในแอปพลิเคชันทั้งหมดที่ฉันสร้าง มันมีวิธีการขยายและเรียนผู้ช่วยทั่วไปการควบคุม ฯลฯ ฉันอัปเดต / ขยายโครงการผู้ช่วยเป็นครั้งคราว เหล่านี้มักเป็นโครงการขนาดเล็กและไม่เกี่ยวข้องและฉันเป็นคนเดียวที่ทำงานกับพวกเขาทั้งหมด ฉันลองสองวิธีในการใช้ เพิ่มไฟล์. cs โดยตรง (เพิ่มลิงค์) ไปยังแต่ละโครงการที่ฉันใช้ รวบรวมเป็น. dll และเพิ่มเป็นข้อมูลอ้างอิง ฉันเห็นประโยชน์และข้อเสียของวิธีการเหล่านี้ คนแรก: นั้นง่ายกว่าเนื่องจากคลาสตัวช่วยได้รับการคอมไพล์เป็นไฟล์ exe ดังนั้นฉันมักจะสามารถให้ไฟล์. exe เพียงไฟล์เดียวที่ใช้งานได้ดี เนื่องจากฉันเพิ่มเป็นลิงก์ฉันจึงมั่นใจได้ว่าเมื่อใดก็ตามที่ฉันสร้างโครงการใด ๆ ที่ใช้ตัวช่วยเหลือไฟล์ผู้ช่วยเหลือจะเป็นเวอร์ชันล่าสุด ยิ่งง่ายขึ้นเพราะฉันสามารถแยกไฟล์เพื่อให้วิธีการขยายของฉันที่ทำงานได้ดีบน. NET 4.0 สามารถอ้างอิงแยกต่างหากจากวิธีที่ต้องใช้. NET 4.5 ซึ่งหมายความว่าแอปโดยรวมสามารถทำงานบน. NET 4.0 ได้ ช่วยให้การแก้จุดบกพร่องผ่านรหัสที่มีประโยชน์ทั้งหมดของเบรกพอยต์ ฯลฯ ฯลฯ ... ดูเหมือนจะไม่ใช่ 'การปฏิบัติที่ดีที่สุด' คนที่สอง: ดูเหมือนจะเป็นแนวทางที่ถูกต้อง แต่: ต้องการให้ฉันส่งไฟล์. dll แยกต่างหากซึ่งด้วยเหตุผลบางอย่างยากกว่าสำหรับผู้ใช้ (พวกเขามักจะแบ่งปันโปรแกรมของฉันโดยไม่ใช้. dll …
38 c#  dll 

10
C ++: การขาดมาตรฐานในระดับไบนารี
เหตุใด ISO / ANSI จึงไม่ได้มาตรฐาน C ++ ที่ระดับไบนารี มีปัญหาเรื่องความสะดวกในการพกพากับ C ++ ซึ่งเป็นเพราะขาดมาตรฐานในระดับไบนารีเท่านั้น Don Boxเขียน (อ้างจากหนังสือของเขาEssential COM , ตอนที่COM เป็น C ++ ที่ดีกว่า ) C ++ และการพกพา เมื่อตัดสินใจที่จะทำเพื่อแจกจ่ายคลาส c ++ เป็น DLL ที่หนึ่งจะต้องเผชิญกับหนึ่งในจุดอ่อนพื้นฐานของภาษา C ++ , ที่อยู่, ขาดมาตรฐานในระดับไบนารี แม้ว่ากระดาษทำงานฉบับร่าง ISO / ANSI C ++ พยายามที่จะประมวลผลว่าโปรแกรมใดจะรวบรวมและผลกระทบทางความหมายของการเรียกใช้จะเป็นอย่างไร ครั้งแรกที่ปัญหานี้จะเห็นได้ชัดคือเมื่อไคลเอ็นต์พยายามเชื่อมโยงกับไลบรารีนำเข้าของ FastString DLL จากสภาพแวดล้อมการพัฒนา C ++ …
14 c++  dll  ansi  iso 

2
การออกแบบ API ไลบรารี C ++
ฉันกำลังมองหาแหล่งข้อมูลที่ดีสำหรับการเรียนรู้เกี่ยวกับการออกแบบ API ที่ดีสำหรับไลบรารี C ++, การดูออบเจกต์ร่วม / dll เป็นต้นมีทรัพยากรมากมายในการเขียน API ที่ดี, คลาสที่ดี, เทมเพลตและอื่น ๆ ในระดับซอร์ส วางสิ่งต่าง ๆ เข้าด้วยกันใน libs และ executables ที่ใช้ร่วมกัน หนังสือเช่นการออกแบบซอฟต์แวร์ C ++ ขนาดใหญ่โดย John Lakos มีความน่าสนใจ แต่ล้าสมัยอย่างมาก สิ่งที่ฉันกำลังมองหาคือคำแนะนำเช่นในการจัดการแม่แบบ ด้วยเทมเพลตใน API ของฉันฉันมักจะจบลงด้วยรหัสห้องสมุดในแฟ้มที่ปฏิบัติการได้ของฉัน (หรือไลบรารีอื่น ๆ ) ดังนั้นถ้าฉันแก้ไขข้อบกพร่องที่นั่นฉันไม่สามารถเปิดไลบรารีใหม่ได้ แต่ต้องคอมไพล์ใหม่และแจกจ่ายลูกค้าทั้งหมดของรหัสนั้น (และใช่ฉันรู้วิธีแก้ปัญหาบางอย่างเช่นพยายามสร้างอินสแตนซ์ที่พบบ่อยที่สุดในห้องสมุดเป็นต้น) ฉันกำลังมองหาคำเตือนและข้อควรระวังอื่น ๆ เพื่อรักษาความเข้ากันได้ของไบนารีในขณะที่ทำงานกับไลบรารี C ++ มีเว็บไซต์หรือหนังสือที่ดีในเรื่องดังกล่าวหรือไม่?

5
เป็นไปได้หรือไม่ที่ DLLs สองตัวเกิดข้อขัดแย้งป้องกันไม่ให้โซลูชันสร้าง
แม้ว่าฉันจะมีกรณีเฉพาะ แต่ฉันก็สงสัยเกี่ยวกับสถานการณ์ทั่วไป สามารถเพิ่ม DLLs สองรายการเมื่ออ้างอิงกับโครงการ Visual C # ชนกันเพื่อป้องกันไม่ให้โซลูชันสร้างได้หรือไม่ หากเป็นกรณีนี้มีวิธีใดบ้างที่เป็นไปได้ที่จะบรรเทาปัญหานี้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.