คำถามติดแท็ก shared-libraries

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

5
จะสร้างไลบรารีของคุณเองสำหรับการพัฒนา Android เพื่อใช้ในทุกโปรแกรมที่คุณเขียนได้อย่างไร?
ฉันเป็นโปรแกรมเมอร์เดลฟีและได้เขียนคลาสและกิจวัตรหลายร้อยรายการที่ฉันสามารถใช้ในโปรแกรมเดลฟีทุกโปรแกรมที่ฉันเขียนมาตลอดหลายปี นี้ห้องสมุดที่เรียกว่า dlib และสามารถนำมาใช้ในทุกโปรแกรม Delphiโดยการวางโฟลเดอร์นี้ในเส้นทางห้องสมุดของฉันและการใช้หนึ่งในหน่วยงานในส่วนของการใช้ประโยชน์จากหน่วยเดลฟาย เนื่องจากเป็นผลิตภัณฑ์ใหม่สำหรับการพัฒนา Java และ Android ฉันสงสัยว่าจะทำเช่นนี้ได้อย่างไร ดังนั้นคำถามของฉันฉันจะเขียนคลาสของตัวเองใส่ไว้ในโฟลเดอร์ส่วนกลางและใช้คลาสและกิจวัตรเหล่านี้ในโปรแกรม Android ทุกโปรแกรมที่ฉันเขียนได้อย่างไร ฉันรู้ว่านี่เป็นคำถามพื้นฐานซึ่งฉันอาจจะหาได้จากการค้นหาใน Google และลองใช้ใน Eclipse แต่ถ้าใครสักคนสามารถทำให้ฉันถูกทางฉันรู้ว่าฉันจะประหยัดเวลาได้มาก ขอบคุณ.

7
C / C ++ พร้อม GCC: เพิ่มไฟล์ทรัพยากรลงในไฟล์ปฏิบัติการ / ไลบรารีแบบคงที่
ใครมีความคิดที่จะรวบรวมไฟล์ทรัพยากรใด ๆ แบบคงที่ในไฟล์ปฏิบัติการหรือไฟล์ไลบรารีที่แชร์โดยใช้ GCC ตัวอย่างเช่นฉันต้องการเพิ่มไฟล์รูปภาพที่ไม่มีวันเปลี่ยนแปลง (และถ้าเป็นเช่นนั้นฉันก็ต้องแทนที่ไฟล์อยู่ดี) และไม่ต้องการให้พวกเขาอยู่ในระบบไฟล์ ถ้าเป็นไปได้ (และฉันคิดว่าเป็นเพราะ Visual C ++ สำหรับ Windows ก็ทำได้เช่นกัน) ฉันจะโหลดไฟล์ที่เก็บไว้ในไบนารีของตัวเองได้อย่างไร? ไฟล์ปฏิบัติการแยกวิเคราะห์ค้นหาไฟล์และดึงข้อมูลออกมาหรือไม่ อาจมีตัวเลือกสำหรับ GCC ที่ฉันยังไม่เคยเห็น การใช้เครื่องมือค้นหาไม่ได้คายสิ่งที่ถูกต้องออกไป ฉันต้องการสิ่งนี้เพื่อใช้กับไลบรารีที่ใช้ร่วมกันและไฟล์ปฏิบัติการ ELF ปกติ ขอความช่วยเหลือใด ๆ

1
ความแตกต่างระหว่าง -rpath และ -L คืออะไร?
gccและldมีหลายวิธีในการระบุเส้นทางการค้นหาสำหรับไลบรารี - ระหว่างนั้น-rpathและ-Lแฟล็ก การจัดการไม่เปิดเผยความแตกต่างระหว่างแฟล็กทั้งสองนี้อย่างมีประสิทธิภาพโดยบอกว่าแต่ละแฟล็กจะเพิ่มไลบรารีไปยังพา ธ การค้นหาไลบรารี แต่ก็ดูแปลกที่ธงทั้งสองทำเหมือนกันทุกประการ อะไรคือความแตกต่างระหว่างสองตัวเลือกนี้?


11
INSTALL_FAILED_MISSING_SHARED_LIBRARY เกิดข้อผิดพลาดใน Android
เมื่อฉันพยายามเรียกใช้แอปพลิเคชัน Android ที่ใช้ Google API ฉันได้รับข้อผิดพลาดต่อไปนี้ [2009-07-11 11:46:43 - FirstMapView] ข้อผิดพลาดในการติดตั้ง: INSTALL_FAILED_MISSING_SHARED_LIBRARY [2009-07-11 11:46:43 - FirstMapView] โปรดตรวจสอบเอาต์พุต logcat สำหรับรายละเอียดเพิ่มเติม [2009-07-11 11:46:44 - FirstMapView] ยกเลิกการเปิดตัวแล้ว! ใครสามารถช่วยฉันแก้ไขข้อผิดพลาดนี้

1
MATLAB ไม่ยกเลิกการโหลดไฟล์ MEX หลังจากอัปเกรดเป็น macOS Mojave
ใน MATLAB ให้clear mexยกเลิกการโหลดไฟล์ MEX ทั้งหมดจากหน่วยความจำ (เว้นแต่ว่าพวกเขาจะถูกล็อค) ภายใต้ macOS เวอร์ชันก่อนหน้าฉันสามารถคอมไพล์ไฟล์ MEX อีกครั้งและรันเวอร์ชันที่แก้ไขโดยไม่ต้องรีสตาร์ท MATLAB เพียงแค่ออกclear mexคำสั่ง สิ่งนี้ไม่สามารถทำได้ใน Mojave อีกต่อไป ตัวอย่างเช่นใช้ไฟล์ MEX เล็กน้อย ( get_data_pointer.c): #include "mex.h" void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[] ) { plhs[0] = mxCreateNumericMatrix(1, 1, mxUINT64_CLASS, mxREAL); *(uint64_t*)mxGetData(plhs[0]) = (uint64_t)mxGetData(prhs[0]); } เราสามารถสร้างไฟล์ MEX …

5
การเชื่อมโยงแบบไดนามิก - Vs Linux ของ windows
ใน Windows เมื่อฉันรวบรวมรหัส C / C ++ ในโครงการ DLL ใน MSVC ฉันได้รับ 2 ไฟล์: MyDll.dll MyDll.lib ที่เท่าที่ฉันเข้าใจMyDll.libมีชนิดของตารางตัวชี้ที่ระบุตำแหน่งฟังก์ชั่นใน dll เมื่อใช้ dll นี้พูดในไฟล์ exe MyDll.libจะถูกฝังลงในไฟล์ exe ในระหว่างการเชื่อมโยงดังนั้นในขณะรันไทม์มัน "รู้" ซึ่งฟังก์ชั่นตั้งอยู่ในMyDll.dllและสามารถใช้งานได้ แต่ถ้าฉันรวบรวมรหัสเดียวกันภายใต้ Linux ฉันได้รับเพียงไฟล์เดียวMySo.soโดยไม่ MySo.a(เทียบเท่ากับlibไฟล์ใน Linux) ดังนั้นไฟล์ปฏิบัติการภายใต้ Linux รู้ได้อย่างไรว่าฟังก์ชั่นตั้งอยู่ที่ไหนMySo.soถ้าไม่มีอะไรฝังอยู่ในระหว่างการเชื่อมโยง?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.