ইংরেজিফরাসিস্প্যানিশ

Ad


অনওয়ার্কস ফেভিকন

c99posix - ক্লাউডে অনলাইন

উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটরের মাধ্যমে OnWorks বিনামূল্যে হোস্টিং প্রদানকারীতে c99posix চালান

এটি হল c99posix কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।

কার্যক্রম:

NAME এর


c99 — স্ট্যান্ডার্ড সি প্রোগ্রাম কম্পাইল করুন

সাইনোপিসিস


c99 [অপশন...] পথের নাম [[পথের নাম] [-আমি ডিরেক্টরি]
[−এল ডিরেক্টরি] [ইল লাইব্রেরি]]...

বর্ণনাঃ


সার্জারির c99 ইউটিলিটি হল স্ট্যান্ডার্ড সি কম্পাইলেশন সিস্টেমের একটি ইন্টারফেস; এটা গ্রহণ করা হবে
সোর্স কোড আইএসও সি স্ট্যান্ডার্ডের সাথে সঙ্গতিপূর্ণ। সিস্টেমটি ধারণাগতভাবে একটি নিয়ে গঠিত
কম্পাইলার এবং লিঙ্ক এডিটর। ইনপুট ফাইল দ্বারা উল্লেখ করা হয়েছে পথের নাম অপারেন্ড এবং ইল বিকল্প-
আর্গুমেন্ট কম্পাইল করা হবে এবং একটি এক্সিকিউটেবল ফাইল তৈরি করতে লিঙ্ক করা হবে। (এটি অনির্দিষ্ট
লিঙ্কিং এর অপারেশনের মধ্যে সম্পূর্ণরূপে ঘটে কিনা c99; কিছু বাস্তবায়ন হতে পারে
ফাইলটি কার্যকর না হওয়া পর্যন্ত সম্পূর্ণরূপে সমাধান না হওয়া অবজেক্ট তৈরি করুন।)

যদি −c ফর্মের সমস্ত পাথনেম অপারেন্ডের জন্য বিকল্পটি নির্দিষ্ট করা আছে ফাইল.c, ফাইলগুলো:

$(বেসনাম পথের নাম .c)o

সফল সংকলনের ফলাফল হিসাবে তৈরি করা হবে। যদি −c বিকল্প নয়
সুনির্দিষ্ট, এটা অনির্দিষ্ট যে যেমন .o এর জন্য ফাইল তৈরি বা মুছে ফেলা হয় ফাইল.c
অপারেন্ড

যদি এমন কোন বিকল্প না থাকে যা লিঙ্ক সম্পাদনা প্রতিরোধ করে (যেমন −c or −ই), এবং সমস্ত ইনপুট ফাইল
কম্পাইল এবং ত্রুটি ছাড়া লিঙ্ক, ফলে এক্সিকিউটেবল ফাইল অনুযায়ী লেখা হবে
থেকে −o আউটফাইল বিকল্প (যদি উপস্থিত থাকে) বা ফাইলে a. আউট.

এক্সিকিউটেবল ফাইলটি উল্লিখিত হিসাবে তৈরি করা হবে অধ্যায় 1.1.1.4, ফাইল পড়া, লেখা,
এবং সৃষ্টি, তা ছাড়া ফাইল অনুমতি বিট সেট করা হবে: S_IRWXO | S_IRWXG |
S_IRWXU

এবং বিট দ্বারা নির্দিষ্ট উমস্ক প্রক্রিয়া পরিষ্কার করা হবে.

বিকল্প


সার্জারির c99 ইউটিলিটি POSIX.1-2008-এর বেস ডেফিনিশন ভলিউমের সাথে সঙ্গতিপূর্ণ হবে, অধ্যায়
12.2, উপযোগ বাক্য গঠন নির্দেশিকা, সেটি বাদে:

* বিকল্পগুলি অপারেন্ডের সাথে ছেদ করা যেতে পারে।

* নির্দিষ্ট করার ক্রম −এল এবং ইল অপশন, এবং নির্দিষ্ট করার ক্রম ইল অপশন
সম্মান সঙ্গে পথের নাম অপারেন্ড উল্লেখযোগ্য।

* কনফার্মিং অ্যাপ্লিকেশন প্রতিটি বিকল্প আলাদাভাবে নির্দিষ্ট করবে; অর্থাৎ, গ্রুপিং বিকল্প
অক্ষর (উদাহরণস্বরূপ, −cO) সমস্ত বাস্তবায়ন দ্বারা স্বীকৃত হবে না।

নিম্নলিখিত বিকল্পগুলি সমর্থিত হবে:

−c সংকলনের লিঙ্ক-সম্পাদনা পর্বটি দমন করুন, এবং কোনো বস্তু অপসারণ করবেন না
উত্পাদিত হয় যে ফাইল.

-ডি নাম[=মূল্য]
নির্ধারণ করা নাম যেন একটি সি-ভাষা দ্বারা # define নির্দেশ যদি না =মূল্য দেওয়া হয়, ক
1 এর মান ব্যবহার করা হবে। দ্য -ডি বিকল্পটির চেয়ে কম অগ্রাধিকার রয়েছে −উ বিকল্প।
অর্থাৎ, যদি নাম উভয় ক্ষেত্রে ব্যবহৃত হয় a −উ এবং একটি -ডি বিকল্প, নাম অনির্ধারিত হবে
অপশনের ক্রম নির্বিশেষে। অতিরিক্ত বাস্তবায়ন-সংজ্ঞায়িত নামs
কম্পাইলার দ্বারা প্রদান করা যেতে পারে। বাস্তবায়ন অন্তত 2048 সমর্থন করবে
এর বাইট -ডি সংজ্ঞা এবং 256 নাম.

−ই সমস্ত প্রিপ্রসেসরকে প্রসারিত করে, স্ট্যান্ডার্ড আউটপুটে সি-ভাষা উত্স ফাইলগুলি অনুলিপি করুন
নির্দেশাবলী; কোন সংকলন সঞ্চালিত হবে না. যদি কোন অপারেন্ড একটি টেক্সট না হয়
ফাইল, প্রভাবগুলি অনির্দিষ্ট।

−g বস্তু বা এক্সিকিউটেবল ফাইলে প্রতীকী তথ্য তৈরি করুন; প্রকৃতি
এই তথ্যটি অনির্দিষ্ট, এবং বাস্তবায়ন-সংজ্ঞায়িত দ্বারা পরিবর্তিত হতে পারে
অন্যান্য বিকল্পের সাথে মিথস্ক্রিয়া।

-আমি ডিরেক্টরি
হেডার অনুসন্ধান করার জন্য অ্যালগরিদম পরিবর্তন করুন যার নাম পরম নয়
pathnames দ্বারা নাম করা ডিরেক্টরিতে দেখতে ডিরেক্টরি আগে পথের নাম
স্বাভাবিক জায়গায় খুঁজছেন। এইভাবে, শিরোনাম যাদের নাম দ্বৈত-
উদ্ধৃতি ("") দিয়ে প্রথমে ফাইলের ডিরেক্টরিতে অনুসন্ধান করা হবে
# অন্তর্ভুক্ত লাইন, তারপর নাম দেওয়া ডিরেক্টরিতে -আমি বিকল্প, এবং স্বাভাবিকভাবে শেষ
জায়গা. হেডারের জন্য যাদের নাম কোণ বন্ধনীতে আবদ্ধ ("<>"), দ্য
শিরোনাম শুধুমাত্র নামের ডিরেক্টরির জন্য অনুসন্ধান করা হবে -আমি বিকল্প এবং তারপরে
স্বাভাবিক জায়গা। নাম দেওয়া ডিরেক্টরি -আমি ক্রমানুসারে অপশন অনুসন্ধান করা হবে
নির্দিষ্ট করা যদি -আমি বিকল্প একটি ডিরেক্টরি নির্দিষ্ট করতে ব্যবহার করা হয় যেগুলির মধ্যে একটি
সাধারণ স্থানগুলি ডিফল্টরূপে অনুসন্ধান করা হয়, ফলাফলগুলি অনির্দিষ্ট। বাস্তবায়ন
একটি একক এই বিকল্পের অন্তত দশটি উদাহরণ সমর্থন করবে c99 হুকুম
আমন্ত্রণ

−এল ডিরেক্টরি
নামের লাইব্রেরিগুলির জন্য অনুসন্ধানের অ্যালগরিদম পরিবর্তন করুন৷ ইল বস্তু
দ্বারা নামের ডিরেক্টরি দেখুন ডিরেক্টরি দেখার আগে pathname
স্বাভাবিক জায়গা। নাম দেওয়া ডিরেক্টরি −এল ক্রমানুসারে অপশন অনুসন্ধান করা হবে
নির্দিষ্ট করা যদি −এল বিকল্প একটি ডিরেক্টরি নির্দিষ্ট করতে ব্যবহার করা হয় যেগুলির মধ্যে একটি
সাধারণ স্থানগুলি ডিফল্টরূপে অনুসন্ধান করা হয়, ফলাফলগুলি অনির্দিষ্ট। বাস্তবায়ন
একটি একক এই বিকল্পের অন্তত দশটি উদাহরণ সমর্থন করবে c99 হুকুম
আমন্ত্রণ যদি একটি ডিরেক্টরি দ্বারা নির্দিষ্ট করা হয় −এল বিকল্পে নাম সহ ফাইল রয়েছে
যে কোনো স্ট্রিং দিয়ে শুরু "libc।", "লিবিল।", "লিবথ্রেড।", "libm।",
"librt।", "লিবট্রেস।", "libxnet।", বা "লিবি।", ফলাফল অনির্দিষ্ট.

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

−ও অপটলেভেল
কোড অপ্টিমাইজেশান স্তর নির্দিষ্ট করুন. যদি অপটলেভেল বিকল্প-যুক্তি হল
অঙ্ক "0", সমস্ত বিশেষ কোড অপ্টিমাইজেশান নিষ্ক্রিয় করা হবে৷ যদি এটি অঙ্ক হয়
"1", অপ্টিমাইজেশান প্রকৃতি অনির্দিষ্ট. যদি −ও বিকল্প বাদ দেওয়া হয়,
সিস্টেমের ডিফল্ট অপ্টিমাইজেশানের প্রকৃতি অনির্দিষ্ট। এটাই
এর উপস্থিতিতে কোড জেনারেট হয়েছে কিনা তা অনির্দিষ্ট −ও 0 বিকল্প হল
একই যখন উত্পন্ন হয় −ও বাদ দেওয়া হয়। অন্যান্য অপটলেভেল মান হতে পারে
সমর্থিত।

−o আউটফাইল
পথের নাম ব্যবহার করুন আউটফাইলডিফল্টের পরিবর্তে a. আউট, এক্সিকিউটেবল ফাইলের জন্য
উত্পাদিত যদি −o বিকল্প সঙ্গে উপস্থিত আছে −c or −ই, ফলাফল অনির্দিষ্ট.

−s বস্তু বা এক্সিকিউটেবল ফাইল, বা উভয়, যা থেকে প্রতীকী এবং অন্যান্য উত্পাদন
ব্যবহার করে সঠিকভাবে সম্পাদনের জন্য তথ্যের প্রয়োজন নেই Exec পরিবার সংজ্ঞায়িত
POSIX.1-2008 এর সিস্টেম ইন্টারফেস ভলিউম সরানো হয়েছে (স্ট্রিপড)। যদি
উভয় −g এবং −s বিকল্প উপস্থিত আছে, গৃহীত পদক্ষেপ অনির্দিষ্ট।

−উ নাম এর যেকোনো প্রাথমিক সংজ্ঞা সরান নাম.

একাধিক উদাহরণ -ডি, -আমি, −এল, ইল, এবং −উ বিকল্প নির্দিষ্ট করা যেতে পারে।

অপারেন্ডস


আবেদন নিশ্চিত করতে হবে যে অন্তত একটি পথের নাম অপারেন্ড নির্দিষ্ট করা হয়। দ্য
জন্য নিম্নলিখিত ফর্ম পথের নাম অপারেন্ড সমর্থিত হবে:

ফাইল.c একটি সি-ভাষা উৎস ফাইল কম্পাইল করা এবং ঐচ্ছিকভাবে লিঙ্ক করা। আবেদনপত্র
অপারেন্ডটি এই ফর্মের কিনা তা নিশ্চিত করবে যদি −c বিকল্প ব্যবহার করা হয়।

ফাইল.a অবজেক্ট ফাইলগুলির একটি লাইব্রেরি সাধারণত দ্বারা উত্পাদিত হয় ar ইউটিলিটি, এবং পাস
সরাসরি লিঙ্ক সম্পাদকে। বাস্তবায়নগুলি বাস্তবায়নকে চিনতে পারে-
ছাড়া অন্য সংজ্ঞায়িত প্রত্যয় .a অবজেক্ট ফাইল লাইব্রেরি নির্দেশ করে।

ফাইল.o দ্বারা উত্পাদিত একটি বস্তু ফাইল c99 −c এবং সরাসরি লিঙ্ক সম্পাদকের কাছে পাঠানো হয়েছে।
বাস্তবায়নগুলি ব্যতীত অন্য বাস্তবায়ন-সংজ্ঞায়িত প্রত্যয়গুলিকে চিনতে পারে৷ .o as
অবজেক্ট ফাইল বোঝানো।

অন্যান্য ফাইলের প্রক্রিয়াকরণ বাস্তবায়ন-সংজ্ঞায়িত করা হয়।

STDIN


ব্যবহার করা হয় না.

ইনপুট নথি পত্র


প্রতিটি ইনপুট ফাইল নিম্নলিখিতগুলির মধ্যে একটি হতে হবে: একটি পাঠ্য ফাইল যেখানে একটি সি-ভাষা উৎস রয়েছে৷
প্রোগ্রাম, দ্বারা উত্পাদিত বিন্যাসে একটি অবজেক্ট ফাইল c99 −c, অথবা অবজেক্ট ফাইলের একটি লাইব্রেরি, in
শূন্য বা তার বেশি বস্তু ফাইল সংরক্ষণাগার দ্বারা উত্পাদিত বিন্যাস, ব্যবহার করে ar. বাস্তবায়ন হতে পারে
অতিরিক্ত ইউটিলিটি সরবরাহ করে যা এই বিন্যাসে ফাইল তৈরি করে। অতিরিক্ত ইনপুট ফাইল
বিন্যাস বাস্তবায়ন-সংজ্ঞায়িত করা হয়।

পরিবেশ বৈচিত্র্য


নিম্নলিখিত পরিবেশের ভেরিয়েবলগুলি কার্যকর করার উপর প্রভাব ফেলবে c99:

ল্যাং আনসেট বা আন্তর্জাতিকীকরণ ভেরিয়েবলের জন্য একটি ডিফল্ট মান প্রদান করুন
খালি. (POSIX.1-2008-এর বেস ডেফিনিশন ভলিউম দেখুন, অধ্যায় 8.2,
আন্তর্জাতিকীকরণ ভেরিয়েবল আন্তর্জাতিকীকরণের অগ্রাধিকারের জন্য
লোকেল বিভাগের মান নির্ধারণ করতে ব্যবহৃত ভেরিয়েবল।)

Lc_all একটি অ-খালি স্ট্রিং মান সেট করা হলে, অন্য সব মান ওভাররাইড করুন
আন্তর্জাতিকীকরণ ভেরিয়েবল।

Lc_ctype পাঠ্য ডেটার বাইটের অনুক্রমের ব্যাখ্যার জন্য লোকেল নির্ধারণ করুন
অক্ষর হিসাবে (উদাহরণস্বরূপ, একক-বাইট, মাল্টি-বাইট অক্ষরের বিপরীতে
আর্গুমেন্ট এবং ইনপুট ফাইল)।

Lc_messages
বিন্যাস এবং বিষয়বস্তু প্রভাবিত করতে ব্যবহার করা উচিত যে লোকেল নির্ধারণ করুন
ডায়াগনস্টিক বার্তাগুলি স্ট্যান্ডার্ড ত্রুটিতে লেখা।

NLSPATH এর প্রক্রিয়াকরণের জন্য বার্তা ক্যাটালগের অবস্থান নির্ধারণ করুন Lc_messages.

টিএমপিডিআইআর একটি পথনাম প্রদান করুন যা অস্থায়ী জন্য ডিফল্ট ডিরেক্টরিকে ওভাররাইড করবে
ফাইল, যদি থাকে। XSI- মেনে চলা সিস্টেমে, একটি পথনাম প্রদান করুন যা হবে
অস্থায়ী ফাইলের জন্য ডিফল্ট ডিরেক্টরি ওভাররাইড করুন, যদি থাকে।

অ্যাসিঙ্ক্রোনাস ঘটনাগুলি দেখুন


ডিফল্ট.

বন্ধ


একের বেশি হলে পথের নাম অপারেন্ড শেষ হচ্ছে .c (বা সম্ভবত অন্যান্য অনির্দিষ্ট প্রত্যয়) হল
দেওয়া হয়েছে, এই ধরনের প্রতিটি ফাইলের জন্য:

"%s:\n", <পথের নাম>

লেখা হতে পারে। এই বার্তাগুলি, যদি লেখা হয়, প্রতিটি ইনপুট প্রক্রিয়াকরণের আগে থাকবে
ফাইল সেগুলি স্ট্যান্ডার্ড আউটপুটে লেখা হবে না যদি সেগুলি স্ট্যান্ডার্ডে লেখা হয়
ত্রুটি, যেমন STDERR বিভাগে বর্ণিত হয়েছে।

যদি −ই বিকল্পটি নির্দিষ্ট করা হয়েছে, স্ট্যান্ডার্ড আউটপুট একটি পাঠ্য ফাইল হবে যা প্রতিনিধিত্ব করে
ভাষার প্রিপ্রসেসিং পর্যায়ের ফলাফল; এতে অতিরিক্ত তথ্য থাকতে পারে
পরবর্তী কম্পাইলেশন পাসের জন্য উপযুক্ত।

STDERR


স্ট্যান্ডার্ড ত্রুটি শুধুমাত্র ডায়াগনস্টিক বার্তার জন্য ব্যবহার করা হবে। একাধিক হলে পথের নাম
অপারেন্ড শেষ হচ্ছে .c (বা সম্ভবত অন্যান্য অনির্দিষ্ট প্রত্যয়) দেওয়া হয়েছে, প্রতিটির জন্য
ফাইল:

"%s:\n", <পথের নাম>

এর সাথে ডায়াগনস্টিক এবং সতর্কতা বার্তা সনাক্ত করার অনুমতি দেওয়ার জন্য লেখা হতে পারে
উপযুক্ত ইনপুট ফাইল। এই বার্তাগুলি, যদি লেখা হয়, প্রতিটি প্রক্রিয়াকরণের আগে থাকবে৷
ইনপুট ফাইল; যদি তারা তে লেখা হয় তবে তারা স্ট্যান্ডার্ড ত্রুটিতে লেখা হবে না
স্ট্যান্ডার্ড আউটপুট, যেমন STDOUT বিভাগে বর্ণিত হয়েছে।

এই ইউটিলিটি কিছু শর্ত সম্পর্কে সতর্কীকরণ বার্তা তৈরি করতে পারে যা পরোয়ানা দেয় না
একটি ত্রুটি (অ-শূন্য) প্রস্থান মান প্রদান।

আউটপুট নথি পত্র


অবজেক্ট ফাইল বা এক্সিকিউটেবল ফাইল বা উভয়ই অনির্দিষ্ট বিন্যাসে উত্পাদিত হয়। যদি
একটি অবজেক্ট ফাইলের পাথনেম বা এক্সিকিউটেবল ফাইল তৈরি করা হবে c99 একটি বিদ্যমান সমাধান
একটি ফাইলের জন্য ডিরেক্টরি এন্ট্রি যা একটি নিয়মিত ফাইল নয়, এটি অনির্দিষ্ট কিনা c99 হইবে
ফাইল তৈরি করার চেষ্টা করুন বা একটি ডায়াগনস্টিক ইস্যু করবে এবং নন-জিরো এক্সিট দিয়ে প্রস্থান করুন
অবস্থা।

সম্প্রসারিত বর্ণনাঃ


মান লাইব্রেরি
সার্জারির c99 ইউটিলিটি নিম্নলিখিত চিনতে হবে ইল স্ট্যান্ডার্ড লাইব্রেরির জন্য বিকল্প:

ইল c এই বিকল্পটি সিস্টেমে উল্লেখ করা সমস্ত ইন্টারফেস উপলব্ধ করবে
POSIX.1-2008 এর ইন্টারফেস ভলিউম, সম্ভাব্য ব্যতিক্রম সহ
মধ্যে বসবাসকারী হিসাবে তালিকাভুক্ত ইন্টারফেস , , , ,
, , , , , ,
, , , , pthread_kill(), এবং
pthread_sigmask() ভিতরে , , মধ্যে ঐচ্ছিক হিসাবে চিহ্নিত ইন্টারফেস
, ইন্টারফেসগুলি ADV (পরামর্শ তথ্য) হিসাবে চিহ্নিত৷ , এবং
প্রিফিক্স clock_ বা time_ in দিয়ে শুরু হওয়া ইন্টারফেস । এই বিকল্প
এই লাইব্রেরির অনুসন্ধানের জন্য উপস্থিত থাকার প্রয়োজন হবে না।

ইল l এই বিকল্পটি সি-ভাষা দ্বারা প্রয়োজনীয় সমস্ত ইন্টারফেস উপলব্ধ করবে
এর আউটপুট আইন যে মাধ্যমে উপলব্ধ করা হয় না ইল c বিকল্প।

ইল pthread
এই বিকল্পটি উল্লেখ করা সমস্ত ইন্টারফেস উপলব্ধ করবে৷ এবং
pthread_kill() এবং pthread_sigmask() এর মধ্যে উল্লেখ করা হয়েছে । একটি
বাস্তবায়ন এই বিকল্পের অনুপস্থিতিতে এই লাইব্রেরি অনুসন্ধান করতে পারে।

ইল m এই বিকল্পটি উল্লেখ করা সমস্ত ইন্টারফেস উপলব্ধ করবে৷ ,
, এবং . একটি বাস্তবায়ন এই লাইব্রেরিতে অনুসন্ধান করতে পারে
এই বিকল্পের অনুপস্থিতি।

ইল rt এই বিকল্পটি উল্লেখ করা সমস্ত ইন্টারফেস উপলব্ধ করবে৷ ,
, , , এবং , ইন্টারফেস হিসেবে চিহ্নিত
মধ্যে ঐচ্ছিক , ইন্টারফেসগুলি ADV (পরামর্শ তথ্য) হিসাবে চিহ্নিত৷
, এবং প্রিফিক্স clock_ এবং time_ in দিয়ে শুরু ইন্টারফেস
. এটির অনুপস্থিতিতে একটি বাস্তবায়ন এই লাইব্রেরিটি অনুসন্ধান করতে পারে
বিকল্প।

ইল চিহ্ন এই বিকল্পটি উল্লেখ করা সমস্ত ইন্টারফেস উপলব্ধ করবে৷ । একটি
বাস্তবায়ন এই বিকল্পের অনুপস্থিতিতে এই লাইব্রেরি অনুসন্ধান করতে পারে।

ইল xnet এই বিকল্পটি উল্লেখ করা সমস্ত ইন্টারফেস উপলব্ধ করবে৷ ,
, , , এবং . একটি বাস্তবায়ন
এই বিকল্পের অনুপস্থিতিতে এই লাইব্রেরিটি অনুসন্ধান করতে পারে।

ইল y এই বিকল্পটি সি-ভাষা দ্বারা প্রয়োজনীয় সমস্ত ইন্টারফেস উপলব্ধ করবে
এর আউটপুট yacc যে মাধ্যমে উপলব্ধ করা হয় না ইল c বিকল্প।

বিকল্পগুলির অনুপস্থিতিতে যা লিঙ্ক সম্পাদকের আহ্বানকে বাধা দেয়, যেমন −c or −ই,
দ্য c99 ইউটিলিটি একটি এর সমতুল্য ঘটাবে ইল c লিঙ্কে পাস করার বিকল্প
শেষের পর সম্পাদক পথের নাম অপারেন্ড বা ইল বিকল্প, এটি সর্বোপরি অনুসন্ধানের কারণ
অন্যান্য অবজেক্ট ফাইল এবং লাইব্রেরি লোড করা হয়।

লাইব্রেরি কিনা তা অনির্দিষ্ট libc.a, libl.a, libm.a, libpthread.a, librt.a,
libtrace.a, libxnet.a, বা liby.a নিয়মিত ফাইল হিসাবে বিদ্যমান। বাস্তবায়ন হিসাবে গ্রহণ করতে পারে
ইল বিকল্প-আর্গুমেন্ট বস্তুর নাম যা নিয়মিত ফাইল হিসাবে বিদ্যমান নেই।

বহিরাগত প্রতীক
সি কম্পাইলার এবং লিঙ্ক এডিটর a পর্যন্ত বাহ্যিক চিহ্নের তাৎপর্য সমর্থন করবে
কমপক্ষে 31 বাইটের দৈর্ঘ্য; অতিক্রমকারী চিহ্নের সম্মুখীন হওয়ার উপর গৃহীত পদক্ষেপ
বাস্তবায়ন-সংজ্ঞায়িত সর্বাধিক প্রতীক দৈর্ঘ্য অনির্দিষ্ট।

কম্পাইলার এবং লিঙ্ক এডিটর প্রতি উৎসে ন্যূনতম 511টি বাহ্যিক প্রতীক সমর্থন করবে বা
অবজেক্ট ফাইল এবং সর্বনিম্ন 4095টি বাহ্যিক চিহ্ন। একটি ডায়গনিস্টিক বার্তা হবে
বাস্তবায়ন-সংজ্ঞায়িত সীমা অতিক্রম করা হলে স্ট্যান্ডার্ড আউটপুটে লেখা হবে; অন্যান্য
কর্মগুলি অনির্দিষ্ট।

শিরোলেখ সার্চ
যদি বেস-এ সংজ্ঞায়িত স্ট্যান্ডার্ড হেডারগুলির একটি হিসাবে একই নামের একটি ফাইল
POSIX.1-2008-এর সংজ্ঞা ভলিউম, অধ্যায় 13, শিরোলেখ, অংশ হিসাবে প্রদান করা হয় না
ইমপ্লিমেন্টেশন, ডিফল্টরূপে অনুসন্ধান করা যে কোনো সাধারণ জায়গায় স্থাপন করা হয়
হেডার, ফলাফল অনির্দিষ্ট।

প্রোগ্রামিং এনভায়রনমেন্ট
সমস্ত বাস্তবায়ন নিম্নলিখিত প্রোগ্রামিং পরিবেশগুলির মধ্যে একটিকে সমর্থন করবে
ডিফল্ট. বাস্তবায়ন নিম্নলিখিত প্রোগ্রামিং একাধিক সমর্থন করতে পারে
পরিবেশ অ্যাপ্লিকেশন ব্যবহার করতে পারেন sysconf() বা getconf কোন প্রোগ্রামিং নির্ধারণ করতে
পরিবেশ সমর্থিত।

টেবিল 4-4: প্রোগ্রামিং এনভায়রনমেন্ট: আদর্শ মাপ

┌────────────────────────────┬───── ────┬──── ─────┬─────────┐
প্রোগ্রামিং পরিবেশবিটস inবিটস inবিটস inবিটস in
getconf নামকোন intদীর্ঘইশারাবন্ধ_টি
├──────────────────────┼┼────┼────── ────┼──── ─────┼─────────┤
│_POSIX_V7_ILP32_OFF32 │ 32 │ 32 │ 32 │ 32 │
│_POSIX_V7_ILP32_OFFBIG │ 32 │ 32 │ 32 │ ≥64 │
│_POSIX_V7_LP64_OFF64 │ 32 │ 64 │ 64 │ 64 │
│_POSIX_V7_LPBIG_OFFBIG │ ≥32 │ ≥64 │ ≥64 │ ≥64 │
└- ────┴──── ─────┴─────────┘
সমস্ত বাস্তবায়ন এক বা একাধিক পরিবেশ সমর্থন করবে যেখানে প্রস্থ
নিম্নলিখিত প্রকারগুলি টাইপের প্রস্থের চেয়ে বেশি নয় দীর্ঘ:

blksize_t ptrdiff_t tcflag_t
cc_t সাইজ_টি wchar_t
mode_t গতি_টি wint_t
nfds_t size_t
pid_t suseconds_t

যখন এই পরিবেশগুলি নির্বাচন করা হয় তখন তৈরি করা এক্সিকিউটেবল ফাইলগুলি যথাযথভাবে হতে হবে
দ্বারা নির্বাহের জন্য বিন্যাস Exec ফাংশন পরিবার। প্রতিটি পরিবেশের একটি হতে পারে
মধ্যে বেশী টেবিল 4-4, প্রোগ্রামিং এনভায়রনমেন্ট: আদর্শ মাপ, অথবা এটি অন্য পরিবেশ হতে পারে।
এই প্রয়োজনীয়তা পূরণকারী পরিবেশের নাম a দ্বারা আউটপুট হবে getconf
POSIX_V7_WIDTH_RESTRICTED_ENVS আর্গুমেন্ট ব্যবহার করে কমান্ড, -বিভক্ত তালিকা হিসাবে
এর সাথে ব্যবহারের জন্য উপযুক্ত নামের getconf −v বিকল্প একাধিক পরিবেশ মিললে
প্রয়োজন, এই ধরনের সমস্ত পরিবেশের নাম পৃথক লাইনে আউটপুট হবে। যে কোন
এই নামগুলি পরবর্তীতে ব্যবহার করা যেতে পারে getconf পতাকা প্রাপ্ত করার আদেশ
নিম্নলিখিত প্রত্যয়গুলি উপযুক্ত হিসাবে যুক্ত করে সেই পরিবেশের জন্য নির্দিষ্ট:

_CFLAGS সি কম্পাইলার পতাকা পেতে.

_LDFLAGS লিঙ্কার/লোডার ফ্ল্যাগ পেতে।

_LIBS লাইব্রেরি পেতে.

এই প্রয়োজনীয়তা একটি ভবিষ্যতের সংস্করণে সরানো হতে পারে.

যখন এই ইউটিলিটি একটি ফাংশন সম্বলিত ফাইল প্রক্রিয়া করে প্রধান(), এটা হবে
এর সমতুল্য একটি রিটার্ন টাইপ দিয়ে সংজ্ঞায়িত করা হয়েছে কোন int. প্রাথমিক কল থেকে রিটার্ন ব্যবহার করে
প্রধান() কলিং-এর সমতুল্য (ভাষা সুযোগ সংক্রান্ত সমস্যা ব্যতীত) হতে হবে
প্রস্থান() প্রত্যাবর্তিত মান সহ। প্রারম্ভিক কলের শেষ প্রান্তে পৌঁছে প্রধান() হবে
কল করার সমতুল্য প্রস্থান(0)। বাস্তবায়ন এটির জন্য একটি প্রোটোটাইপ ঘোষণা করবে না
ফাংশন.

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

কনফার্মিং অ্যাপ্লিকেশনের জন্য সংকলিত অবজেক্ট ফাইলগুলিকে একসাথে লিঙ্ক করার চেষ্টা করা উচিত নয়
বিভিন্ন প্রোগ্রামিং মডেল। অ্যাপ্লিকেশনগুলিকেও সচেতন হতে হবে যে বাইনারি ডেটা স্থাপন করা হয়েছে
শেয়ার্ড মেমরি বা ফাইলে অন্যদের জন্য নির্মিত অ্যাপ্লিকেশন দ্বারা স্বীকৃত নাও হতে পারে
প্রোগ্রামিং মডেল।

টেবিল 4-5: প্রোগ্রামিং এনভায়রনমেন্ট: c99 আর্গুমেন্ট

┌─────────────────────────────────── ──────┬── ─────────────────────────────────
প্রোগ্রামিং পরিবেশ │ │ c99 আর্গুমেন্ট
getconf নামব্যবহারgetconf নাম
├───────────────────────┼────┼──────── ──────┼── ─────────────────────────────────
│_POSIX_V7_ILP32_OFF32 │ C কম্পাইলার ফ্ল্যাগ │ POSIX_V7_ILP32_OFF32_CFLAGS │
│ │ লিঙ্কার/লোডার পতাকা │ POSIX_V7_ILP32_OFF32_LDFLAGS │
│ │ লাইব্রেরি │ POSIX_V7_ILP32_OFF32_LIBS │
├───────────────────────┼────┼──────── ──────┼── ─────────────────────────────────
│_POSIX_V7_ILP32_OFFBIG │ C কম্পাইলার ফ্ল্যাগ │ POSIX_V7_ILP32_OFFBIG_CFLAGS │
│ │ লিঙ্কার/লোডার পতাকা │ POSIX_V7_ILP32_OFFBIG_LDFLAGS │
│ │ লাইব্রেরি │ POSIX_V7_ILP32_OFFBIG_LIBS │
├───────────────────────┼────┼──────── ──────┼── ─────────────────────────────────
│_POSIX_V7_LP64_OFF64 │ C কম্পাইলার ফ্ল্যাগ │ POSIX_V7_LP64_OFF64_CFLAGS │
│ │ লিঙ্কার/লোডার পতাকা │ POSIX_V7_LP64_OFF64_LDFLAGS │
│ │ লাইব্রেরি │ POSIX_V7_LP64_OFF64_LIBS │
├───────────────────────┼────┼──────── ──────┼── ─────────────────────────────────
│_POSIX_V7_LPBIG_OFFBIG │ C কম্পাইলার ফ্ল্যাগ │ POSIX_V7_LPBIG_OFFBIG_CFLAGS │
│ │ লিঙ্কার/লোডার পতাকা │ POSIX_V7_LPBIG_OFFBIG_LDFLAGS │
│ │ লাইব্রেরি │ POSIX_V7_LPBIG_OFFBIG_LIBS │
└- ──────┴── ────────────────────────────────┘
উপরের টাইপ সাইজ প্রোগ্রামিং পরিবেশ ছাড়াও, সমস্ত বাস্তবায়নও
একটি মাল্টি-থ্রেডেড প্রোগ্রামিং এনভায়রনমেন্ট সমর্থন করে যা সকলের জন্য অর্থোগোনাল
উপরে তালিকাভুক্ত প্রোগ্রামিং পরিবেশ। দ্য getconf ইউটিলিটি পতাকা পেতে ব্যবহার করা যেতে পারে
থ্রেডেড প্রোগ্রামিং পরিবেশ, যেমন উল্লেখ করা হয়েছে টেবিল 4-6, সগুণ প্রোগ্রামিং
পরিবেশ: c99 আর্গুমেন্ট.

টেবিল 4-6: সগুণ প্রোগ্রামিং পরিবেশ: c99 আর্গুমেন্ট

┌─────────────────────────────────── ──────┬── ────────────────────────┐
প্রোগ্রামিং পরিবেশ │ │ c99 আর্গুমেন্ট
getconf নামব্যবহারgetconf নাম
├───────────────────────┼────┼──────── ──────┼── ─────────────────────────
│_POSIX_THREADS │ C কম্পাইলার ফ্ল্যাগ │ POSIX_V7_THREADS_CFLAGS │
│ │ লিঙ্কার/লোডার পতাকা │ POSIX_V7_THREADS_LDFLAGS │
└- ──────┴── ────────────────────────┘
এই প্রোগ্রামিং এনভায়রনমেন্ট ফ্ল্যাগগুলি যেকোন আকারের সাথে একত্রে ব্যবহার করা যেতে পারে
প্রোগ্রামিং পরিবেশ বাস্তবায়ন দ্বারা সমর্থিত.

প্রস্থান করুন স্থিতি


নিম্নলিখিত প্রস্থান মান ফেরত দেওয়া হবে:

0 সফল সংকলন বা লিঙ্ক সম্পাদনা।

>0 একটি ত্রুটি ঘটেছে৷

পরিণতি OF ত্রুটি


কখন c99 একটি কম্পাইলেশন ত্রুটির সম্মুখীন হয় যার ফলে একটি অবজেক্ট ফাইল তৈরি হয় না, এটি
স্ট্যান্ডার্ড ত্রুটির জন্য একটি ডায়গনিস্টিক লিখতে হবে এবং অন্যান্য সোর্স কোড কম্পাইল করা চালিয়ে যেতে হবে
অপারেন্ড, কিন্তু এটি লিঙ্ক ফেজ সঞ্চালন করবে না এবং একটি অ-শূন্য প্রস্থান স্থিতি প্রদান করবে। যদি
লিঙ্ক সম্পাদনা ব্যর্থ হয়েছে, একটি ডায়াগনস্টিক বার্তা স্ট্যান্ডার্ড ত্রুটিতে লেখা হবে এবং
c99 একটি নন-জিরো স্ট্যাটাস দিয়ে প্রস্থান করে। একটি সঙ্গতিপূর্ণ আবেদন প্রস্থান অবস্থার উপর নির্ভর করবে
of c99, এক্সিকিউটেবল ফাইলের অস্তিত্ব বা মোডের পরিবর্তে।

সার্জারির অনুসরণ বিভাগে হয় তথ্যপূর্ণ.

আবেদন , USAGE


যেহেতু c99 ইউটিলিটি সাধারণত বর্তমান ডিরেক্টরির সময় ফাইল তৈরি করে
সংকলন প্রক্রিয়া, এটি সাধারণত চালানোর জন্য প্রয়োজনীয় c99 একটি ডিরেক্টরি মধ্যে ইউটিলিটি
যা দিয়ে একটি ফাইল তৈরি করা যায়।

POSIX কনফরমেন্স প্রদানকারী সিস্টেমগুলিতে (POSIX.1-2008-এর বেস ডেফিনিশন ভলিউম দেখুন,
অধ্যায় 2, কনফরমেন্স), c99 শুধুমাত্র সি-ল্যাংগুয়েজ ডেভেলপমেন্ট বিকল্পের সাথে প্রয়োজন; XSI-
সঙ্গতিপূর্ণ সিস্টেম সবসময় প্রদান করে c99.

কিছু ঐতিহাসিক বাস্তবায়ন তৈরি করেছে .o ফাইল যখন −c উল্লেখ করা হয় না এবং আরো
একাধিক সোর্স ফাইল দেওয়া হয়। যেহেতু এই এলাকাটি অনির্দিষ্ট রেখে দেওয়া হয়েছে, তাই আবেদন করা যাবে না
নির্ভর করা .o ফাইল তৈরি করা হচ্ছে, কিন্তু এটি যে কোনো সম্পর্কিত জন্য প্রস্তুত করা আবশ্যক .o ফাইল যে
ইতিমধ্যেই বিদ্যমান লিঙ্ক সম্পাদনা সমাপ্তিতে মুছে ফেলা হচ্ছে.

যদি একজন ব্যবহারকারী স্ট্যান্ডার্ডের সংস্করণ সরবরাহ করে তবে সম্ভাব্য প্রভাব রয়েছে
ফাংশন (এর আগে তারা একটি অন্তর্নিহিত দ্বারা সম্মুখীন হবে ইল c বা স্পষ্ট ইল m), যে
সেই সংস্করণগুলি স্ট্যান্ডার্ড সংস্করণগুলির জায়গায় ব্যবহার করা হবে। বিভিন্ন কারণ আছে
এটি সত্য নাও হতে পারে (ম্যাক্রো হিসাবে সংজ্ঞায়িত ফাংশন, পরিষ্কার নাম স্থানের জন্য ম্যানিপুলেশন,
ইত্যাদি), তাই স্ট্যান্ডার্ড লাইব্রেরিগুলির মতো একই পদ্ধতিতে নামকরণ করা ফাইলগুলির অস্তিত্ব
মধ্যে −এল ডিরেক্টরিগুলি স্পষ্টভাবে অনির্দিষ্ট আচরণ তৈরি করতে বলা হয়েছে।

POSIX.1-2008 এর সিস্টেম ইন্টারফেস ভলিউমে নির্দিষ্ট করা সমস্ত ফাংশন তৈরি করা যেতে পারে
যখন স্ট্যান্ডার্ড সি লাইব্রেরি অনুসন্ধান করা হয় তখন বাস্তবায়ন দ্বারা দৃশ্যমান। মানানসই
অ্যাপ্লিকেশনগুলিকে অবশ্যই অন্যান্য স্ট্যান্ডার্ড লাইব্রেরিগুলি অনুসন্ধান করার জন্য স্পষ্টভাবে অনুরোধ করতে হবে যখন ফাংশনগুলি
যারা লাইব্রেরি দ্বারা দৃশ্যমান করা হয় ব্যবহার করা হয়.

আইএসও সি স্ট্যান্ডার্ডে ফিজিক্যাল সোর্স অক্ষর থেকে সি সোর্সে ম্যাপিং করা হয়
অক্ষর সেট বাস্তবায়ন-সংজ্ঞায়িত করা হয়. বাস্তবায়ন সাদা-স্পেস অক্ষর ফালা হতে পারে
এই ম্যাপিংয়ের অংশ হিসাবে একটি (ভৌত) লাইনের সমাপ্তির আগে এবং একটি হিসাবে
এর ফলশ্রুতিতে, এক বা একাধিক সাদা-স্পেস অক্ষর (এবং অন্য কোন অক্ষর নেই) মধ্যে
একটি অক্ষর এবং অক্ষর যা লাইনটি শেষ করে তা উৎপন্ন করে
বাস্তবায়ন-সংজ্ঞায়িত ফলাফল। পোর্টেবল অ্যাপ্লিকেশন এই ধরনের গঠন ব্যবহার করা উচিত নয়.

কিছু c99 POSIX.1-2008-এর সাথে সঙ্গতিপূর্ণ নয় এমন কম্পাইলারগুলি ডিফল্টরূপে ট্রিগ্রাফ সমর্থন করে না।

উদাহরণ


1. নিম্নলিখিত ব্যবহার উদাহরণ কম্পাইল foo.c এবং এক্সিকিউটেবল ফাইল তৈরি করে foo বিন্যাস:

c99 −o foo বিন্যাস foo.c

নিম্নলিখিত ব্যবহার উদাহরণ কম্পাইল foo.c এবং অবজেক্ট ফাইল তৈরি করে foo.o:

c99 −c foo.c

নিম্নলিখিত ব্যবহার উদাহরণ কম্পাইল foo.c এবং এক্সিকিউটেবল ফাইল তৈরি করে a. আউট:

c99 foo.c

নিম্নলিখিত ব্যবহার উদাহরণ কম্পাইল foo.c, এর সাথে লিঙ্ক করে বার.ও, এবং তৈরি করে
এক্সিকিউটেবল ফাইল a. আউট. এটি তৈরি এবং ছেড়ে যেতে পারে foo.o:

c99 foo.c বার.ও

2. নীচের উদাহরণটি দেখায় কিভাবে থ্রেড ইন্টারফেস ব্যবহার করে একটি অ্যাপ্লিকেশন পরীক্ষা করতে পারে
32-বিট সমর্থনকারী একটি প্রোগ্রামিং পরিবেশের সমর্থন এবং ব্যবহার কোন int, দীর্ঘ, এবং ইশারা
প্রকার এবং একটি বন্ধ_টি কমপক্ষে 64 বিট ব্যবহার করে টাইপ করুন:

offbig_env=$(getconf _POSIX_V7_ILP32_OFFBIG)
if [ $offbig_env != "-1" ] && [ $offbig_env != "অনির্ধারিত" ]
তারপর
c99 $(getconf POSIX_V7_ILP32_OFFBIG_CFLAGS) \
$(getconf POSIX_V7_THREADS_CFLAGS) -D_XOPEN_SOURCE=700 \
$(getconf POSIX_V7_ILP32_OFFBIG_LDFLAGS) \
$(getconf POSIX_V7_THREADS_LDFLAGS) foo.c -o foo বিন্যাস \
$(getconf POSIX_V7_ILP32_OFFBIG_LIBS) \
-l pthread
আর
প্রতিধ্বনি ILP32_OFFBIG প্রোগ্রামিং পরিবেশ না সমর্থিত
প্রস্থান 1
fi

3. নিম্নলিখিত উদাহরণগুলি এর ব্যবহার এবং মিথস্ক্রিয়াকে স্পষ্ট করে −এল এবং ইল অপশন।

কোন মডিউল ক্ষেত্রে বিবেচনা করুন এসি কল ফাংশন f() লাইব্রেরিতে libQ.a, এবং মডিউল
খ্রিস্টপূর্ব কল ফাংশন g() লাইব্রেরিতে libp.a. অনুমান করুন যে উভয় লাইব্রেরি বসবাস করে
/a/b/c. কাঙ্খিত উপায়ে কম্পাইল এবং লিঙ্ক করার জন্য কমান্ড লাইন হল:

c99 −এল /a/b/c প্রধান.ও এসি ইল Q খ্রিস্টপূর্ব ইল p

এই ক্ষেত্রে −এল বিকল্প শুধুমাত্র প্রথম আগে প্রয়োজন ইল বিকল্প, যেহেতু উভয় libQ.a
এবং libp.a একই ডিরেক্টরিতে থাকে।

বহু −এল লাইব্রেরি নামের সংঘর্ষ ঘটলে বিকল্পগুলি ব্যবহার করা যেতে পারে। উপর বিল্ডিং
আগের উদাহরণ, ধরুন যে ব্যবহারকারী একটি নতুন ব্যবহার করতে চায় libp.a, এ /a/a/aকিন্তু
এখনও চায় f() থেকে /a/b/c/libQ.a:

c99 −এল /a/a/a −এল /a/b/c প্রধান.ও এসি ইল Q খ্রিস্টপূর্ব ইল p

এই উদাহরণে, লিঙ্কার অনুসন্ধান করে −এল নির্দিষ্ট ক্রম মধ্যে বিকল্প, এবং খুঁজে বের করে
/a/a/a/libp.a আগে /a/b/c/libp.a রেফারেন্স সমাধান করার সময় খ্রিস্টপূর্ব. এর আদেশ
দ্য ইল বিকল্পগুলি এখনও গুরুত্বপূর্ণ, যাইহোক।

4. নিচের উদাহরণটি দেখায় কিভাবে একটি অ্যাপ্লিকেশন একটি প্রোগ্রামিং পরিবেশ ব্যবহার করতে পারে যেখানে
নিম্নলিখিত ধরনের প্রস্থ: blksize_t, cc_t, mode_t, nfds_t, pid_t, ptrdiff_t,
সাইজ_টি, গতি_টি, size_t, suseconds_t, tcflag_t, wchar_t, wint_t

টাইপের প্রস্থের চেয়ে বেশি নয় দীর্ঘ:

# প্রথম পছন্দ এক of দ্য তালিকাভুক্ত পরিবেশের ...

# ... যদি কোন অতিরিক্ত সীমাবদ্ধতা না থাকে তবে প্রথমটি করবে:
CENV=$(getconf POSIX_V7_WIDTH_RESTRICTED_ENVS | head -nl)

# ... অথবা, যদি বড় ফাইল সমর্থন করে এমন একটি পরিবেশ পছন্দ করা হয়,
# "OFF64" বা "OFFBIG" আছে এমন নামগুলি সন্ধান করুন। (এটি বেছে নেয়
# তালিকার শেষটি যদি কোনটি মেলে না।)
CENV এর জন্য $(getconf POSIX_V7_WIDTH_RESTRICTED_ENVS)
do
ক্ষেত্রে $CENV ইন
*OFF64*|*OFFBIG*) বিরতি;;
যে সি
সম্পন্ন

# নির্বাচিত পরিবেশের নাম এখন এভাবে ব্যবহার করা যেতে পারে:

c99 $(getconf ${CENV}_CFLAGS) -D _POSIX_C_SOURCE=200809L \
$(getconf ${CENV}_LDFLAGS) foo.c -o foo \
$(getconf ${CENV}_LIBS)

যুক্তিসহ ব্যাখ্যা


সার্জারির c99 ইউটিলিটি এর উপর ভিত্তি করে c89 ইউটিলিটিটি মূলত ISO POSIX-2:1993-এ প্রবর্তিত হয়েছিল
মান।

থেকে কিছু পরিবর্তন c89 বিকল্প এবং অপারেন্ডগুলিকে ছেদ করার ক্ষমতা অন্তর্ভুক্ত করে
(যা অনেক c89 এটি সুনির্দিষ্ট না হওয়া সত্ত্বেও বাস্তবায়ন অনুমোদিত), বিবরণ
of ইল একটি অপারেন্ডের পরিবর্তে একটি বিকল্প হিসাবে, এবং এর বিষয়বস্তুতে পরিবর্তন
নতুন শিরোনাম এবং বিকল্পগুলির জন্য অ্যাকাউন্টে স্ট্যান্ডার্ড লাইব্রেরি বিভাগ; উদাহরণ স্বরূপ,
এর বর্ণনায় যোগ করা হয়েছে ইল rt, এবং ইল চিহ্ন ট্রেসিং বিকল্পের জন্য যোগ করা হয়েছে।

POSIX.1-2008 উল্লেখ করে যে c99 ইউটিলিটি অবশ্যই নিয়মিত ফাইল ব্যবহার করতে সক্ষম হবে *.o
ফাইল এবং জন্য a. আউট নথি পত্র. বাস্তবায়ন অন্যদের বিদ্যমান ফাইল ওভাররাইট বিনামূল্যে
অবজেক্ট ফাইল এবং এক্সিকিউটেবল ফাইল তৈরি করার চেষ্টা করার সময় টাইপ, কিন্তু প্রয়োজন হয় না
তাই করো. যদি একটি নিয়মিত ফাইল ব্যতীত অন্য কিছু নির্দিষ্ট করা হয় এবং এটি ব্যবহার করে কোনটির জন্য ব্যর্থ হয়
কারণ, c99 একটি ডায়াগনস্টিক বার্তা জারি করতে হবে এবং অ-শূন্য প্রস্থান সহ প্রস্থান করতে হবে
অবস্থা কিন্তু কিছু ফাইল প্রকারের জন্য, সমস্যাটি দীর্ঘ সময়ের জন্য লক্ষ্য করা যায় না। জন্য
উদাহরণস্বরূপ, যদি একটি ফিফো নামে a. আউট বর্তমান ডিরেক্টরিতে বিদ্যমান, c99 খোলার চেষ্টা করতে পারে
a. আউট এবং স্তব্ধ হবে খোলা() অন্য প্রক্রিয়া পড়ার জন্য FIFO খোলে না হওয়া পর্যন্ত কল করুন।
তারপর c99 অধিকাংশ লিখতে পারে a. আউট FIFO এর কাছে এবং যখন এটি কাছে ফিরে যাওয়ার চেষ্টা করে তখন ব্যর্থ হয়
একটি টাইমস্ট্যাম্প সন্নিবেশ করার জন্য ফাইলের শুরুতে (FIFOs অনুসন্ধানযোগ্য ফাইল নয়)। দ্য c99
ইউটিলিটি যদি এটি একটি সম্মুখীন হয় অবিলম্বে একটি ডায়াগনস্টিক জারি করার অনুমতি দেওয়া হয় a. আউট or *.o
ফাইল যা একটি নিয়মিত ফাইল নয়। পোর্টেবল ব্যবহারের জন্য, অ্যাপ্লিকেশন নিশ্চিত করা উচিত যে কোনো
a. আউট, −o বিকল্প-যুক্তি, বা *.o যেকোন ফাইল *.c ফাইল দ্বন্দ্ব না
এমন নাম সহ যা ইতিমধ্যেই ব্যবহার করা হচ্ছে যা নিয়মিত ফাইল বা প্রতীকী লিঙ্ক নয় যা নির্দেশ করে
নিয়মিত ফাইল।

অনেক সিস্টেমে, মাল্টি-থ্রেডেড অ্যাপ্লিকেশনগুলি একটি প্রোগ্রামিং পরিবেশে চলে
একক-থ্রেডেড অ্যাপ্লিকেশন দ্বারা ব্যবহৃত যে থেকে আলাদা। এই মাল্টি-থ্রেডেড প্রোগ্রামিং
পরিবেশ (নির্দিষ্ট করার প্রয়োজন ছাড়াও ইল pthread লিঙ্কের সময়) প্রয়োজন হতে পারে
কম্পাইলের সময় হেডার প্রক্রিয়া করা হলে অতিরিক্ত পতাকা সেট করতে হবে (−D_REENTRANT হচ্ছে
সাধারণ). এই প্রোগ্রামিং এনভায়রনমেন্ট টাইপ সাইজ প্রোগ্রামিং এর জন্য অর্থোগোনাল
উপরে আলোচিত এবং তালিকাভুক্ত পরিবেশ টেবিল 4-4, প্রোগ্রামিং এনভায়রনমেন্ট: আদর্শ
মাপ. মান এই সংস্করণ যোগ getconf সি কম্পাইলার প্রদানের জন্য ইউটিলিটি কল করে
মাল্টি-থ্রেডেড অ্যাপ্লিকেশন সমর্থন করার জন্য পতাকা এবং লিঙ্কার/লোডার পতাকা প্রয়োজন। নোট করুন যে
একটি সিস্টেম যেখানে একক-থ্রেডেড অ্যাপ্লিকেশনগুলি মাল্টি-থ্রেডেডের একটি বিশেষ ক্ষেত্রে
আবেদন, এই উভয় getconf কল NULL স্ট্রিং ফেরত দিতে পারে; অন্যান্য বাস্তবায়নের উপর
এই দুটি স্ট্রিংই নন-নাল স্ট্রিং হতে পারে।

সি স্ট্যান্ডার্ডাইজেশন কমিটি ট্রিগ্রাফ উদ্ভাবন করেছে (যেমন, "??!" প্রতিনিধিত্ব করা '|') থেকে
জাতীয় উপর ভিত্তি করে উন্নয়ন পরিবেশে অক্ষর বহনযোগ্যতার সমস্যার সমাধান করুন
7-বিট ISO/IEC 646:1991 স্ট্যান্ডার্ড ক্যারেক্টার সেটের ভেরিয়েন্ট। যাইহোক, এই পরিবেশ
প্রথম আইএসও সি স্ট্যান্ডার্ড প্রকাশিত হওয়ার সময় এবং বাস্তবে এটি ইতিমধ্যে অপ্রচলিত ছিল
ট্রিগ্রাফগুলি তাদের উদ্দিষ্ট উদ্দেশ্যে ব্যবহার করা হয়নি এবং সাধারণত এটি করার উদ্দেশ্যে করা হয়
K&R C-তে তাদের আসল অর্থ। উদাহরণস্বরূপ, অনুশীলনে একটি সি-ভাষা উৎস স্ট্রিং এর মত
"কি??!" সাধারণত দুটি অক্ষর এবং একটি দিয়ে শেষ করার উদ্দেশ্যে করা হয়
, এর মধ্যে নয় '|'.

ভবিষ্যতের দিকনির্দেশ


কোনটিই নয়।

onworks.net পরিষেবা ব্যবহার করে অনলাইনে c99posix ব্যবহার করুন


বিনামূল্যে সার্ভার এবং ওয়ার্কস্টেশন

উইন্ডোজ এবং লিনাক্স অ্যাপ ডাউনলোড করুন

লিনাক্স কমান্ডগুলি

  • 1
    abi-ট্র্যাকার
    abi-ট্র্যাকার
    abi-tracker - ABI পরিবর্তনগুলি কল্পনা করুন
    একটি C/C++ সফ্টওয়্যার লাইব্রেরির সময়রেখা।
    বর্ণনা: নাম: ABI ট্র্যাকার
    (এবি-ট্র্যাকার) ABI পরিবর্তনগুলি কল্পনা করুন
    একটি C/C+ এর টাইমলাইন...
    অ্যাবি-ট্র্যাকার চালান
  • 2
    abicheck
    abicheck
    abicheck - অ্যাপ্লিকেশন বাইনারি পরীক্ষা করুন
    ব্যক্তিগত বা বিকশিত প্রতীকগুলিতে কল করার জন্য
    লাইব্রেরিতে এবং স্ট্যাটিক লিঙ্ক করার জন্য
    কিছু সিস্টেম লাইব্রেরি। ...
    অ্যাবিচেক চালান
  • 3
    couriertcpd
    couriertcpd
    couriertcpd - কুরিয়ার মেইল ​​সার্ভার
    TCP সার্ভার ডেমন...
    couriertcpd চালান
  • 4
    couriertls
    couriertls
    couriertls - কুরিয়ার মেইল ​​সার্ভার
    TLS/SSL প্রোটোকল র‍্যাপার...
    কুরিয়ারটি চালান
  • 5
    gbp-import-dscs
    gbp-import-dscs
    gbp-import-dscs - একাধিক আমদানি করুন
    ডেবিয়ান সোর্স প্যাকেজের সংস্করণ
    একটি গিট সংগ্রহস্থলে...
    gbp-import-dscs চালান
  • 6
    gbp-import-orig
    gbp-import-orig
    gbp-import-orig - একটি আপস্ট্রিম আমদানি করুন
    একটি গিট সংগ্রহস্থলে উত্স ...
    gbp-import-orig চালান
  • আরও »

Ad