Table of Contents

পোর্টেবল সিএল কোড হচ্ছে পেশাদার সফটওয়্যার ইঞ্জিনিয়ারিং, বিভিন্ন হার্ডওয়্যার স্থাপত্য, অপারেটিং সিস্টেম এবং কম্পাইলার সিস্টেমের একটি ভিত্তি। পোর্টের মান হ্রাস, ব্যবহারকারীর ভিত্তি এবং ভবিষ্যতের প্রতিরোধ কোডের মান হ্রাস, দূর করা এবং ভবিষ্যৎ-প্রভাবের বিরুদ্ধে যুদ্ধ-বিমান পরীক্ষা, প্রকৃত ভাবে যুদ্ধ, এবং বাস্তব বিশ্বের প্রকৃত অভিজ্ঞতা অর্জনের ক্ষেত্রে সঠিক ভাবে পরিপূর্ণ।

প্লাটফর্ম পার্থক্য বোঝা

পোর্টের গতি প্রয়োগের পূর্বে, ডেভেলপারকে অবশ্যই প্লাটফর্মের মধ্যে যে ধরনের পার্থক্য রয়েছে তা স্বীকার করতে হবে। এই পার্থক্যগুলো চারটি বিস্তৃত শ্রেণী: স্ট্রেইয়ার আচরণ, অপারেটিং সিস্টেম APIs, হার্ডওয়্যার স্থাপত্য এবং রিসোর্সের বাঁধার সঙ্গে সমন্বয়।

স্পেকট্রামসUravanced URLs

CLAC, SARIC, SAVC, এবং KACC দ্বারা চিহ্নিত সামগ্রীকে ই-মেইলের মতো অন্তর্ভুক্ত করার জন্য - C স্ট্যান্ডার্ড সংখ্যা দ্বারা চিহ্নিত করা যেতে পারে । এগুলো [FOFRO:] স্বাক্ষরিত বিন্যাস, বিট, কাঠামো, এবং বিন্যাস, সুনির্দিষ্ট মান, এবং এক্সটেনশনের মান নির্ধারণের পাথ (L) নির্ধারণ করা যেতে পারে [F] [F], [F], [F], [F], মসৃণ], এবং সঠিক মান নির্ধারণ করুন

অপারেটিং সিস্টেমের মতভেদ

POSIX-setty সিস্টেম (Linux, Linux, BSD) অনেক API শেয়ার করে। কিন্তু Windows দ্বারা সিস্টেম কল-বিকাল বিভিন্ন ধরনের সিস্টেম সমর্থিত ফাইল, লিঙ্কিং, তথ্য, সিগন্যাল, সংকেত এবং নিয়ন্ত্রণ ব্যবস্থা সম্বন্ধীয় তথ্য তৈরি করার ক্ষেত্রে নিয়মিত তথ্য প্রয়োজন হয় (সিস্টেম অথবা নিজের ক্ষেত্রে)। কোনো বৈশিষ্ট্য অথবা POSIX (Linux, আনা) আর্গুমেন্টগুলি (F) উপলব্ধ করা প্রয়োজন।

হার্ডওয়্যার স্থাপত্য ও সমাপ্তি

(৩২ বিট বনাম ৬৪ বিট) এর মধ্যে প্রসেসরের পার্থক্য রয়েছে, বাইটের অনুক্রম (Bitnendendendendian অথবা ছোট হরফে), ইঙ্গিত এবং নির্দেশনার প্রয়োজন বোধ করা হয় যে, এই কোডটি [FLT4:] দ্বারা একটি পয়েন্টারের মান ৩২ বিট প্রতিস্থাপিত হবে অথবা ৮.৫ বাইটের মধ্যে স্থানান্তর করা হলে বিভিন্ন প্ল্যাটফর্মের জন্য গুরুত্বপূর্ণ তথ্য স্থানান্তর করা হবে।

রিসোর্সের সীমা

এমবেড করা সিস্টেম অথবা গভীর মাপের টার্গেটের মধ্যে কোনো অপারেটিংিং সিস্টেমের অভাব থাকতে পারে, এবং সীমিত বিন্যাসে উপলব্ধ বিন্যাসের সাথে [FR:] [FL] বাস্তবায়নের উদ্দেশ্যে উপলব্ধ করা হয় । সুনির্দিষ্ট কোডগুলি মেমরি এবং রানার বিষয়ে অনুমান করা এড়িয়ে চলতে হবে ।

পোর্টেবল C কোডের জন্য সর্বোত্তম অনুশীলন

আদর্শ কব্রয়

C প্রমিত লাইব্রেরি (ISOI/S) একটি বেস-লাইনের মাধ্যমে উপলব্ধ সকল ট্র্যাকের মান নির্ধারণ করা হয়। সকল ট্র্যাকের ক্ষেত্রে [FLTR], [FOPR], [FLT], এবং[FONE:], একই রকম প্ল্যাটফর্মের অনুরূপ মান নির্দেশ করে [FOL], [FO[F]: [F], 2 [F]: [F], যেকোনো ক্ষেত্রে প্রযোজ্য নয়]

সুনির্দিষ্ট সীমা সহযোগে পূর্বনির্দিষ্ট পূর্ণসংখ্যা ধরন ব্যবহার করা হবে

[[[[[F] হেডার [F], যেমন [FFLT], [FLT] এবং[FLT] । যে সঠিক মাপগুলো নিশ্চিত করে [FLT], যে মান সম্পূর্ণভাবে ব্যবহার করে ।\ t\ t[F] - উদাহরণ, যখন আপনি বিষয়টির সীমা নির্ধারণ করুন - উদাহরণ, যেমন, যখন PROFOF[F],FOF[F], এবং, এই বিন্যাস ব্যবহার করুন [F] - >

#include <stdint.h>
#include <inttypes.h>
int32_t val = -100;
printf("Value: %" PRId32 "\n", val);

মৌলিক ধরন সম্বন্ধে speums এড়িয়ে চলুন

[[[][F]][F], 1:L][FLT], 2:[F2]] [FLT [F]] উল্লিখিত হয়। সাধারণ [FLT [F]:] [FO [L]:] [F], প্রথম, প্রথম, প্রথম.এফ.এফ.এফ.এফ.এল,] [/ এও [/]:] [/[/b]]]:::: [F], দ্রুত, 1 [F]]] [/b]:: [/b]] [/LAN, URL, বর্তমানে ব্যবহৃত হয়েছে [/b]

( ১ করি.

মেশিন জুড়ে বাইনারি তথ্য আদান-প্রদান করার সময় (network, ফাইল, ফাইল, শেয়ার করা অথবা শেয়ার মেমরি), সর্বদা পরিচিত নেটওয়ার্ক বাইটের অনুক্রম (বিস্মৃতি) - POSIX ফাংশন [FOD:L] [FPL], [F3:], [FPL], [F], উপলব্ধ সিস্টেমের জন্য উপলব্ধ করা হবে; স্থানীয় ফাইল [F]: [F], উপস্থিত ফাইল, ব্যবহারকারীর জন্য উপলব্ধ করা হবে; এবং সম্পূর্ণ পাথের মাধ্যমে উপলব্ধ), আপনার নিজের প্রয়োগ করা হবে না [FL]: [FL], শুধুমাত্র নিজের প্রয়োগ করা হবে [FIL]: [FL] [FL] [FDRIP, অনুসন্ধানের জন্য উপলব্ধ করা হয়

অ্যাবস্ট্র্যাক্ট ফাইল-সিস্টেম সংক্রান্ত কর্ম

ফাইলের পাথের মান অপরিবর্তিত রয়েছে ([[[FLT], [Fit:] Windows.[F.323[[F], বা ছোট একটা ফাংশন ব্যবহার করুন। CLTION: [F8:] / homeCONED [F] POSIX [F8]; Windows © - এ একই ধরনের পাথগুলি উল্লেখ করা যাবে [F]; কিন্তু একই ধরনের OD [F]:L [F] সংশোধন করা যাবে না । একই পাথের মাধ্যমে CLOSED [FD [F]: [F8]

ছোট করুন এবং প্রভাবিতকরণ আচরণ

উদাহরণের মধ্যে স্বাক্ষরিত সংখ্যার পরিমাণ, টাইপের প্রস্থের চেয়ে অধিক হারে বৃদ্ধি করা, এবং [FFO:]] সংশোধন করার জন্য quantizeing বিশ্লেষকের সংখ্যা [FOPL] ব্যবহার করুন [FOPL]:[F]:[F], চিহ্নিত মান লেখা হয় না, তাই [F] [F], স্থানীয়]:[F], এবং CL[L], এবং সংখ্যা, এই কোডগুলি লিখতে হবে [F], এবং রকাশ]:[f], এই বিন্যাসের সাথে উপলব্ধ করা হয় ।

কম্পাইলার ত্রটিকাল নির্বাচনের জন্য Levaje প্রিমিক্স প্রিসেট

ম্যাক্রোর বরাদ্দ করা হয় প্ল্যাটফর্মের সুনির্দিষ্ট কোডের জন্য, কিন্তু অপব্যবহারের ফলে যেকোন বস্তুর জন্য বিপর্যয় ঘটতে পারে । পরিচিত ম্যাক্রো: [FL], [FFL], [FL], [FL], [FL], [F3:L], [FL], এবং সকল সংক্ষিপ্ত প্ল্যাটফর্মের জন্য বিন্যাস নির্ধারণ করা হয় [F] [F] [F], প্রত্যেকটা] [F], এবং প্রতিটি] সীমা উল্লেখ করা হয় [FL] [FL]] [F]:L]] [FL]] [FL], এবং সর্বদা বিভাজন করে [L]]

#ifdef _WIN32
 #include <windows.h>
 #define SLEEP(ms) Sleep(ms)
#else
 #include <unistd.h>
 #define SLEEP(ms) usleep((ms)*1000)
#endif

সিস্টেম কলয়ের জন্য আন্তঃস্পদেশ স্তর ব্যবহার করুন

থ্রেড, সকেট, টাইমার এবং মেমরি ব্যবস্থাপনার জন্য সংক্ষিপ্ত বর্ণনা। উদাহরণস্বরূপ, [FR] সংজ্ঞায়িত করুন [FR] প্রথম ও [FL]:L [FDL] এর জন্য SL [FOP]:L [FLTF] বিকল্পের জন্য] [FOD [F]::L], [FOD [F]::L]G [F], প্রথম দিকে]:::L.FOD [F.F.F.F.F.F.F.D.F.:::::::::::L.F.F.F.F.F.L.D.D.L.F.F.D.S.L.D.S.D.L.D.L.X.X::L.D.F.এফ.::L.:L.D.:L.L.:L.D.D.D.D.L.:L.D.L.L.D.D.L.:L.D.:L.:L.D.জ.D.:L.:L.D.:L.D.

প্রাথমিক এবং প্রায়ই একাধিক প্ল্যাটফর্ম পরীক্ষা

অবিরাম আণবিক একত্রীকরণ (CI) পাইপ সমূহকে লিনাক্স, ম্যাক, ম্যাকোওএস, এবং যে কোন প্রান্তের পরীক্ষা করতে হবে। ক্রসারের (যেমন, QMOU) সাহায্যে স্থাপত্যের জন্য সুনির্দিষ্টভাবে পরীক্ষা করতে হলে, সুনির্দিষ্টভাবে নির্ধারণের পদ্ধতি ব্যবহার করুন: [FOFROF] [F]:[F]]

উচ্চ পর্যায়ের পোর্ট টেকনেটিকস

CPM অথবা autotools দ্বারা সিস্টেমের কনফিগারেশন নির্মাণ করা হবে

আধুনিক নির্মাণ ব্যবস্থা সময় কনফিগার করা হবে । CPM[FLT], [FFLT] [FLT], [FFLT] এবং [FFLT] মডিউল একটি [FLT] নির্মাণ করে একটি [FLT] [Fgt:] এই কোডের পরিবর্তে [FR] - tp [F]] নির্মাণ করা যাবে । [F] [F] [F]] [F] [F]] এই কোডটি মুছে ফেলা যাবে । [F] [F]] [FD] [F]] [F] [F]]: একটি বিন্দু সহ একটি বিন্দুর পরিবর্তে প্রতিটি]: [F]] এর পরিবর্তে একটি বৃত্ত যুক্ত করা যেতে পারে । [F] [F] [F]] [F] [F]] [F]] [F] [F]]:: একটি সহযোগে একটি বিন্দুর পরিবর্তে একটি বিন্দুর সাথে সংযোজন সংযোজন করা হবে

// Generated config.h
#define HAVE_STDINT_H 1
#define WORDS_BIGENDIAN 0
#define SIZEOF_LONG 8

পোর্ট-বলয়

কর্মক্ষমতার জন্য প্ল্যাটফর্মের সুনির্দিষ্ট নির্দেশনা (যেমন, SIMD, SIMD, CPUD, সেগুলি আলাদা ফাইল ফাইল ধারণ করে সেগুলি নির্বাচন করুন ও বিল্ড করার সময় ফাইল নির্বাচন করুন ।\ t\ t\ t\ t

মৃগীক্ষারীয় তথ্য গঠন

কাঠামো নির্মাণ ও দিশা আলাদা ।[FLT][FLT] এবং[F1] C11] CLAY [F2::[F22]]) C11 [F2::::::LL [F66]]) CROSALL [L]) CROTIL [L] ভিত্তিক মীমাংসার মাধ্যমে উপলব্ধ SIL [L], [FL] WED [L]] দ্বারা বরাদ্দ করা হয় ।

সংকেতের পরিচালনা

সংকেত কনস্ট্যান্ট ([[[[[[[F]], [FLT] এবং নিরাপদ সংকেত ব্যবস্থা : [FLT] অত্যাধিক বড় [FO[FLT] বয়স্ক [FLT] এর জন্য উচিত। Windows; Windows+ME:Rect.L], ডিবাগ প্রণালী দ্বারা সাধারণ সিগন্যাল প্রাপ্ত সংকেতের সাহায্যে আউটপুটের মধ্যে নিষ্ক্রিয় করা হয়।

প্রকৃত বিশ্ব নাগরিকত্ব এবং কীভাবে তা এড়িয়ে চলতে হবে

[[F] একটি বিকল্প ছাড়া৬ [FLT]

[[F][FLT] POSIX(1] - তে আদর্শ সেট করা হয়) কিন্তু বিভিন্ন প্ল্যাটফর্ম ও পুরোনো উইন্ডোজ এনভায়রনমেন্টে অনুপস্থিত। একটি পোর্ট যেমন [FOL] ব্যবহার করুন [FOL][FOPL][F1]:] অথবা [F1] এর সর্বনিম্ন দৈর্ঘ্য [F1] এর নিচে উল্লেখ করা হয়

অনুমান [[F] [F] একটি স্বাক্ষরকারী কি

C প্রমিত মান [FLT] [FLT]] হচ্ছে একটি প্রকৃত ধরন যা প্রতিনিধিত্বের উদ্দেশ্যে ব্যবহৃত হয় । কিছু কিছু সিস্টেমে এটি একটি unsigned ৩২বিট মান; অন্য যে কোন অপারেটিং পূর্ণসংখ্যা; এটি ৬৪:৭.৭ বিট অনুসারে কাজ করা যাবে না [F], বা তার মান পরীক্ষা করা যাবে না । [F]

সিস্টেম কলে নেগিং থ্রেডা

ফাংশন [[[F][FLT], [FLT] এবং[FFLT] স্থায়ী বাফার ব্যবহার করে না [FLT] এবং W:LUGROBRECTRONNECT LOG [F7::[F8:] [F8], যেখানে পুনরায় নির্মাণ করা হবে, এবং পরবর্তী প্ল্যাটফর্মের সংখ্যাগুলো সরবরাহ করার জন্য [F], সেখানে উপস্থিত প্ল্যাটফর্মের সংখ্যা: [FD [F], FD [FD [F]::::::L.F.F.F.F.F.D.L.L.D.L.F.L.L.D.Z

অন্তর্ভুক্ত

লেখার উদ্দেশ্যে পোর্টেবল CRT একটি নিয়ম এবং একটি বিনিয়োগ উভয়ই একটি নিয়ম। C সাধারণ পদ্ধতির প্রতি আঁকড়ে ধরে, নির্দিষ্ট পদ্ধতিতে সিস্টেমের ধরন, বিচ্ছিন্নকরণ পদ্ধতি, এবং বিভিন্ন প্ল্যাটফর্মের উপর ভিত্তি করে পরীক্ষা করা, ডেভেলপাররা এমন সফটওয়্যার তৈরি করতে পারে যেগুলো সুপারকমকার থেকে শুরু করে মাইক্রোপুটার- কন্ট্রোলারের মাধ্যমে সংরক্ষিত হয়। এখানে আধুনিক কনফিগারেশন পদ্ধতিটি বিশ্লেষণের মাধ্যমে; এটি একটি স্থায়ী সমাধানের লক্ষ্যের কথা মনে রাখা যাবে না।