আমি বর্তমানে একটি সি অ্যাপ্লিকেশন পোর্ট করার চেষ্টা করছি এআইএক্সে করছি এবং বিভ্রান্ত হয়ে পড়ছি। .A এবং .so ফাইলগুলি কী এবং অ্যাপ্লিকেশন তৈরি / চালানোর সময় সেগুলি কীভাবে ব্যবহার করা হয়?
আমি বর্তমানে একটি সি অ্যাপ্লিকেশন পোর্ট করার চেষ্টা করছি এআইএক্সে করছি এবং বিভ্রান্ত হয়ে পড়ছি। .A এবং .so ফাইলগুলি কী এবং অ্যাপ্লিকেশন তৈরি / চালানোর সময় সেগুলি কীভাবে ব্যবহার করা হয়?
উত্তর:
সংরক্ষণাগার গ্রন্থাগারগুলি (.a) স্থিতিযুক্তভাবে সংযুক্ত থাকে যখন আপনি যখন সিসি সি-তে আপনার প্রোগ্রামটি সংকলন করেন তখন ile সুতরাং, লাইব্রেরিতে যদি কোনও পরিবর্তন হয়, আপনাকে আপনার কোডটি আবার সংকলন এবং তৈরি করতে হবে।
.A লাইব্রেরির উপর .so (ভাগ করা অবজেক্ট) এর সুবিধাটি হ'ল এগুলি রানটাইমের সময় অর্থাৎ জি সি সি তে আপনার .o ফাইল -o অপশন তৈরির পরে লিঙ্কযুক্ত। সুতরাং, .so ফাইলে যদি কোনও পরিবর্তন হয়, আপনার আপনার মূল প্রোগ্রামটি পুনরায় সংকলনের দরকার নেই। তবে নিশ্চিত হয়ে নিন যে আপনার মূল প্রোগ্রামটি ln কমান্ডের সাথে নতুন .so ফাইলের সাথে সংযুক্ত রয়েছে।
এটি আপনাকে .so ফাইলগুলি তৈরি করতে সহায়তা করবে। http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
আশাকরি এটা সাহায্য করবে.
pic
(অবস্থান স্বাধীন কোড) সম্পর্কিত?
.এ স্ট্যাটিক লাইব্রেরি হয়। আপনি যদি সেগুলির মধ্যে সঞ্চিত কোড ব্যবহার করেন তবে এটি সেগুলি থেকে নেওয়া হয়েছে এবং আপনার নিজের বাইনারিতে এমবেড করা আছে। ভিজ্যুয়াল স্টুডিওতে এগুলি .lib ফাইল হবে।
.so গতিশীল লাইব্রেরি হয়। আপনি যদি সেগুলির মধ্যে সঞ্চিত কোড ব্যবহার করেন তবে এটি নেওয়া হয় না এবং আপনার নিজের বাইনারিতে এম্বেড থাকে। পরিবর্তে এটি কেবল রেফারেন্সড, সুতরাং বাইনারি তাদের উপর নির্ভর করবে এবং তাই ফাইলের কোডটি রানটাইম এ যুক্ত / লোড করা হবে। ভিজ্যুয়াল স্টুডিও / উইন্ডোজ এ এগুলি .dll ফাইল (লিঙ্ক সম্পর্কিত তথ্যযুক্ত ছোট .lib ফাইল সহ) থাকবে।
.lib
ফাইলকে .dll
আমদানি গ্রন্থাগার বলা হয়।
.a ফাইলগুলি সাধারণত লাইব্রেরি হয় যা স্থিরভাবে সংযুক্ত হয় (বা আরও সঠিকভাবে সংরক্ষণাগারগুলি), এবং
.so গতিশীল লিঙ্কযুক্ত লাইব্রেরি হয়।
একটি বন্দর করতে আপনার উত্স কোড যা আপনার তৈরি করতে সংকলিত হয়েছিল, বা আপনার এআইএক্স মেশিনে সমতুল্য ফাইলের প্রয়োজন হবে।
এগুলি সংযোগের পর্যায়ে ব্যবহৃত হয়। .a
ফাইলগুলি স্থিতিশীলভাবে সংযুক্ত থাকে এবং .so
ফাইলগুলি সংযুক্ত-এর সাথে সংযুক্ত থাকে, যাতে আপনি যখনই এক্সপি চালাবেন তখন গ্রন্থাগারের প্রয়োজন হয়।
যে কোনও লিবিব ডিরেক্টরি দেখতে গিয়ে সেগুলি কোথায় সংরক্ষণ করা হয়েছে তা খুঁজে পেতে পারেন ... /usr/lib
এবং এর /lib
বেশিরভাগ রয়েছে এবং LIBRARY_PATH
পরিবেশের পরিবর্তনশীলও রয়েছে।
উইকিপিডিয়া এই তথ্যের জন্য একটি শালীন উত্স।
স্ট্যাটিক লাইব্রেরি ফাইলগুলি শিখতে যেমন .a স্ট্যাটিক লাইবারারি পড়ুন
ভাগ করে নেওয়া লাইব্রেরি ফাইলগুলি সম্পর্কে জানার জন্য লাইব্রেরি_ (কম্পিউটিং) পড়ুন #Shared_libraries এই পৃষ্ঠায়, ফাইল নামকরণ বিভাগেও দরকারী তথ্য রয়েছে ।
a
rchive এবং অন্যটিs
haredo
bject