কিভাবে pthread.h ব্যবহার করে এসি প্রোগ্রাম কম্পাইল করবেন?


14

আমি একজন শিক্ষানবিস এবং আমি উবুন্টুতে নতুন। আমি কেবল এটি ইনস্টল করেছি এবং একটি সি প্রোগ্রাম চালাতে চাই। কোন প্ল্যাটফর্মটি ব্যবহার করবেন বা কোডটি কোথায় লিখবেন সে সম্পর্কে আমার কোনও ধারণা নেই। প্রোগ্রামে আমার pthread.h হেডার ফাইলটি ব্যবহার করা দরকার। আমাকে কি কেউ সাহায্য করতে পারবেন?


উত্তর:


21

ব্যবহার করুন:

gcc MyProgram.c -o MyProgram -lpthread 

এবং আপনার কোডটিতে POSIX গ্রন্থাগারটি অন্তর্ভুক্ত করতে ভুলবেন না। এটি আপনার কোডটি সংকলন করবে।


2
ডিফল্টরূপে জিসিসি pthread লাইব্রেরি অন্তর্ভুক্ত করে না। সুতরাং আপনাকে lpthread আর্গুমেন্ট ব্যবহার করে লাইব্রেরি অন্তর্ভুক্ত করতে হবে।
পার্থিভ শাহ

এছাড়াও মনে রাখবেন যে gcc-4.8 এ কোনও -lpthreadযুক্তি নেই man gcc। তবে -pthreadতর্ক আছে। উভয়ই উবুন্টুতে জিসিসি-৪.৮ দিয়ে 14.04 এ সূক্ষ্মভাবে কাজ করে।
এলিজা লিন

1

আপনি যদি লিনাক্সে জিসিসি বা জি ++ ব্যবহার করে pthread.h দিয়ে একটি সি প্রোগ্রাম তৈরি করতে চলেছেন তবে আপনাকে কমপাইল কমান্ডের পরে thlpthread বিকল্পটি ব্যবহার করতে হবে ।

gcc xyz.c -o xyz -lpthread

এখানে,

জিসিসি কম্পাইলার কমান্ড (কম্পাইলার নাম) হয়
xyz.c একটি উৎস ফাইল নাম।
-o হ'ল অবজেক্ট ফাইল তৈরির একটি বিকল্প।
xyz হ'ল অবজেক্ট (বাইনারি) ফাইলের নাম।
-pthread.h এর জন্য -pthread একটি বিকল্প

আরও তথ্যের জন্য এখানে সম্পূর্ণ নিবন্ধটি সংলগ্ন লিঙ্কটি।
লিনাক্সে pthread.h সহ সি প্রোগ্রাম সংকলন।


0

সি / সি ++ প্রোগ্রামগুলি সংকলনের জন্য আপনাকে উবুন্টুতে প্রথমে যে জিনিসটি দরকার তা হ'ল জিসিসি (গুন্নু সংকলক সংগ্রহ) ইনস্টল করা যা build-essentialপ্যাকেজের অংশ , এটি চালিয়ে করুন:

sudo apt-get install build-essential

তারপরে আপনি এটি চালিয়ে ইনস্টল করে রেখেছেন কিনা তা পরীক্ষা করতে পারেন gcc। আপনি যদি এর মতো ত্রুটি দেখতে পান Fatal error: file not provided(সঠিক ত্রুটির বার্তাটি নিশ্চিত না হন তবে কিছু অনুরূপ হওয়া উচিত), এর অর্থ আপনার কাছে সংকলক প্রস্তুত রয়েছে।

এবং আপনার কোড সম্পাদনা করার জন্য, আপনি ইতিমধ্যে উপলব্ধ গেডিট ব্যবহার করতে পারেন , কেবল এটি ড্যাশটিতে অনুসন্ধান করুন।

এখন আপনার সি উত্স ফাইলটি সংকলনের সিনট্যাক্স নীচে দেওয়া হয়েছে, আপনার ফাইলটি যেখানে রয়েছে তা অনুসরণ করুন:

gcc MyProgram.c -o MyProgram

যেখানে, স্যুইচ -oisচ্ছিক, তবে বাইনারি ফাইলের নাম উল্লেখ করার জন্য সরবরাহ করা হয়েছে যা আপনার উত্স থেকে তৈরি হওয়া উচিত।

তারপরে ./MyProgramআপনার বাইনারি চালানোর জন্য কেবল চালান ।

মনে রাখবেন যে pthread.hআপনি উল্লেখ করেছেন (পসিক্স থ্রেড) জিসিসির সাথে ডিফল্টরূপে উপলব্ধ হওয়া উচিত, সুতরাং এটি আপনার সি ফাইলে অন্তর্ভুক্ত করা সেই কাজটি করবে, যদি এটি উপলব্ধ না হয় তবে একটি সাধারণ গুগল অনুসন্ধানে সহায়তা করা উচিত। ;)

হালনাগাদ

খুব দীর্ঘ, পড়া হয়নি? এটি পরীক্ষা করুন । : ডি


0

এটি যদি ত্রুটি দেয় তবে আপনি যেমন প্যারামিটারগুলি পৃথক করে একই কমান্ডটি চেষ্টা করতে পারেন

gcc -lpthread -o output_file program_pthread.c

এর পরে ./output_fileপ্রোগ্রামটির জন্য আউটপুট সরবরাহ করা program_pthread.cহয় এবং এখানে আপনি প্রয়োগ করেছেন pthread প্রোগ্রাম।


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