আমি জি ++ সহ সি ++ 11 কীভাবে ব্যবহার করব?


21

আমি বর্তমানে জিডিটতে আমার সমস্ত কোড টাইপ করছি এবং আমার প্রোগ্রামগুলি সংকলন করতে টার্মিনালটি ব্যবহার করছি। এটি করতে, আমি টাইপ করছি:

$ g++ main.cpp -o main
$ ./main

এবং এই কাজ করছে। তবে এটি সি ++ 11 ব্যবহার করছে না। আমি কীভাবে আমার সি ++ এর সংস্করণ পরীক্ষা করতে পারি এবং সি ++ 11 ব্যবহার করে টার্মিনালের মাধ্যমে সংকলন করতে পারি?



আপনার কি সর্বদা -std = c ++ 11 অন্তর্ভুক্ত করতে হবে বা এমন কোনও সেটিংস রয়েছে যাতে প্রতিবারই আমি এটি স্বয়ংক্রিয়ভাবে সংকলন করি c ++ 11 বা
ফ্রেঞ্চ মাইক

উত্তর:


53

-std=c++11পতাকাটি ব্যবহার করে আপনি এটি করতে পারেন । এখানে একটি উদাহরণ:

g++ -std=c++11 -Wall -Wextra -Werror main.cpp -o main

এই মোডটি -std=c++11কমান্ড-লাইন পতাকা দিয়ে বা -std=gnu++11GNU এক্সটেনশানগুলি সক্ষম করতে নির্বাচন করা যেতে পারে source ( উত্স )

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

  • -Wall - সমস্ত বড় সতর্কতা সক্ষম করে।
  • -Wextra - অন্যান্য গুরুত্বপূর্ণ সতর্কতা সক্ষম করে।
  • -Werror- সমস্ত সতর্কতাগুলিকে ত্রুটিতে পরিণত করুন, সংকলনগুলি ব্যর্থ হওয়ার কারণ হিসাবে যদি কোনও সতর্কতার খবর পাওয়া যায়।

সূত্র:

  1. জিসিসি: বিকল্পের সংক্ষিপ্তসার
  2. জিসিসি: সতর্কতাগুলির অনুরোধ বা দমন করার বিকল্পগুলি

5
ধন্যবাদ! অনুগ্রহ করে এই আদেশটিতে "-ওয়াল" এবং "-ওয়ারার" কী উদ্দেশ্যে কাজ করে তা বোঝাতে আপনার কি আপত্তি আছে?

1
এটি আমার উত্তরে যুক্ত হয়েছে।
ভিডিওনাথ

7
@ ধনেকু.বি: ডকুমেন্টেশন পড়ছেন না কেন? এটাই এখানে আছে।
মনিকার সাথে লাইটনেস রেস

9
@ লাইটনেসেসিনআরবিত কারণ ভিডিও ডোনমেশনটি মূলত কমান্ডলাইনে না থাকার পরেও কেন যুক্ত করা গুরুত্বপূর্ণ বলে মনে করেছিল তা প্রয়োজনীয়ভাবে ব্যাখ্যা করতে যাচ্ছে না বা কী ধরণের গুরুত্বপূর্ণ ইন্টারঅ্যাকশন "-ওয়াল" এবং " -Werror "এর সাথে" -std = c ++ 11 "থাকতে পারে। (হ্যাঁ, এর উত্তরগুলির উত্তরটি "বিশেষ কিছু নয়", তবে ডকুমেন্টেশনটি এটি বলছে না, এবং এমন অনেকগুলি অদ্ভুত কোণার মামলা রয়েছে যা ডকুমেন্টেশনে উল্লেখ করা হয়নি "" প্রমাণের অনুপস্থিতি ' টি অনুপস্থিতির প্রমাণ ", এবং
আরএম

2
এই মোডটি -std=c++11কমান্ড-লাইন পতাকা দিয়ে বা -std=gnu++11GNU এক্সটেনশানগুলি সক্ষম করতে বাছাই করা যেতে পারে source ( উত্স )
ভিডিওনাথ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.