ম্যাথ h ব্যবহার করে এমন একটি সি প্রোগ্রাম কিভাবে সংকলন করবেন?


15

আমি গণিতের শিরোনাম ফাইলে এবং যখন আমি বর্গক্ষেত্র হিসাবে ফাংশনটি ব্যবহার করি তখন সমস্যা হয় sqrt(d)। তবে আমার সংকলক এটি সমর্থন করছে না। এই সমস্যা সম্পর্কে আমাকে পরামর্শ দিন।

আমার উবুন্টু সংস্করণটি ২০১২।


2
আমরা যখন প্রোগ্রামিং প্রশ্নগুলি পছন্দ করি - প্রশ্নটি অবশ্যই উবুন্টুর সাথে সম্পর্কিত - আপনি এখানে সমস্যাটি কী কী - বিশদ উদাহরণ ইত্যাদি বিস্তারিতভাবে বলতে পারেন?
ফসফ্রিডম

এটি স্কয়ার্ট ((x2-x1) * (x2-x1) + (y2-y1) * (y2-y1)) এর মতো ... আমার সংকলক এই আদেশটি সমর্থন করছে না
shreya

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

1
@ শ্রেয়া আপনার লেখা কোড সম্পর্কিত সমস্যা সম্পর্কিত প্রশ্নগুলিতে অবশ্যই নির্দিষ্ট সমস্যাটি বর্ণনা করতে হবে - এবং এটিকে পুনরুত্পাদন করার জন্য বৈধ কোড অন্তর্ভুক্ত করতে হবে - প্রশ্নটিতেই। দেখুন SSCCE.org নির্দেশিকা জন্য।
ব্রায়াম

4
আমি সত্যিই এটি অফ-বিষয় বলে মনে করি না। উইন্ডোজের মতো আরও অনেক ওএস-তে, সি প্রোগ্রামগুলিতে গণিতের গ্রন্থাগারটি ব্যবহার করার জন্য একটি বিশেষ লিঙ্কার বিকল্পটি পাস করা অপ্রয়োজনীয়। এমনকি কিছু ইউনিক্স-মতো অপারেটিং সিস্টেমে স্ট্যান্ডার্ড সি লাইব্রেরি প্রয়োগের জন্য এটির প্রয়োজন হয় না। উবুন্টুর মতো জিএনইউ / লিনাক্স সিস্টেমে স্যুইচ করার সময় অনেক ব্যবহারকারী এটিই একটি সমস্যার মুখোমুখি হন। আমি আশা করি নির্দিষ্ট ত্রুটিটি অন্তর্ভুক্ত করার জন্য প্রশ্নটি আরও ভালভাবে লেখা হয়েছিল - যদি আমরা এই বিষয়টিকে বিবেচনা করে শেষ করি তবে আমাদের এটি সম্পাদনা করা উচিত - তবে এটি কোনও সাধারণ সি প্রোগ্রামিং প্রশ্ন নয়, এটি gccউবুন্টুতে কীভাবে ব্যবহার করবেন সে সম্পর্কে একটি প্রশ্ন ।
এলিয়াহ

উত্তর:


25

-lmআপনার gccকমান্ডের শেষে যুক্ত করুন ।

উবুন্টুর মতো জিএনইউ / লিনাক্স সিস্টেমে জিসিসির সমস্ত সাম্প্রতিক সংস্করণগুলির সাথে, আপনি যখন গণিতের লাইব্রেরি ব্যবহার করেন, আপনাকে অবশ্যই এটির সাথে লিঙ্ক করতে হবে। এটি স্ট্যান্ডার্ড সি লাইব্রেরির বাকি অংশের সাথে স্বয়ংক্রিয়ভাবে লিঙ্কযুক্ত নয়।

আপনি যদি কমান্ড-লাইনে gccবা g++কমান্ডের সাথে সংকলন করে থাকেন , আপনি কমান্ডের শেষে রেখে-lm এটি সম্পাদন করতে পারেন ।

উদাহরণ স্বরূপ: gcc -o foo foo.c -lm


5

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

gcc xyz.c -o xyz -lm

এখানে,

জিসিসি কম্পাইলার কমান্ড (কম্পাইলার নাম) হয়
xyz.c একটি উৎস ফাইল নাম।
-o আউটপুট ফাইল নির্দিষ্ট করার জন্য একটি বিকল্প।
xyz আউটপুট ফাইলের নাম।
যাও- lm গণিত লাইব্রেরী (againt লিঙ্কে একটি বিকল্পের libm )।

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


লিঙ্কিং কমান্ডের পরে, কমপাইল কমান্ড নয়। (নিটপিকিংয়ের জন্য দুঃখিত, তবে এটি সঠিকভাবে পাওয়া অন্যান্য পরিস্থিতি বুঝতে সহায়তা করে)।
মৌসুমার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.