লিনাক্স প্যাকেজ পরিচালকরা কীভাবে সি ++ ২০ টি মডিউল পরিচালনা করবেন?


12

আমরা এখন ২০২০ সালে আছি এবং দীর্ঘ প্রতীক্ষিত সি ++ মডিউল বৈশিষ্ট্য সহ সি ++ ২০ আসছে is তবে সিপিসন-তে কয়েকটি আলোচনা দেখার পরে আমি দেখতে পেলাম যে সি ++ মডিউলগুলি একটি অদ্ভুত স্থানে রয়েছে, বিশেষত লিনাক্স প্যাকেজ পরিচালকদের (প্যাকম্যান, অ্যাপ্ট, উত্থাপন, ইত্যাদি ...) জন্য)

আমি যা শিখেছি তা থেকে, সি ++ মডিউলগুলি

  1. সংকলক নির্ভর
    • আপনি ক্ল্যাংয়ে জিসিসি দ্বারা নির্মিত একটি মডিউল ব্যবহার করতে পারবেন না
    • জিসিসি 9.1 মডিউলগুলি জিসিসি 9.2 এ কাজ করবে না
  2. আপনার কাছে একই মডিউলটির বিভিন্ন সংস্করণ থাকতে পারে
    • যতক্ষণ না সেগুলি একই স্কোপে রফতানি করা হয়
  3. আপনার যদি কোনও মডিউল নির্ভরতা আপডেট করে তবে আপনাকে পুনরায় তৈরি করতে হবে

আমার সমস্যাটি হচ্ছে, সমস্ত রোলিং-রিলিজে ডিস্ট্রস সংকলকগুলি সর্বদা আপডেট হয় এবং ব্যবহারকারীর নিজস্ব সংকলক বিল্ড থাকতে পারে। বর্তমানে একজন কেবল সংকলক আপডেট করতে পারে বা আপডেটও করতে পারে libstdc++। মডিউলগুলির সাথে, মনে হয় libstdc++কম্পাইলার আপডেট হওয়ার সাথে সাথে আপডেট করতে হবে।

কম্পাইলার আপডেট হওয়ার সাথে সাথে প্যাকেজ ম্যানেজার কীভাবে আপডেটগুলি পরিচালনা করবে, উদাহরণস্বরূপ, এসটিএল? আমি মনে করি না যে সংকলকের প্রতিটি সংস্করণের জন্য এসটিএল মডিউলটির প্রতিটি সংস্করণ তৈরি করা সম্ভব। বা ব্যবহারকারী তাদের নিজস্ব এসটিএল মডিউলটি একটি ভাল ধারণা তৈরি করতে পারে না।


1
" আপনি ঝাঁকুনিতে জিসিসি দ্বারা নির্মিত মডিউলটি ব্যবহার করতে পারবেন না " আপনি ক্ল্যাংয়ে জিসিসি দ্বারা নির্মিত মডিউলটির সংকলিত ফলাফলগুলি ব্যবহার করতে পারবেন না ।
নিকল বোলাস

1
আমি সমস্যাটি ধরতে পারি না। পূর্বনির্ধারিত মডিউল ফাইলগুলি বিতরণ করা সম্ভব, তবে এটি আবশ্যক নয়। প্রতিটি ব্যবহারকারী প্রতিটি সংকলক / সংস্করণে একবার তাদের সংকলন করতে পারে এবং সব ঠিক আছে। যদি ডিস্ট্রো প্যাকেজ সেই প্রম্পম্পাইলযুক্ত ফাইলগুলি সরবরাহ করে তবে এটি কেবলমাত্র প্রতিটি সংকলনে বর্তমানে করি এমন একটি একক সংকলন সংরক্ষণ করে। প্রাকম্পম্পাইল মডিউলগুলি সরবরাহ করার সুবিধা কোথায়? সংকলনটি একবারে ডাউনলোড / ইনস্টল করতে আরও সময় নিতে পারে।
ক্লাউস

আপনি কোন ধরণের আনোয়ারকে কল্পনা করেন যা খাঁটি জল্পনা নয়?
এন। 'সর্বনাম' মি।

@ ক্লাউস অবিকল, কোনও লাভ নেই। তবে বেশিরভাগ অ্যাপ্লিকেশন দুটি ভাগে বিভক্ত। একটি ইন্টারফেস এবং মূল lib। সুতরাং লোকেরা মূল কার্যকারিতাটির সাথে সরাসরি যোগাযোগ করতে পারে। উদাহরণস্বরূপ yosys নিন। এটি libyosys এবং yosys মধ্যে থুতু হয়। যদি লাইবায়োসিস দ্রুত বিল্ডগুলির জন্য মডিউলগুলি ব্যবহার করার সিদ্ধান্ত নেয়, তবে প্রতিটি ব্যবহারকারী দ্বারা লাইবায়োসিস তৈরি করতে হবে। কার্যকরভাবে প্রতিটি প্যাকেজ ম্যানেজারকে এআউরে রূপান্তরিত করা বা উত্থিত।
মেরি চ্যাং

@ n.'pronouns'm। আমি আশা করছিলাম একটি প্যাকেজ ম্যানেজার বিকাশকারী প্রশ্নটি দেখবে এবং তারা কীভাবে সমস্যাটি সমাধান করছে তা ব্যাখ্যা করবে।
মেরি চ্যাং

উত্তর:


1

আপাতত (জানুয়ারী / 10/2020), মডিউল সিস্টেমটিকে শিরোনাম / lib বিতরণের পরিবর্তে প্রকল্পের অভ্যন্তরীণ বৈশিষ্ট্য হিসাবে বিবেচনা করা হয়। ক্ল্যাং সম্প্রদায়ের লোকেরা যেমন পরামর্শ দেয়, যদিও একটি সংকলক স্বতন্ত্র এএসটি ফর্ম তৈরির প্রস্তাব রয়েছে, তবে ক্ল্যাং বা জিসিসি বা মাইক্রোসফ্ট উভয়েরই এটি করার পরিকল্পনা নেই। সুতরাং আপনি সম্পর্কে অনুমান

আপনার কাছে একই মডিউলটির বিভিন্ন সংস্করণ থাকতে পারে

সঠিক এবং কিছু সময়ের জন্য স্থির রাখবে।

প্যাকেজ পরিচালনার প্ল্যাটফর্মের দিক হিসাবে, রেজোলিউশনটি এখনও অজানা, তবে যেহেতু মডিউল সিস্টেমটি একটি প্রকল্পের অভ্যন্তরীণ বৈশিষ্ট্য বেশি, সবচেয়ে খারাপ ক্ষেত্রে "শিরোনাম / lib" উপায়টি এখনও ঘটবে।

PS আমার মনে হয় স্ট্যাকওভারফ্লো এই জাতীয় প্রশ্নের জন্য ভাল জায়গা নয়, আপনি যদি সত্যিই উত্তর চান তবে এই মেল তালিকায় জিজ্ঞাসা করুন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.