.NET ফ্রেমওয়ার্ক সহ সি ++ ব্যবহার করা কি সম্ভব?


18

সি জি এবং সি ++ উভয়ই আমি জিইউআই প্রোগ্রামিং সম্পর্কে অনেক মন্তব্য পড়েছি। এবং আমি লক্ষ্য করেছি যে মাইক্রোসফ্ট। NET ফ্রেমওয়ার্ক জিইউআই প্রোগ্রামিংয়ের জন্য শক্তিশালী। তাহলে কি সি ++ এবং। নেট ফ্রেমওয়ার্ক ব্যবহার করা সম্ভব?

আমি মনে করি এটি একটি দুর্দান্ত সংমিশ্রণ হবে যেহেতু সি ++ শক্তিশালী ভাষা, এবং উইন্ডোজে জিইআই প্রোগ্রামিংয়ের জন্য .NET ফ্রেমওয়ার্কটি পছন্দ করা হয়, যেমনটি আমি পড়েছি। সি # তে জিইউআই এবং সি ++ তে কার্যকারিতা লেখা সম্ভব?


7
সি # একটি খুব শক্তিশালী ভাষাও।
অ্যাডাম ক্রসল্যান্ড

2
@ রামহাউন্ড: সি ++ / সিএলআই সি # এর মতো শক্তিশালী বলে মোটেও সত্য নয়। সি ++ / সিএলআই কোডে সি ++ সংকলক থেকে সমস্ত অপ্টিমাইজেশন রয়েছে এবং এটি দ্রুত কার্যকর করতে পারে এবং এখনও অনেকগুলি মেটাপোগ্র্যামিং এবং প্রিপ্রসেসর কৌশল রয়েছে যা সি # তে নেই।
ডেড এমজি

2
এছাড়াও, সি ++ এ ভাল থাকলে সি # বাছাই করা কোনও চ্যালেঞ্জ হওয়া উচিত নয়। আমি বলছি না তবে বলছি।
রিগ

4
আপনি সি ++ জানেন তা প্রদত্ত, আপনার সি ++ / সিএলআই বা সি # শেখার মধ্যে একটি পছন্দ থাকতে পারে। উভয়ই আসল সি ++ নয়। আমি সি ++ / সিএলআইয়ের সাথে কাজ করার চেষ্টা করার চেয়ে সি # শেখার পরামর্শ দিই; সি ++ / সিএলআই কোথাও কোনও মাতৃভাষা নয়, তাই আপনি সি # এর জন্য প্রচুর বই এবং সমর্থন পাবেন।
ডেভিড থর্নলি

6
@ddacot না, সি ++ নয় বোঝানো এ সব খেলা উন্নয়নের জন্য। এটি অন্যান্য প্রোগ্রামিং ভাষার মতোই সফটওয়্যার বিকাশের জন্য। গেমগুলি কেবল এক ধরণের সফ্টওয়্যার হতে পারে।
ম্যাটড্যাভি

উত্তর:


21

হ্যাঁ, এটি পূর্বে পরিচালিত সি ++ এবং এখন হিসাবে পরিচিত সি ++ / সিএলআই । অন্য তিনটি বান্ডিল পরিচালিত ভাষা, সি #, এফ # এবং ভিবি.এনইটি থেকে আপনি যেমন নেট ফ্রেমওয়ার্কের (জিইউআই: উইনফোর্ডস, জিডিআই + ইত্যাদি) অ্যাক্সেস পেয়ে গেছেন।


জেসির উত্তর +1। যদি আমার ভুল না হয় তবে সি ++ / সিএলআই একাধিক উত্তরাধিকার সমর্থন করে না। সুতরাং, কিছু অপ্রত্যাশিত বৈশিষ্ট্য প্রস্তুত। এর মধ্যে কয়েকটি বৈশিষ্ট্য সি এল এলির সীমাবদ্ধতা থেকে এসেছে। আপনি এটি ব্যবহার শুরু করার আগে আপনাকে সি ++ / সিএলআই এবং 'ক্লাসিক' সি ++ এর মধ্যে পার্থক্য সন্ধান করার পরামর্শ দিচ্ছি।
ইগর সলয়ডেনকো

এটি প্রথম লিঙ্কে কিছু বিশদে উল্লেখ করা হয়েছে। সংক্ষিপ্তসারটি এইভাবে: "সি ++ সময়ের সাথে অনেক বেশি বিকশিত হয়েছে এবং ভাষায় লিখিত বেশিরভাগ সফ্টওয়্যার অবজেক্ট অরিয়েন্টেড Manage এটি হ'ল একাধিক উত্তরাধিকারের ক্ষমতা সমর্থিত নয় This এটি সিএলআর সীমাবদ্ধতার কারণে।
জেসি সি স্লিকার

ঠিক আছে. আসলে, আমি সি ++ তে ভাল নই। আমি কেবল ভেবেছিলাম যে আরও একটি গুরুত্বপূর্ণ পার্থক্য থাকতে পারে যা সমস্যা তৈরি করতে পারে।
ইগোর সলোয়ডেনকো

গতবার আমি কিছু সি ++ লিখেছিলাম আক্ষরিকভাবে গত শতাব্দীর একসময় :)
জেসি সি স্লিকার

1
@ কিকিপার, সি ++ / সিএলআই এর একটি সাধারণ ব্যবহার হ'ল একটি নিয়ন্ত্রণহীন সি ++ গ্রন্থাগার এবং পরিচালিত বিশ্বের মধ্যে একটি পাতলা সেতু। এটি যেমন ব্যবহারের জন্য যথেষ্ট। অবশ্যই এটি এর মধ্যে মাপের কিছু কোড করার জন্য বোধগম্য নয়।
এসকে-যুক্তি

6

সর্বাধিক নমনীয় এবং সহজ বিকল্প সম্পর্কে ভুলে যাবেন না, ইউনিক্স জগতের জন্য একটি সাধারণ তবে, কিছু কারণে উইন্ডোজে প্রচলিত নয়: জিইআইআই এবং যুক্তিকে বিভিন্ন প্রক্রিয়ায় বিভক্ত করা, আরপিসির কোনও যুক্তিসঙ্গত ফর্মের মাধ্যমে যোগাযোগ করা (উদাহরণস্বরূপ, পাইপও হওয়া উচিত) কাজ)। সাধারণত একটি সাধারণ, মানব-পঠনযোগ্য পাঠ্য প্রোটোকল সহ।

আপনি পছন্দ করেন এমন কোনও প্রযুক্তি দিয়ে আপনি আপনাকে জিইউআই (বা বিভিন্ন জিইউআই) প্রয়োগ করতে পারেন, এবং প্রয়োজনীয় যেগুলি আরও ভাল - সি ++, স্ক্রিপ্টস, অন্য যাই হোক না কেন থেকে যুক্তিযুক্ত উপাদানগুলি তৈরি করতে পারেন।

আমি উইন্ডোজ ওয়ার্ল্ড থেকে একচেটিয়া নকশা পদ্ধতির কোন যুক্তিসঙ্গত সুবিধা সম্পর্কে অবগত নই ।


4

আমি কয়েক বছর আগে একবার এটি করেছি, পরিচালিত সি ++ এর দিনগুলিতে। একটি অব্যবহৃত ডিএলএলে আমাদের কিছু ব্যবসায়িক যুক্তি ছিল যা আমরা সি # তে লিখিত উইজার্ড-স্টাইলের জিইউআইতে অন্তর্ভুক্ত করতে চেয়েছিলাম। এটি করার জন্য, আমি পরিচালিত জিইউআই অ্যাপ্লিকেশন এবং পরিচালনা ব্যবস্থাবিহীন ডিএলএল এবং ব্যবহূত সিস্টেম :: রানটাইম :: ইন্টারপ সার্ভিস :: মার্শালকে ব্যবস্থাপনিত ধরণের (সিস্টেম :: ইন্টার 32) থেকে পরিচালনা না করে রূপান্তর করতে ব্যবস্থার মধ্যে বসার জন্য একটি পরিচালিত সি ++ অ্যাসেম্বলি তৈরি করেছি that প্রকার (int) এবং তদ্বিপরীত।

পরিচালিত সি ++ অবহেলিত বলে মনে হচ্ছে, একই অধ্যক্ষটি C ++ / CLI তে প্রয়োগ করতে পারেন might


3

আসলে তা না. হাইব্রিড ল্যাঙ্গুয়েজ সি ++ / সিএলআই রয়েছে তবে এটি কেবল ইন্টারঅ্যাপেরেশনের জন্যই ভাল (মাইক্রোসফ্টের অফিশিয়াল পলিসি)। .NET ফ্রেমওয়ার্কটি যেভাবে ডিজাইন করা হয়েছে তার কারণে অনেকগুলি ভাষা শব্দার্থবিজ্ঞান রয়েছে যা সত্যই সিএলআর-তে চালানো যায় না এবং সি ++ এর মধ্যে অনেকগুলি প্রদর্শিত হয়।


7
আমি এই বক্তব্যের সাথে একমত নই। সি ++ / সিএলআই অনেকগুলি প্রয়োগের জন্য পুরোপুরি উপযুক্ত।
রামহাউন্ড

3
@ রামহাউন্ড: মাইক্রোসফ্ট নিজেই এটিকে আন্তঃযোগের জন্য সুপারিশ করে। এটাই তাদের অফিসিয়াল নীতি।
ডেড এমজি

2
@ ডেডএমজি আপনি কি এর জন্য কোনও উত্স সরবরাহ করতে পারেন?
sq33G

1
@ ডেড এমজি, আপনি ভুল বলেছেন নেটিভ লজিক সহ নেট নেট জিইউআই চালানোর অনেকগুলি বিকল্প রয়েছে।
এসকে-যুক্তি

2
@ ডিএডএমজি - আপনি যদি মাইক্রোসফ্টের অফিশিয়াল নীতিমালার প্রমাণ দেয় না তবে (এক মিনিটের জন্যও আমি বিশ্বাস করি না) তবে আপনার কেবল
এফইডি

3

সি ++ / সিএলআই এঙ্গেলটি এখন পর্যন্ত প্রচুর উত্তর দিয়ে আচ্ছাদিত হয়েছে তবে এটি করার আরেকটি উপায় পিনভোক ব্যবহার করা ke এটি সি # প্রোগ্রামগুলিকে সি ++ তে লেখা ডলগুলিতে থাকা ফাংশনগুলি কল করতে অনুমতি দেয়। পিনভোকের সুবিধাটি হ'ল যে আপনার ডেল এটি থেকে ডেকে আনা হবে এই সম্পর্কে সম্পূর্ণ অজ্ঞানবাদী et নেট। এর অর্থ আপনি ডেল এর জন্য কল করতে পারেন যার জন্য আপনার কোনও সোর্স কোড নেই, এমনকি আপনি যদি সোর্স কোডটি করেন তবে আপনাকে / clr বিকল্পটি ব্যবহার করে এটি পুনরায় সংকলন করতে হবে না। এর অর্থ আপনি অন্যান্য সি ++ প্রোগ্রামের পাশাপাশি সি # প্রোগ্রামের সাথে এই ডেল ব্যবহার করতে পারেন। এখানে কিছু চমত্কার সি / সি ++ গ্রন্থাগার রয়েছে: পিনভোক আপনাকে এগুলির সুবিধা নিতে দেয়। কখনও কখনও উইন 32 লাইব্রেরি ফাংশনগুলি সরবরাহ করে যা কেবলমাত্র উপলভ্য নয় P নেট: পিনভোক আপনাকে সেগুলি ব্যবহারের অনুমতি দেয়।

পিনভোক ব্যবহারের অন্যতম কৌশলগত কৌশল অবলম্বনকারী স্বাক্ষরকে একটি পরিচালিত স্বাক্ষরে কীভাবে রূপান্তর করতে হয় তা শিখতে হচ্ছে। তবে সেই সাথে সাহায্য করার জন্য একটি চিটশিট রয়েছে


কিন্তু সরাসরি পি / ইনভোক করার সময়, ম্যাংলিং সম্পর্কে সচেতন হন বা এর মধ্যে আরও একটি পাতলা সি মোড়ক সরবরাহ করুন।
এসকে-যুক্তি

0

আপনি COM (কম্পোনেন্ট অবজেক্ট মডেল) এর মাধ্যমে সি # ডিলের সাথেও কাজ করতে পারেন। আমার জন্য সিওএম তখন পরিচালিত সি ++ ব্যবহার করা আরও ভাল ছিল যেহেতু ভিজ্যুয়াল স্টুডিও 2010-এর পরিচালিত সি ++ এর জন্য ইন্টেলিজেন্স নেই। আমার ক্ষেত্রে ইতিমধ্যে আমাদের কাছে একটি বড় সি ++ অ্যাপ্লিকেশন রয়েছে তবে এমএফসি থেকে উইনফর্ম বা ডাব্লুপিএফ থেকে সরে যাওয়ার চেষ্টা করতে চেয়েছিলেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.