সফ্টওয়্যার কেন Win32 নাম ব্যবহার করে?


31

যদি কোনও সফ্টওয়্যার / গ্রন্থাগারের উইন্ডোজ প্ল্যাটফর্মের জন্য কিছু সমর্থন থাকে তবে তারা প্রায়শই তাদের ডিরেক্টরি এবং ভেরিয়েবলগুলির নাম দেয় win32। এটি সি / সি ++ প্রকল্পগুলিতে সর্বাধিক প্রচলিত। এমনকি MinGW প্রকল্পের লক্ষ্য ট্রিপল ব্যবহার করে win32। এরজন্য কি কোন কারণ আছে? উইন্ডোজ বা মাইক্রোসফ্ট উইন্ডোজের মতো সঠিক নাম ব্যবহার করবেন না কেন? নামকরণের পছন্দকে ঘিরে কি কোনও আইনী ছিনতাই আছে?

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


11
কারণ 32 বিট অ্যাপ্লিকেশনগুলি 64 বিট অ্যাপ্লিকেশনগুলির থেকে পৃথক?
ওডে

52
উইন 32 হ'ল উইন্ডোজ এপিআই- এর নাম, ইউনিক্স / লিনাক্স সিস্টেমে পসিক্সের ভূমিকার অনুরূপ। নামটি সম্ভবত 32-বিট প্রসেসরের থেকে উদ্ভূত হয়েছে তবে এটি aতিহাসিক নিদর্শন হিসাবে দেখা উচিত।
আমন

4
বাইনারি এক্সিকিউটেবলের সাথে ডিরেক্টরি নির্দেশ করতে বিন traditionতিহ্যগতভাবে কেন ব্যবহার করা হয়? এটি কেবল একটি সম্মেলন। উইন 32 32 বিট সহ উইন্ডোতে চলমান একটি প্রোগ্রামের জন্য কেবল সংক্ষিপ্তরূপে। আপনি যদি এটিকে ফ্লিমফ্ল্যাম বলতে পছন্দ করেন তবে আপনাকে এটি করতে স্বাগত জানানো হবে, যদিও এটি আপনার প্রকল্পে খুব স্পষ্ট নাও হতে পারে।
নীল

37
এখানে মন্তব্যে প্রচুর ভুল তথ্য দেওয়া হয়েছে ... উইন 32 90-এর দশকের গোড়ার দিকে 32-বিট কোড প্রবর্তন করেনি, যখন এটি 16-বিট উইন্ডোজ 3 এবং 32-বিট পরবর্তী সংস্করণগুলির মধ্যে পার্থক্য তৈরি করে। উইন্ডোজের আধুনিক -৪-বিট সংস্করণগুলি একটি স্থানীয় 64৪-বিট এপিআই প্রয়োগ করে এবং এটি "উইন 32" নামে পরিচিত। এটি একই নাম রাখে কারণ এটি 32-বিট এপিআইয়ের সাথে সামঞ্জস্যপূর্ণ , তবে এটি একটি স্থানীয় 64৪-বিট বাস্তবায়ন এবং এটি একটি -৪-বিট লাইব্রেরির নিজেকে "উইন 32" বলার জন্য সঠিক ধারণা তৈরি করবে। "উইন 64" এর অর্থ আসলে ইটেনিয়াম আর্কিটেকচার, x86-64 / AMD64 নয়।
কোডি গ্রে

6
@ ওজেড: উইন্ডোজ 16 থেকে 32 বিট রূপান্তরিত হওয়ার সময় উইন 32 হোল্ডওভার over
হোয়াটসাইম

উত্তর:


61

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

উইন 32 এপিআই 32-বিট উইন্ডোজ ইনস্টলেশনের মধ্যে সীমাবদ্ধ নয়।

থেকে উইন্ডোজ বিকাশ কেন্দ্র :

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

উইন্ডোজ এপিআই সমস্ত উইন্ডোজ-ভিত্তিক ডেস্কটপ অ্যাপ্লিকেশনগুলিতে ব্যবহার করা যেতে পারে এবং একই ফাংশনগুলি সাধারণত 32-বিট এবং 64-বিট উইন্ডোগুলিতে সমর্থিত হয়। প্রোগ্রামিং উপাদানগুলির প্রয়োগের পার্থক্য অন্তর্নিহিত অপারেটিং সিস্টেমের ক্ষমতার উপর নির্ভর করে। এই পার্থক্যগুলি API ডকুমেন্টেশনে উল্লেখ করা হয়েছে।

দ্রষ্টব্য এটি পূর্বে Win32 এপিআই বলা হত। উইন্ডোজ এপিআই নামটি আরও সঠিকভাবে এর শিকড়গুলি 16-বিট উইন্ডোতে প্রতিবিম্বিত করে এবং এটি 64-বিট উইন্ডোতে সমর্থন করে।

উইন্ডোজের জন্য বিকাশ করতে আপনাকে উইন 32 এপিআই ব্যবহার করতে হবে না। বিকল্পগুলি হ'ল। নেট ক্লাস বা উইন্ডোজ আরটি ইন্টারফেস।

প্রযুক্তিগতভাবে একটি Win64 বৈকল্পিক রয়েছে। তবে এটি Win32 থেকে বেশিরভাগই ডেটা মডেল (পয়েন্টারের আকার) এর থেকে পৃথক। এটি এপিআইগুলির একটি স্বতন্ত্র সেট নয়:

উইন 64 এপিআই পরিবেশটি উইন 32 এপিআই এনভায়রনমেন্টের মতো প্রায় একই — উইন 16 থেকে উইন 32 এ স্থানান্তরিত — উইন 32 এবং উইন 64 এপিআইগুলি এখন একত্রিত হয়ে উইন্ডোজ এপিআই নামে পরিচিত। উইন্ডোজ এপিআই ব্যবহার করে, আপনি 32-বিট উইন্ডোজ বা 64-বিট উইন্ডোতে স্থানীয়ভাবে চলার জন্য একই উত্স কোডটি সংকলন করতে পারেন। অ্যাপ্লিকেশনটি 64৪-বিট উইন্ডোতে পোর্ট করতে, কেবল কোডটি পুনরায় রচনা করুন।

উইন্ডোজ শিরোনাম ফাইলগুলি সংশোধিত হয় যাতে আপনি এগুলি 32-বিট এবং 64-বিট কোড উভয়ের জন্য ব্যবহার করতে পারেন। ( উত্স )

উইন 64৪ মোটামুটি আলাদা না হওয়ায় আপনি প্রায়শই কখনওwin64 সোর্স-কোড স্তরের প্রকল্পগুলিকে লক্ষ্য করতে দেখবেন না , যদিও নতুন প্রকল্পগুলি .তিহ্যগত winapiপরিবর্তে লক্ষ্যবস্তু হতে পারে win32। তবে সমস্ত ব্যবহারিক উদ্দেশ্যে এই সমস্ত নাম একই এপিআইতে উল্লেখ করা হয়।


5
এছাড়াও, উইন 32 এপিআই-কে অন্যান্য অপারেটিং সিস্টেমগুলিতে সমর্থন করা হয়েছে, যেমন ওএস / ২, রিঅ্যাক্টোস এবং তারপরে ওয়াইন রয়েছে যা উইন 32 এপিআইয়ের বাস্তবায়নও।
Jörg W Mittag

6
@ ইউনম্যানডপ্লেয়ার, ওয়েল, উইন 32 হ'ল প্ল্যাটফর্মটির নাম। উইন 32 হ'ল উইন্ডোজ যা আমরা জানি। উপরোক্ত উক্তিটি যথাযথ নাম হিসাবে ব্যাখ্যা করে আজকাল হ'ল "উইন্ডোজ এপিআই", তবে এটি একই জিনিসটির বর্ণনা দেয়।
আমন

8
"অ্যাপ্লিকেশনটি 64৪-বিট উইন্ডোতে পোর্ট করতে, কেবল কোডটি পুনরায় তৈরি করুন" "... রিইআইআইআইআইআইআইআইআইআইআইআইআইআইআইআইটি।
ড্যানিয়েল কামিল কোজার

7
@ ড্যানিয়েলকিলকোজার এটির চেয়ে কম পাগল - এটি একই API API অবশ্যই, এটি বিপণন বিভাগ হতে পারে। ভাষী। তবে কিছুটা শৃঙ্খলা এবং পর্যাপ্ত পরীক্ষার সাথে, পোর্টেবল কোড লেখার জন্য এটি মৌলিকভাবে কঠিন নয়। গুরুত্বপূর্ণ পার্থক্যটি হ'ল উইন 32-তে, দীর্ঘ, দীর্ঘ এবং পয়েন্টারের প্রকারগুলি 32 বিট বড়। সেই অনুমানটি আর উইন under holds এর অধীনে নেই যা চৌকস হওয়ার চেষ্টা করে এমন কোডকে ব্রেক করে। কিন্তু একবার কোডটি পোর্টেবল করা হয়ে গেলে, উইন 32 এবং উইন 64 এর মধ্যে পার্থক্যটি সংকলক বিকল্পের চেয়ে সামান্য বেশি হয়ে যায়।
আমন

4
@ এমন: দুর্ভাগ্যক্রমে, মাইক্রোসফ্ট 32-বিট এবং -৪-বিট অ্যাপ্লিকেশনগুলিকে নিবন্ধের বিভিন্ন ক্ষেত্র ব্যবহার করার জন্য কিছু উদ্ভট কারণে সিদ্ধান্ত নিয়েছে, যার ফলে সমস্ত অ্যাপ্লিকেশন 32 বিট বা সমস্ত 64 না হওয়া পর্যন্ত সম্পর্কিত একটি গ্রুপের জন্য সেটিংস ভাগ করে নেওয়া অকারণে কঠিন হয়ে পড়েছে বিট. হ্যাঁ, সেখানে কাজের পরিমাণ রয়েছে, তবে একই স্টোরেজটি ব্যবহার করা এত সহজ কোনও কিছুই নয়।
সুপারক্যাট

29

কারণ উইন্ডোজ এপিআই 30+ বছর পুরানো এবং পিসি যখন 16-বিট ছিল তখন প্রায় ছিল, তারপরে 32-বিট এসেছিল, তারপরে উইন 32, তারপরে উইন 64। উইন্ডোজ বিকাশে প্ল্যাটফর্ম নির্ভরতা রয়েছে, এবং আপনার আর্কিটেকচারে ওএস লাইব্রেরি (dll's) এর সাথে মেলে আপনার কোড প্রয়োজন need

https://en.wikipedia.org/wiki/Windows_API#Versions

উইন 32 এর বিপরীতে নির্মিত একটি উইন্ডোজ অ্যাপ্লিকেশন 32-বিট আর্কিটেকচারে চলবে এবং উইন্ডোজ অপারেটিং সিস্টেমের ভিত্তিতে একটি উইন 32 সাবসিস্টেম সরবরাহ করে 64-বিট চলবে যাতে উইন 32 অ্যাপস একটি আধুনিক -৪-বিট উইন্ডোজ ওএসে চলতে পারে।

উইন 32 বিল্ডগুলি সময়ের সাথে সাথে কমতে থাকে, উইন 32 সম্ভবত শীঘ্রই পুরোপুরি বিবর্ণ হবে না। যখন win32 বিল্ডগুলি শেষ করে তখন সম্ভবত একটি win128 আসবে, এবং win64 আসবে নতুন win32 32


3
নতুন উইন্ডোজ এপিআইকে উইনআরটি বলা হয়। উইন 32 এর সাথে এর অনেক মিল রয়েছে তবে এটিও অনেক আলাদা - ঠিক যেমন উইন 32 উইন 16 (?) এর সাথে করেছিল।
ব্যবহারকারী 253751

10
@ ইমিবিস উইনআরটি হ'ল রানটাইম যা মাইক্রোসফ্ট সম্ভবত "নতুন" হতে চেয়েছিল। এটি উইন্ডোজ স্টোর অ্যাপ্লিকেশনগুলির জন্য রানটাইম, উইন্ডোজ 8+, উইন্ডোজ আরটি এবং উইন্ডোজ ফোন 8+ এ চলছে। আপনি জানেন, সেই অ্যাপগুলির জন্য কেউ পছন্দ করে না।
মেটালকিলার

এই উত্তরে WinRT এপিআই যুক্ত করার জন্য উভয়কে ধন্যবাদ। আমি অনুমান করি যে আমি এমন লোকদের দলে পড়ে যাচ্ছি যারা উইন 8+ নন-ডেস্কটপ অ্যাপ্লিকেশনকে পছন্দ করে না। তবে দেখা যাচ্ছে যে মাইক্রোসফ্ট উইন 32 এর নাম পরিবর্তন করে "উইন্ডোজ এপিআই" করেছে: এমএসডিএন.মিকায়সফটওয়্যার / en-us / library/ windows/ desktop/ … আপনি বিদ্যমান সফ্টওয়্যারটিতে "win32" রেফারেন্স কেন দেখেন সে প্রসঙ্গে আমি প্রশ্নের উত্তর দিয়েছি? ইত্যাদি
থমাস

এই উত্তর কীভাবে উন্নত করা যায় তার পরামর্শ দেওয়ার জন্য গত মাসে কোনও মন্তব্য ছাড়াই কয়েকজনকে উঁচু করে তুলেছে। গৃহীত উত্তরটি মূলত "কেন এটি উইন 32 বলা হয়" বলে "কারণ এর নাম উইন 32" রাখা হয়েছে। আমি আমার উত্তরের পিছনে দাঁড়িয়ে আছি কারণ মূল কথাটি সেই দিনটিতে যখন ১ 16-বিট এখনও সংখ্যাগরিষ্ঠ ছিল, 32-বিট সক্ষম কম্পিউটার কিনেছেন এমন লোকেরা আপনার হার্ডওয়্যার বা সফ্টওয়্যার আর্কিটেকচারের কোথাও "16" দেখতে বা শুনতে চায় নি । সুতরাং সেই অনুসারে এপিআইটির নামকরণ করা হয়েছিল, সম্ভবত এই দশকের কথা ভাবেননি যখন 32-বিট নতুন 16-বিট হয়ে উঠেছে।
থমাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.