% P দিয়ে নাল পয়েন্টার মুদ্রণ করা কি অপরিবর্তিত আচরণ?


93

%pরূপান্তরকরণ নির্দিষ্টকারীর মাধ্যমে নাল পয়েন্টারগুলি মুদ্রণ করা কি অপরিজ্ঞাত আচরণ ?

প্রশ্নটি সি স্ট্যান্ডার্ডে প্রযোজ্য, এবং সি বাস্তবায়নের ক্ষেত্রে নয়।


এটিকে আসলে কেউ ভাবেন না যে (সি কমিটি সহ) কেউ এ সম্পর্কে খুব বেশি যত্নশীল। এটি (বা প্রায় কোনও নয়) ব্যবহারিক তাত্পর্য সহ একটি বেশ কৃত্রিম সমস্যা।
পি__জে পোল্যান্ডের

UB আমি পয়েন্টার করা যাবে না (শূন্য তার টাইপ মান জন্য একটি বৈধ আছে - যেমন printf, শুধুমাত্র মান প্রদর্শন করা হয়, এবং স্পর্শ না (পড়া বা সরু বস্তুর লেখার মানে মধ্যে) এটা বৈধ মান)
P__J মহিলাদের সমর্থন পোল্যান্ড

4
@ পিটারজে আসুন আপনি যা বলছেন তা সত্য (যদিও স্পষ্টভাবে প্রমিতভাবে অন্যথায় বলা হয়েছে) বলুন, একা সত্য, আমরা এই নিয়ে বিতর্ক করছি যা প্রশ্নটিকে একটি বৈধ এবং সঠিক করে তোলে, কারণ এটি দেখায় যে মানটির নীচে উদ্ধৃত অংশটি দেখায় একজন নিয়মিত বিকাশকারীকে বুঝতে খুব অসুবিধা হচ্ছে হ্যাক কী চলছে .. অর্থ: প্রশ্নটি নীচের ভোটের যোগ্য নয়, কারণ এই সমস্যার স্পষ্টতা প্রয়োজন!
পিটার ভারো

4
সম্পর্কিত: stackoverflow.com/q/10461360/694576
এক্ক

4
@ পিটারজে এটি তখন আলাদা গল্প, স্পষ্টির জন্য ধন্যবাদ :)
পিটার ভারো

উত্তর:


93

এটি এমন এক অদ্ভুত কোণার ক্ষেত্রে যেখানে আমরা ইংরেজী ভাষার সীমাবদ্ধতা এবং মানের সাথে বেমানান কাঠামোর সাপেক্ষে। সুতরাং সর্বোপরি, আমি একটি বাধ্যমূলক পাল্টা যুক্তি তৈরি করতে পারি, কারণ এটি প্রমাণ করা অসম্ভব :) 1 1


প্রশ্নের কোডটি সু-সংজ্ঞায়িত আচরণ প্রদর্শন করে।

হিসাবে [7.1.4] প্রশ্ন ভিত্তিতে, এর সেখানে শুরু করা যাক:

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

এটি আনাড়ি ভাষা। একটি ব্যাখ্যা হ'ল তালিকার আইটেমগুলি সমস্ত লাইব্রেরির ফাংশনগুলির জন্য ইউবি হয়, যদি না পৃথক বিবরণ দ্বারা ওভাররাইড করা হয়। তবে তালিকাটি "যেমন" দিয়ে শুরু হয়, এটি ইঙ্গিত করে যে এটি চিত্রকর নয়, সম্পূর্ণ নয়। উদাহরণস্বরূপ, এটি স্ট্রিংগুলির সঠিক নাল-সমাপ্তির উল্লেখ করে না (উদাহরণস্বরূপ আচরণের জন্য সমালোচনা strcpy)।

সুতরাং এটি 7.1.4 এর অভিপ্রায় / স্কোপটি স্পষ্টভাবে হ'ল একটি "অবৈধ মান" ইউবি বাড়ে ( অন্যথায় না বলা হয় ) to একটি "অবৈধ মান" হিসাবে গণনা করা হবে তা নির্ধারণ করতে আমাদের প্রতিটি ফাংশনের বর্ণনার দিকে নজর রাখতে হবে।

উদাহরণ 1 - strcpy

[.2.২১.২.৩] কেবল এটিই বলেছেন:

strcpyফাংশন কপি স্ট্রিং দ্বারা প্রতি ইঙ্গিত s2(সসীম নাল চরিত্র সহ) অ্যারের মধ্যে দ্বারা প্রতি ইঙ্গিত s1। যদি অনুলিপি করা বস্তুগুলির মধ্যে অনুলিপি হয়, তবে আচরণটি সংজ্ঞায়িত।

এটি নাল পয়েন্টারগুলির স্পষ্টভাবে উল্লেখ করে না, তবুও এটি নাল টার্মিনেটরগুলির কোনও উল্লেখ করে না। পরিবর্তে, "স্ট্রিং পয়েন্ট টু বাই s2" থেকে একটি সূত্র নির্ধারণ করে যে একমাত্র বৈধ মানগুলি স্ট্রিং (যেমন নাল-টার্মিনেটেড ক্যারেক্টার অ্যারেগুলিতে পয়েন্টার)।

প্রকৃতপক্ষে, পৃথক বর্ণনা জুড়ে এই প্যাটার্নটি দেখা যায়। আরও কয়েকটি উদাহরণ:

  • [7.6.4.1 (fenv)] বর্তমান ফ্লোটিং পয়েন্ট পরিবেশে সঞ্চয় বস্তুর প্রতি ইঙ্গিত দ্বারাenvp

  • [7.12.6.4 (frexp)] int- এ মধ্যে পূর্ণসংখ্যা সংরক্ষণ তীক্ষ্ন বস্তুর দ্বারাexp

  • [7.19.5.1 (fclose সাথে)] প্রবাহ প্রতি ইঙ্গিত দ্বারাstream

উদাহরণ 2 - printf

[7.19.6.1] এ সম্পর্কে বলেছেন %p:

p- যুক্তি একটি পয়েন্টার হতে হবে void। নির্দেশকের মান প্রয়োগকরণ-সংজ্ঞায়িত পদ্ধতিতে মুদ্রণ অক্ষরের ক্রমতে রূপান্তরিত হয়।

নাল একটি বৈধ পয়েন্টার মান, এবং এই বিভাগটি কোনও স্পষ্টভাবে উল্লেখ করে না যে নালটি একটি বিশেষ ক্ষেত্রে, বা পয়েন্টারটিকে কোনও বস্তুর দিকে নির্দেশ করতে হবে। সুতরাং এটি আচরণ সংজ্ঞায়িত হয়।


১. যদি না কোনও মান লেখক এগিয়ে না আসে, বা যদি না আমরা যুক্তি সংক্রান্ত নথির অনুরূপ কিছু খুঁজে পাই যা জিনিসগুলিকে স্পষ্ট করে দেয়।


মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
ভার্গব রাও

4
"তবুও এটি নাল টার্মিনেটরগুলির কোনও উল্লেখ করে না" উদাহরণ 1 - strcpy এ দুর্বল বলে উল্লেখ করা হয়েছে কারণ " স্ট্রিংটি অনুলিপি করে" str স্ট্রিং স্পষ্টভাবে একটি নাল চরিত্র হিসাবে সংজ্ঞায়িত করা হয় ।
chux - মনিকা পুনরায় স্থাপন করুন

4
@chux - ওটা কিছুটা আমার পয়েন্ট নেই - এক হয়েছে অনুমান কি বৈধ / প্রসঙ্গ থেকে অবৈধ এর বদলে অনুমান 7.1.4 মধ্যে তালিকা সম্পূর্ণ নয়। (যাইহোক, আমার উত্তরের এই অংশটির অস্তিত্বটি সেই মন্তব্যগুলির প্রসঙ্গে কিছুটা আরও অনুভূতি তৈরি করেছে যেগুলি যুক্তি দিয়েছিল যে স্ট্রাইকপিটি একটি পাল্টা উদাহরণ ছিল))
অলিভার চার্লসওয়ার্থ

4
ইস্যুটির ক্রুक्सটি কীভাবে পাঠককে এরূপ ব্যাখ্যা করবেন । এর অর্থ কী সম্ভাব্য অবৈধ মানগুলির কয়েকটি উদাহরণ ? এর অর্থ কি এমন কিছু উদাহরণ যা সর্বদা অবৈধ মান ? রেকর্ডের জন্য, আমি প্রথম ব্যাখ্যার সাথে যাই।
নিনজালজ

4
@ নিনজালজ - হ্যাঁ, একমত মূলত আমি এখানে আমার উত্তরে জানাতে চাইছি, অর্থাত্ "এগুলি এই ধরণের জিনিসগুলির উদাহরণ যা অবৈধ মান হতে পারে"। :)
অলিভার চার্লসওয়ার্থ

20

সংক্ষিপ্ত উত্তর

হ্যাঁ%pরূপান্তর স্পেসিফায়ার দিয়ে নাল পয়েন্টার মুদ্রণের সাথে অপরিবর্তিত আচরণ রয়েছে। এটি বলার পরে, আমি কোনও বিদ্যমান মেনে চলার বাস্তবায়ন সম্পর্কে অসচেতন, যা খারাপ ব্যবহার করবে।

উত্তরটি কোনও সি স্ট্যান্ডার্ড (সি 98 / সি 99 / সি 11) এর জন্য প্রযোজ্য।


দীর্ঘ উত্তর

%pরূপান্তর specifier অকার্যকর করতে টাইপ করুন পয়েন্টার একটি আর্গুমেন্ট প্রত্যাশা অনুযায়ী মুদ্রণযোগ্য অক্ষর পয়েন্টার রূপান্তর বাস্তবায়ন-সংজ্ঞায়িত করা হয়। এটি নাল পয়েন্টার প্রত্যাশিত বলে উল্লেখ করে না।

স্ট্যান্ডার্ড লাইব্রেরি ফাংশনগুলির পরিচিতিতে বলা হয়েছে যে নাল পয়েন্টারগুলিকে (স্ট্যান্ডার্ড লাইব্রেরি) ফাংশনগুলির আর্গুমেন্ট হিসাবে অবৈধ মান হিসাবে বিবেচনা করা হয়, যদি না তা অন্যথায় স্পষ্টভাবে বর্ণিত না হয়।

C99 / C11 §7.1.4 p1

[...] যদি কোনও ফাংশনের পক্ষে যুক্তির একটি অবৈধ মান থাকে (যেমন [...] নাল পয়েন্টার, [...] আচরণটি অপরিবর্তিত থাকে।

(স্ট্যান্ডার্ড লাইব্রেরি) ফাংশনের উদাহরণ যা বৈধ যুক্তি হিসাবে নাল পয়েন্টার আশা করে:

  • fflush() "সমস্ত স্ট্রিম" ফ্লাশ করার জন্য নাল পয়েন্টার ব্যবহার করে (এটি প্রযোজ্য)।
  • freopen() স্ট্রিমের সাথে "বর্তমানে যুক্ত" ফাইলটি ইঙ্গিত করার জন্য নাল পয়েন্টার ব্যবহার করে।
  • snprintf() 'n' শূন্য হলে নাল পয়েন্টারটি পাস করতে দেয়।
  • realloc() একটি নতুন অবজেক্ট বরাদ্দ করার জন্য একটি নাল পয়েন্টার ব্যবহার করে।
  • free() একটি নাল পয়েন্টার পাস করতে দেয়।
  • strtok() পরবর্তী কলগুলির জন্য একটি নাল পয়েন্টার ব্যবহার করে।

যদি আমরা কেসটি বিবেচনা করি তবে snprintf()'এন' শূন্য হলে নাল পয়েন্টারটি পাস করার অনুমতি দেওয়া বুদ্ধিমান হয়ে যায় তবে এটি অন্যান্য (স্ট্যান্ডার্ড লাইব্রেরি) ফাংশনগুলির ক্ষেত্রে নয় যা অনুরূপ শূন্য 'এন' মঞ্জুরি দেয়। উদাহরণস্বরূপ: memcpy(), memmove(), strncpy(), memset(), memcmp()

এটি কেবল স্ট্যান্ডার্ড লাইব্রেরির পরিচিতিতেই সুনির্দিষ্ট করা হয় নি, আবার এই ফাংশনগুলির পরিচিতিতে আবারও:

C99 §7.21.1 p2 / C11 §7.24.1 p2

যেখানে size_tn হিসাবে ঘোষিত একটি আর্গুমেন্ট কোনও ফাংশনের জন্য অ্যারের দৈর্ঘ্য নির্দিষ্ট করে, n সেই ফাংশনের কলটিতে মান শূন্য থাকতে পারে। এই সাবক্লাউসের কোনও নির্দিষ্ট ফাংশনের বর্ণনায় স্পষ্টভাবে অন্যথায় বর্ণিত না হলে, এই জাতীয় কলটিতে পয়েন্টার যুক্তিগুলির এখনও .1.১.৪ বর্ণিত বৈধ মান থাকতে হবে।


এটা কি ইচ্ছাকৃত?

আমি জানি না যে %pনাল পয়েন্টারযুক্ত UB আসলে ইচ্ছাকৃত কিনা , তবে যেহেতু স্ট্যান্ডার্ড স্পষ্টভাবে বলে যে নাল পয়েন্টারগুলি স্ট্যান্ডার্ড লাইব্রেরি ফাংশনের যুক্তি হিসাবে অবৈধ মান হিসাবে বিবেচিত হয়, এবং তারপরে এটি যায় এবং স্পষ্টভাবে কেসগুলিকে নির্দিষ্ট করে যেখানে নাল পয়েন্টার একটি বৈধ যুক্তি (snprintf, মুক্ত, ইত্যাদি), এবং তারপর এটি যায় এবং আবার প্রয়োজন পুনরাবৃত্তি আর্গুমেন্ট শূন্য এমনকি বৈধ বলে জন্য 'এন' বিষয় ( memcpy, memmove, memset), তারপর আমার মনে হয় এটা অনুমান করা যে যুক্তিযুক্ত এর সি স্ট্যান্ডার্ড কমিটি এ জাতীয় বিষয়গুলির অপরিবর্তিত থাকার বিষয়ে খুব বেশি উদ্বিগ্ন নয়।


মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
ভার্গব রাও

4
@ জিরোয়ানমাস্টার্ট: এই যুক্তির উদ্দেশ্য কী? 7.1.4 এর প্রদত্ত উদ্ধৃতিটি বরং স্পষ্ট, এটি কি নয়? সেখানে সম্পর্কে তর্ক হয় "যদি না স্পষ্টভাবে অন্যথায় বিবৃত" যখন এটি হয় হচ্ছে না অন্যথায় বিবৃত? (অসম্পৃক্ত) স্ট্রিং ফাংশন লাইব্রেরিতে একটি অনুরূপ শব্দ রয়েছে তাই এই শব্দটি যথাযথ বলে মনে হয় না এই বিষয়ে তর্ক করার কী আছে? আমি মনে করি এই উত্তর (যখন সত্যিই দরকারী না বাস্তবে ) হিসেবে সঠিক হতে পারে হয়।
দামন

4
@ ড্যামন: আপনার পৌরাণিক হার্ডওয়্যারটি পৌরাণিক নয়, প্রচুর আর্কিটেকচার রয়েছে যেখানে বৈধ ঠিকানাগুলি প্রতিনিধিত্ব করে না এমন মানগুলি ঠিকানা নিবন্ধগুলিতে লোড করা যায় না। ফাংশন আর্গুমেন্ট হিসাবে নাল পয়েন্টারগুলি পাস করার জন্য এখনও সেই প্ল্যাটফর্মগুলিতে একটি সাধারণ প্রক্রিয়া হিসাবে কাজ করা আবশ্যক। কেবল স্ট্যাকের উপর একটি রাখলে জিনিসগুলিকে ধাক্কা দেওয়া হবে না।
জেরোইন মোস্টার্ট

4
@ অ্যান্টোলিগ: এক্স ৮86। প্রসেসরে, ঠিকানাগুলির দুটি অংশ থাকে - একটি বিভাগ এবং একটি অফসেট। 8086-এ, সেগমেন্টের রেজিস্টার লোড করা অন্য যে কোনও লোড করার মতো, তবে পরবর্তী সমস্ত মেশিনে এটি একটি বিভাগের বিবরণী নিয়ে আসে। একটি অবৈধ বর্ণনাকারী লোড করা একটি ফাঁদ সৃষ্টি করে। 80386 ও পরবর্তীকালের প্রসেসর কোড অনেক, তবে, শুধুমাত্র একটি অংশ ব্যবহার, এবং এইভাবে কখনো লোড সেগমেন্ট রেজিস্টার সব সময়ে
সুপারক্যাট

4
আমি মনে করি সবাই একমত হবে যে দিয়ে নাল পয়েন্টার মুদ্রণ %p
এমএম

-1

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

কোনও কিছু ইউবির কাছে প্রার্থনা করে কিনা এই প্রশ্নটি খুব কমই হয় এবং এটি নিজেই কার্যকর। গুরুত্বের আসল প্রশ্নগুলি হ'ল:

  1. যে কেউ গুণমানের সংকলক লেখার চেষ্টা করছে সে কি এটি পূর্বাভাসযোগ্য ফ্যাশনে আচরণ করবে? বর্ণিত দৃশ্যের জন্য উত্তরটি পরিষ্কারভাবে হ্যাঁ।

  2. প্রোগ্রামাররা কি প্রত্যাশাযোগ্য ফ্যাশনে সাধারণ প্ল্যাটফর্মের অনুরূপ যে কোনও মানের মানের সংকলক আচরণ করবে বলে আশা করার অধিকারী হওয়া উচিত? বর্ণিত দৃশ্যে, আমি উত্তরটি হ্যাঁ বলব।

  3. কিছু অবাস্তব সংকলক লেখক স্ট্যান্ডার্ডটির ব্যাখ্যাটি প্রসারিত করতে পারেন যাতে কোনও অদ্ভুত কিছু করার ন্যায্যতা প্রমাণ করতে পারে? আমি আশা করব না, তবে তা বাতিল করব না।

  4. সংমিশ্রিতকারীদের স্যানিটাইজিংয়ের আচরণ সম্পর্কে ঝগড়া করা উচিত? এটি তাদের ব্যবহারকারীর প্যারানয়েয়ার স্তরের উপর নির্ভর করবে; স্যানিটাইজিং সংকলক সম্ভবত এই জাতীয় আচরণ সম্পর্কে ঝাঁকুনির জন্য ডিফল্ট হওয়া উচিত নয়, তবে সম্ভবত প্রোগ্রামগুলি "চতুর" / বোবা সংকলকগুলিতে বিভক্ত হয়ে থাকতে পারে এমন একটি কনফিগারেশন বিকল্প সরবরাহ করতে পারে।

যদি স্ট্যান্ডার্ডটির যুক্তিসঙ্গত ব্যাখ্যাটি বোঝায় যে কোনও আচরণকে সংজ্ঞায়িত করা হয় তবে কিছু সংকলক লেখক অন্যথায় করাটি ন্যায়সঙ্গত করার জন্য ব্যাখ্যাটি প্রসারিত করেন, স্ট্যান্ডার্ড কী বলে তা কি সত্যই গুরুত্ব দেয় না?


১. প্রোগ্রামাররা আধুনিক / আক্রমণাত্মক অপ্টিমাইজারের দ্বারা তৈরি করা অনুমানগুলি "যুক্তিসঙ্গত" বা "গুণমান" বলে বিবেচনা করার সাথে দ্বন্দ্বপূর্ণ হওয়া খুঁজে পাওয়া অস্বাভাবিক নয় not ২. স্পেসিফিকেশনের ক্ষেত্রে যখন অস্পষ্টতার বিষয়টি আসে, তখন বাস্তবায়নকারীরা কী স্বাধীনতা তারা গ্রহণ করতে পারে তা নিয়ে মতবিরোধ হওয়া অস্বাভাবিক কিছু নয়। ৩. যখন সি স্ট্যান্ডার্ড কমিটির সদস্যদের কথা আসে, তারা এমনকি 'সঠিক' ব্যাখ্যাটি কী তা সম্পর্কে সর্বদা একমত হয় না, এটি কী হওয়া উচিত তা ছেড়ে দিন । পূর্বোক্ত দেওয়া, আমাদের যুক্তিসঙ্গত ব্যাখ্যা অনুসরণ করা উচিত?
ভয়ঙ্কর কে।

6
ইউবির প্রয়োজনীয়তা সম্পর্কে আপনি কী ভাবেন বা সংকলকগণকে কীভাবে আচরণ করা উচিত সে সম্পর্কে একটি প্রবন্ধ সহ এই "কোডটির এই নির্দিষ্ট অংশটি ইউবিকে আহ্বান জানায় বা না" এই প্রশ্নের উত্তর দেওয়া, একটি উত্তরের একটি নিখুঁত প্রচেষ্টা, বিশেষত যেহেতু আপনি এটিকে অনুলিপি করতে পারেন তেমন নির্দিষ্ট ইউবি সম্পর্কে প্রায় কোনও প্রশ্নের উত্তর আপনার বক্তৃতা সমৃদ্ধ হিসাবে একটি উত্সাহ হিসাবে: হ্যাঁ, এটি স্ট্যান্ডার্ড যা বলছে তা সত্যই গুরুত্ব দেয়, কিছু সংকলক লেখক যা করেন বা আপনি এটি করার জন্য তাদের কী ভাবেন, কারণ স্ট্যান্ডার্ডটি প্রোগ্রামার এবং সংকলক লেখক উভয় থেকেই শুরু করে।
জেরোইন মোস্টার্ট

4
@ জিরোয়ানমোস্টার্ট: "কি এক্স অনির্ধারিত আচরণের ডাক দেয়" এর উত্তর প্রায়শই প্রশ্নের দ্বারা বোঝানো বলতে বোঝায়। যদি কোনও প্রোগ্রামকে অপরিবর্তিত আচরণ বলে গণ্য করা হয় যদি মানক একটি অনুসারী বাস্তবায়নের আচরণের উপর কোনও প্রয়োজনীয়তা চাপায় না, তবে প্রায় সমস্ত প্রোগ্রামই ইউবিকে ডাকে। স্ট্যান্ডার্ডের লেখকগণ স্পষ্টতই প্রয়োগগুলি নির্বিচারে ফ্যাশনে আচরণ করার অনুমতি দেয় যদি কোনও প্রোগ্রামের বাসা ফাংশনটি খুব গভীরভাবে কল করে, যতক্ষণ না কোনও বাস্তবায়ন যথাযথভাবে স্ট্যান্ডার্ডের অনুবাদ সীমাটি ব্যবহার করে এমন কমপক্ষে একটি (সম্ভবত অনুমোদিত) উত্স পাঠ্যকে সঠিকভাবে প্রক্রিয়া করতে পারে।
সুপারক্যাট

@ সুপের্যাট: printf("%p", (void*) 0)স্ট্যান্ডার্ড অনুসারে খুব ইন্টারেস্টিং, তবে কি অপরিবর্তিত আচরণ নাকি না? গভীরভাবে নেস্টেড ফাংশন কলগুলি চীনের চায়ের দামের মতোই এর সাথে প্রাসঙ্গিক। এবং হ্যাঁ, রিয়েল-ওয়ার্ল্ড প্রোগ্রামগুলিতে ইউবি খুব সাধারণ - এর কী?
জেরোইন মোস্টার্ট

4
@ জিরোয়ানমোস্টার্ট: যেহেতু স্ট্যান্ডার্ডটি যে কোনও প্রোগ্রামকে ইউবি হিসাবে বিবেচনা করার জন্য একটি অবক্ষয় বাস্তবায়নকে অনুমতি দেবে, তাই যে বিষয়টি বিবেচনা করা উচিত তা হ'ল অপ্রচলিত বাস্তবায়নগুলির আচরণ হবে। আপনি খেয়াল না করলে, আমি কেবল ইউবি সম্পর্কে একটি অনুলিপি / পেস্ট লিখিনি, তবে প্রশ্নের %pপ্রতিটি সম্ভাব্য অর্থ সম্পর্কে প্রশ্নের উত্তর দিয়েছি ।
সুপারক্যাট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.