Score:3

การคอมไพล์ซอร์สโค้ดจะสร้างไฟล์ที่ใหญ่ขึ้นเมื่อเปรียบเทียบกับแพ็คเกจที่สร้างไว้ล่วงหน้าของ Ubuntu ทำไม?

ธง se

ฉันทำอะไรผิดหรือเปล่า? ฉันกำลังสร้างไลบรารีจากซอร์สโค้ด แต่ขนาดไฟล์ใหญ่กว่ามากเมื่อเปรียบเทียบกับแพ็คเกจ w/ Ubuntu นี่คือตัวอย่าง

https://github.com/linuxwacom/libwacom สร้างด้วยการกำหนดค่า; make สร้าง libwacom.so.2.6.1 (149,1 kB) และไฟล์เดียวกันใน /usr/lib มีเพียง 41,8 kB ฉันถือว่าเวอร์ชันดีบักมาพร้อมกับ postfix 'd' ฉันพูดถูก - เกิดอะไรขึ้นที่นี่ ต้า.

Knud Larsen avatar
by flag
ง่าย ๆ : `$ strip libwacom.so.2.6.1` .... หรือติดตั้งด้วย `make install-strip` หากมี "ตัวเลือก make" นี้
Score:9
ธง pk

ไลบรารีที่ใช้ร่วมกันถูกปล้น (ด้วย dh_strip ในกฎการสร้างแพ็คเกจซึ่งจะใช้ไฟล์ แถบ command) เมื่อแพ็คเกจถูกสร้างขึ้น และ Link Time Optimization (LTO) จะถูกปิดใช้งานด้วย

คุณสามารถดูซอร์สโค้ดสำหรับวิธีสร้างแพ็คเกจนี้ บน Launchpad. คุณยังสามารถดูซอร์สโค้ดสำหรับ dh_strip สำหรับข้อมูลเพิ่มเติม.

Fantastic Mr. Fox avatar
se flag
ขอบคุณมาก. คำสั่งสำหรับการแยกไฟล์ไบนารี (exec) ทั้งหมดใน /usr/locale พร้อมกันคืออะไร
galexite avatar
pk flag
ฉันเดาว่า `find /usr/local/lib -type f -regex '*.\.(a|so)$' -exec strip \{} \;` นั่นจะ (หวังว่าจะ) ตัดไลบรารีแบบสแตติกและไดนามิกทั้งหมดใน `/usr/local/lib`

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา