GCC

সফটওয়্যার স্ক্রিনশট:
GCC
সফটওয়্যার বিবরণ:
সংস্করণ: 8.2.0 আপডেট
তারিখ আপলোড: 16 Aug 18
ডেভেলপার: The GCC Team
লাইসেন্স: বিনামূল্যে
জনপ্রিয়তা: 108

Rating: 3.0/5 (Total Votes: 3)

GCC (GNU কম্পাইলার সংগ্রহ) একটি ওপেন সোর্স কমান্ড-লাইন সফটওয়্যার যা GNU / Linux এবং BSD- ভিত্তিক অপারেটিং সিস্টেমগুলির জন্য কম্পাইলার হিসাবে কাজ করার জন্য ডিজাইন করা হয়েছে। এতে অবজেক্টিভ-সি, গো, সি ++, জাভা, সি, অ্যাডা এবং ফোর্টার সহ অসংখ্য প্রোগ্রামিং ভাষার জন্য ফ্রন্ট-এন্ড রয়েছে।


একটি নজরে বৈশিষ্ট্য

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

প্রকল্পটিতে বিভিন্ন প্রোগ্রামিং ভাষার লাইব্রেরি অন্তর্ভুক্ত রয়েছে, যেমন libstdc এবং libgcj এবং অধিকাংশ GNU সফ্টওয়্যারের মতো এটি আপনার কম্পিউটারে এটি তৈরি এবং ইনস্টল করার আগে কনফিগার করতে হবে।

এটি একটি নির্দিষ্ট লাইব্রেরি, কম্পাইলারের অনুসন্ধান পথের ফোল্ডারগুলি, একটি নির্দিষ্ট উপাদানটির পূর্ণ পথ, শিরোনাম লাইব্রেরি ডিরেক্টরি, শিরোনাম প্রত্যয় যা শিরোনামগুলি সন্ধান করতে ব্যবহৃত হয় এবং লক্ষ্যের স্বাভাবিককৃত GNU ট্রিপলেটের জন্য সম্পূর্ণ পথ প্রদর্শন করতে পারে।

এর পাশাপাশি, নির্দিষ্ট কমা-বিচ্ছিন্ন বিকল্পগুলি এবং অ্যাসবেলার, প্রিপোপ্রসেসর এবং লিঙ্কারের উপর আর্গুমেন্টগুলি সংকলন, সংকলন এবং লিঙ্কযুক্ত ছাড়া জড়ো করার জন্য বিভিন্ন বিকল্পগুলি রয়েছে, একটি ভাগ করা লাইব্রেরি তৈরি করে এবং আরো অনেক কিছু রয়েছে।


জিএনইউ অপারেটিং সিস্টেমের জন্য ডিজাইন করা হয়েছে

মূলত জিএনইউ অপারেটিং সিস্টেমের প্রধান কম্পাইলার হিসেবে লিখিত হচ্ছে, জিसीसी (জিএনইউ কম্পাইলার সংগ্রহ) 100% ফ্রি সফটওয়্যার হিসাবে বিকশিত হয়েছে এবং এটি কোনও লিনাক্স বিতরণে ডিফল্টরূপে ইনস্টল করা হয়েছে।

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


শেষের সারি

সর্বোপরি, GCC কোনও GNU / Linux অপারেটিং সিস্টেমের সবচেয়ে প্রয়োজনীয় উপাদানগুলির মধ্যে একটি। কেবলমাত্র আমরা এটি ছাড়া একটি বিশ্বকেও কল্পনা করতে পারি না, কিন্তু সমগ্র মুক্ত ওপেন সোর্স ইকোসিস্টেমের পিছনে মূল কারণটি হল জিसीसी।

এই প্রকাশনায় নতুন কি :

  • GCC 7.3 একটি গিগাবাইট 7 শাখা থেকে একটি বাগ-ফিক্স রিলিজ রয়েছে যা পূর্ববর্তী প্রকাশের থেকে 99 টিরও বেশি বাগ সংশোধন করার জন্য জিগিসি 7.2 এ প্রতিক্রিয়া এবং গুরুতর বাগগুলির জন্য গুরুত্বপূর্ণ সংশোধন রয়েছে।
  • এই রিলিজে x86 এবং powerpc লক্ষ্যগুলির জন্য স্পেক্টর বৈকল্পিক 2 (CVE 2017-5715) কমানোর জন্য কোড প্রজন্মের বিকল্পগুলি রয়েছে।

সংস্করণ 8.1.0 এ নতুন কি :

  • GCC 7.3 একটি বাগ-ফিক্স রিলিজ জিসিসি 7 শাখার মধ্যে জিগিসি 7.2 এর পূর্ববর্তী রিলিজের চেয়ে 99 টি বাগ সংশোধন এবং গুরুতর বাগগুলির গুরুত্বপূর্ণ সমাধান রয়েছে।
  • এই রিলিজে x86 এবং powerpc লক্ষ্যগুলির জন্য স্পেক্টর বৈকল্পিক 2 (CVE 2017-5715) কমানোর জন্য কোড প্রজন্মের বিকল্পগুলি রয়েছে।

নতুন কি সংস্করণে:

যে

  • জিसीसी 7.1 একটি প্রধান রিলিজ যা যথেষ্ট নতুন কার্যকারিতা GCC 6.x বা পূর্ববর্তী জিसीसी রিলিজগুলিতে উপলব্ধ নয়। সি ++ ফ্রন্টেন্ডের বর্তমান C ++ 17 খসড়াটির জন্য পরীক্ষামূলক সমর্থন রয়েছে, -std = c ++ 1z এবং -std = gnu ++ 1z বিকল্পগুলির সাথে, এবং libstdc ++ লাইব্রেরির বেশিরভাগ C ++ 17 খসড়া রয়েছে লাইব্রেরি বৈশিষ্ট্য খুব বাস্তবায়িত। এই প্রকাশগুলিতে নির্গমনকৃত ডায়াগনোস্টিকগুলিতে বিভিন্ন উন্নতি রয়েছে, উন্নত অবস্থান, অবস্থানের রেঞ্জ, ভুল বানান সনাক্তকারীর জন্য পরামর্শ, বিকল্প নাম, ফিক্স-ই ইঙ্গিত এবং বিভিন্ন নতুন সতর্কতা যুক্ত করা হয়েছে। ইনট্রাজারগুলি উন্নত হয়েছে এবং ইন্টার-প্রসেসর অপ্টিমাইজেশানগুলি, লিঙ্ক সময় অপ্টিমাইজেশান এবং বিভিন্ন টার্গেট ব্যাকেন্ডগুলিতে উন্নতির সাথে সাথে, তবে এতে সীমাবদ্ধ নয়, স্টোর মার্জিং পাসের সংযোজন, কোড উত্তোলন অপ্টিমাইজেশান, লুপ বিভাজন এবং সঙ্কুচিত মোড়ানো উন্নতি। ঠিকানা স্যানিটাইজার এখন তাদের সুযোগ ছাড়ার পরে ভেরিয়েবল ব্যবহার রিপোর্ট করতে পারেন। GCC এখন NVidia PTX GPGPUs এ OpenMP 4.5 অফলোডিংয়ের জন্য কনফিগার করা যেতে পারে।

  • সংস্করণ 6.3.0 এ নতুন কি :

    যে

  • GCC 6.3 পূর্ববর্তী রিলিজ থেকে স্থির 79 টিরও বেশি বাগ সহ জিसीसी 6২ এ রিগ্রেশন এবং গুরুতর বাগগুলির জন্য জিকিস 6 শাখা থেকে একটি বাগ-ফিক্স রিলিজ রয়েছে।

  • সংস্করণ 6.2.0 এ নতুন কি :

  • এই রিলিজটি একটি বাগ-ফিক্স রিলিজ, এতে GCC 5.2 এর পূর্ববর্তী প্রকাশগুলির সাথে সম্পর্কিত GCC 5.2 তে প্রতিক্রিয়াগুলির সমাধান রয়েছে।

  • সংস্করণ 6.1.0 এ নতুন কী :

  • এই রিলিজটি একটি বাগ-ফিক্স রিলিজ, এতে GCC 5.2 এর পূর্ববর্তী প্রকাশগুলির সাথে সম্পর্কিত GCC 5.2 তে প্রতিক্রিয়াগুলির সমাধান রয়েছে।

  • সংস্করণ 5.3.0 এ নতুন কি :

  • এই রিলিজটি একটি বাগ-ফিক্স রিলিজ, এতে GCC 5.2 এর পূর্ববর্তী প্রকাশগুলির সাথে সম্পর্কিত GCC 5.2 তে প্রতিক্রিয়াগুলির সমাধান রয়েছে।

  • <5.2> সংস্করণে নতুন কি :

  • এই রিলিজটি একটি বাগ-ফিক্স রিলিজ, এতে GCC 5.1 এর পূর্ববর্তী প্রকাশগুলির সাথে সম্পর্কিত GCC 5.1 তে প্রতিক্রিয়াগুলির সমাধান রয়েছে।

  • সংস্করণ 5.1.0 এ নতুন কি :

  • সি ++ ফ্রন্ট-এ এখন পূর্ণ সি ++ 14 ভাষা সমর্থন রয়েছে এবং স্ট্যান্ডার্ড সি ++ লাইব্রেরির পূর্ণ সি ++ 11 সমর্থন এবং পরীক্ষামূলক সি ++ 14 সমর্থন রয়েছে। সম্পূর্ণ সি ++ 11 সমর্থন ডুয়াল এবিআই গ্রহণ করে সম্ভব হয়েছে, আরো বিস্তারিত জানার জন্য https://gcc.gnu.org/onlinedocs/libstdc++manman/using_dual_abi.html দেখুন।
  • সি ফ্রন্ট-এ এখন G11U এক্সটেনশানগুলির সাথে C11 মোডে ডিফল্ট, যা ইনলাইন কীওয়ার্ডের সেমেন্টিক্সকে প্রভাবিত করে এবং অন্যান্য ব্যবহারকারীর দৃশ্যমান পরিবর্তনগুলি এনে দেয়, https://gcc.gnu.org/gcc-5/porting_to.html দেখুন আরো বিস্তারিত জানার জন্য।
  • GCC 5.1 টি বিভিন্ন আন্তঃপ্রযুক্তিক অপ্টিমাইজেশান উন্নতিগুলি অন্তর্ভুক্ত করেছে, উদাঃ। একটি নতুন আইপিএ অভিন্ন কোড ভাঁজ পাস এবং বিভিন্ন এলটিও উন্নতি, যেমন। ওডিআর ভিত্তিক সি ++ ধরনের মার্জিং, আরও বিস্তারিত জানার জন্য http://hubicka.blogspot.cz/2015/04/GCC5-IPA-LTO-news.html দেখুন।
  • GCC 5.1 স্থানীয় নিবন্ধন অ্যালকোটারে এখন একটি রিমোটাইরাইজেশান সাবপাস রয়েছে, আমি 86 / x86-64 অবস্থানটি স্বাধীন কোডের কর্মক্ষমতা উন্নত করতে PIC হার্ড রেজিস্টারটি পুনঃব্যবহার করতে সক্ষম, সেখানে একটি সহজ আন্তঃপ্রযুক্তিক আরএ পাস এবং অন্যান্য অন্যান্য নিবন্ধ রয়েছে বরাদ্দ উন্নতি যোগ করা হয়েছে।
  • জিसीसी 5.1 ওপেনএসিসি স্ট্যান্ডার্ডের জন্য আংশিক সহায়তা যোগ করে, ইন্টেল এর আসন্ন জিয়ন ফী এক্সিলারেটরের ওপেন এমপি 4.0 অফলোডিংয়ের জন্য সমর্থন এবং পিটিএক্সে ওপেনএসিসি অফলোডিংয়ের জন্য সমর্থন। জি সি সি তে অনির্ধারিত আচরণ স্যানিটাইজার বিভিন্ন নতুন রানটাইম চেক যোগ করে বর্ধিত করা হয়েছে। জিআইসিসি 5.1 তে একটি পরীক্ষামূলক GCC JIT লাইব্রেরি যোগ করা হয়েছে।

  • নতুন কি সংস্করণ 4.8.4:

  • সাধারণ অপটিমাইজার উন্নতি:
  • ঠিকানা স্যানিটিজার, দ্রুত মেমরি ত্রুটি সনাক্তকারী, এখন এআরএমে উপলব্ধ।
  • অনির্ধারিত BihaviorSanitizer (ubsan), একটি দ্রুত অনির্ধারিত আচরণ সনাক্তকারী, যোগ করা হয়েছে এবং -fanitize = undefined মাধ্যমে সক্ষম করা যেতে পারে। বিভিন্ন কম্পিউটেশন রানটাইম এ অনির্ধারিত আচরণ সনাক্ত করা হবে। UndefinedBehaviorSanitizer বর্তমানে সি এবং সি ++ ভাষার জন্য উপলব্ধ।
  • লিঙ্ক-সময় অপ্টিমাইজেশান (এলটিও) উন্নতি:
  • মার্জিং টাইপ পুনঃলিখন করা হয়েছে। নতুন বাস্তবায়ন উল্লেখযোগ্যভাবে দ্রুত এবং কম মেমরি ব্যবহার করে।
  • উন্নত বিভাজন অ্যালগরিদম ফলে লিঙ্ক সময় কম স্ট্রিমিং হয়।
  • ভার্চুয়াল পদ্ধতির প্রাথমিক অপসারণটি বস্তুর ফাইলগুলির আকার হ্রাস করে এবং লিঙ্ক-সময় মেমরি ব্যবহার উন্নত করে এবং সময় সংকলন করে।
  • ফাংশন সংস্থাগুলি এখন অন-চাহিদা লোড করা হয়েছে এবং লিংক সময়ে সামগ্রিক মেমরি ব্যবহারের দ্রুত উন্নতি করে।
  • C ++ লুকানো কী পদ্ধতিগুলি এখন অপ্টিমাইজ করা যেতে পারে।
  • একটি লিঙ্কার প্লাগইন ব্যবহার করার সময়, -flto বিকল্পের সাথে সংকলন এখন পাতলা বস্তু ফাইল (.o) তৈরি করে যা শুধুমাত্র এলটিওর জন্য মধ্যবর্তী ভাষা উপস্থাপনা ধারণ করে। ফাইলটি তৈরি করতে -ffat-lto-objects ব্যবহার করুন যা অতিরিক্ত বস্তু কোড ধারণ করে। এলটিও প্রক্রিয়াকরণের জন্য উপযুক্ত স্ট্যাটিক লাইব্রেরি তৈরি করতে, জিসিসি-আর এবং জিসি-র্যানলিব ব্যবহার করুন; একটি পাতলা বস্তু ফাইল থেকে চিহ্ন তালিকা করতে gcc-nm ব্যবহার করুন। (এটির জন্য AR, রানলিব এবং এনএম প্লাগইন সহায়তায় সংকলিত করা প্রয়োজন।)
  • মেমরি ব্যবহারের বিল্ডিং ডিফল্ট দিয়ে ফায়ারফক্স 15 গিগাবাইট থেকে 3.5 গিগাবাইটে কমিয়ে আনা হয়েছে; 1700 সেকেন্ড থেকে 350 সেকেন্ড পর্যন্ত লিঙ্ক সময়।
  • ইন্টার-প্রসেসর অপ্টিমাইজেশান উন্নতি:
  • নতুন টাইপ উত্তরাধিকার বিশ্লেষণ মডিউল devirtualization উন্নতি। ডিভার্চুয়ালাইজেশান এখন অনামী নাম-স্পেস এবং C ++ 11 চূড়ান্ত কীওয়ার্ডে নেয়।
  • নতুন ফটকাবাচক ভার্চুয়ালাইজেশন পাস (Fdevirtualize-speculatively দ্বারা নিয়ন্ত্রিত।
  • প্রত্যক্ষভাবে সরাসরি তৈরি হওয়া কলগুলি পরোক্ষভাবে ফিরিয়ে আনা হয় যেখানে সরাসরি কলটি সস্তা নয়।
  • স্থানীয় এলিয়াসগুলি প্রতীকগুলির জন্য প্রবর্তিত হয় যা ডায়নামিক লিঙ্কিং বারগুলির উন্নতিতে ভাগ করা লাইব্রেরিতে সমার্থকভাবে সমান হিসাবে পরিচিত।
  • প্রতিক্রিয়া নির্দেশিত অপ্টিমাইজেশান উন্নতি:
  • সি ++ ইনলাইন ফাংশন ব্যবহার করে প্রোগ্রামগুলির প্রোফাইলিং এখন আরও নির্ভরযোগ্য।
  • নতুন সময় প্রোফাইলিং নির্দিষ্ট ক্রম নির্ধারণ করে যাতে ফাংশন কার্যকর হয়।
  • একটি নতুন ফাংশন পুনর্বহাল পাস (-ফ্রেডার-ফাংশন দ্বারা নিয়ন্ত্রিত) উল্লেখযোগ্যভাবে বড় অ্যাপ্লিকেশনগুলির স্টার্টআপ সময় হ্রাস করে। Binutils সমর্থন সম্পন্ন না হওয়া পর্যন্ত, এটি শুধুমাত্র লিঙ্ক-সময় অপ্টিমাইজেশান দ্বারা কার্যকর।
  • প্রতিক্রিয়া চালিত পরোক্ষ কল অপসারণ এবং ডেভার্টুয়ালাইজেশান এখন লিঙ্ক-সময় অপ্টিমাইজেশান সক্ষম করার সময় ক্রস-মডিউল কলগুলি পরিচালনা করে।
  • নতুন ভাষা এবং ভাষা নির্দিষ্ট উন্নতি:
  • ওপেন এমপি স্পেসিফিকেশন এর সংস্করণ 4.0 এখন সি এবং সি ++ কম্পাইলারগুলিতে সমর্থিত এবং ফোর্টান কম্পাইলারের 4.9.1 সংস্করণের সাথেও শুরু হয়েছে। নতুন ওপেন এমপি সিমড বিকল্পটি ওপেন এমপি এর সিএমডি নির্দেশগুলি সক্রিয় করতে ব্যবহার করা যেতে পারে, অন্য OpenMP নির্দেশাবলী উপেক্ষা করে। New -fsimd-cost-model = বিকল্পটি ওপেন এমপি এবং সিলেক প্লাস সিএমডির নির্দেশাবলীর সাথে লোটের জন্য ভেক্টরাইজেশনের খরচ মডেল সুরকরণের অনুমতি দেয়; -Wopenmp-simd সতর্ক করে দেয় যখন বর্তমান খরচ মডেল ব্যবহারকারী দ্বারা সেট সিমড নির্দেশাবলী overrides।
  • -Wdate-time বিকল্পটি C, C ++ এবং ফোর্টান কম্পাইলারগুলির জন্য যোগ করা হয়েছে, যা __DATE__, __TIME__ বা __TIMESTAMP__ ম্যাক্রোগুলি ব্যবহার করা হয় তা সাবধান করে। যারা ম্যাক্রো বিট-অনুযায়ী-অভিন্ন পুনর্নির্মাণযোগ্য সংকলনগুলিকে প্রতিরোধ করতে পারে।
  • আপনি আদা:
  • আপনি
  • GNAT ডিফল্টভাবে অ্যাড 2005 পরিবর্তে অ্যাডা ২01২ এ স্যুইচ করেছিল।
  • সি পরিবার:
  • GCC দ্বারা নির্গমন ডায়াগনস্টিক রঙিন করার জন্য সমর্থন যোগ করা হয়েছে। -Fdiagnostics-color = auto টার্মিনালগুলিতে আউটপুট করার সময় এটি সক্ষম করবে, -ফিডেগনস্টিক্স-রঙ = সর্বদা নিঃশর্তভাবে। GCC_COLORS এনভায়রনমেন্ট ভেরিয়েবলগুলি রং কাস্টমাইজ বা রঙ নিষ্ক্রিয় করার জন্য ব্যবহার করা যেতে পারে। যদি পরিবেশে GCC_COLORS পরিবর্তনশীল উপস্থিত থাকে, তবে ডিফল্ট -fdiagnostics-color = auto, অন্যথায় -fdiagnostics-color = না।
  • নমুনা ডায়াগনোস্টিক আউটপুট:
  • $ g ++ -fdiagnostics-color = always -S -Wall test.C
  • test.C: ফাংশনে & lsquo; int foo () ':
  • test.C: 1: 14: সতর্কতা: কোন ফিরতি ফাংশন ফিরতি অ-অকার্যকর [-বর্তন-টাইপ]
  • int foo () {}
  • test.C: 2: 46: ত্রুটি: টেমপ্লেট তাত্ক্ষণিক গভীরতা সর্বাধিক 900 (সর্বাধিক বৃদ্ধি করার জন্য -ফেটম্যাম্প-গভীরতা = সর্বাধিক বৃদ্ধি) ওপেনিয়েট & lsquo; struct X '
  • টেমপ্লেট struct X {স্ট্যাটিক কনস int মান = এক্স :: মান; }; টেমপ্লেট গঠন এক্স;
  • test.C: 2: 46: পুনরাবৃত্তিমূলকভাবে & lsquo; const int x :: মান '
  • থেকে প্রয়োজন
  • test.C: 2: 46: & ltquo; const int int X value =
  • থেকে প্রয়োজন
  • test.C: 2: 88: এখানে থেকে
  • প্রয়োজন
  • test.C: 2: 46: ত্রুটি: অসম্পূর্ণ টাইপ & lsquo; X 'নেস্টেড নাম স্পেসিফায়ারে ব্যবহৃত হয়
  • নতুন #pragma GCC ivdep এর সাথে, ব্যবহারকারীর দৃঢ়তা থাকতে পারে যে কোনও লুপ-চালিত নির্ভরতা নেই যা SIMD (একক নির্দেশনা একাধিক ডেটা) নির্দেশাবলী ব্যবহার করে ক্রমাগত পুনরাবৃত্তিগুলির সমতুল্য সঞ্চালন প্রতিরোধ করবে।
  • সিলেক প্লাসের জন্য সমর্থন যোগ করা হয়েছে এবং -ফিলস্কুলাস বিকল্পের সাথে সক্ষম করা যেতে পারে। Cilk প্লাস ডাটা এবং টাস্ক সমান্তরাল সমর্থন করার জন্য সি এবং সি ++ ভাষাগুলির একটি এক্সটেনশান। বর্তমান বাস্তবায়ন এবিআই সংস্করণ 1.2 অনুসরণ করে; সমস্ত বৈশিষ্ট্য কিন্তু _Cilk_for প্রয়োগ করা হয়েছে।
  • আইএসও সি 11 এটোমিক্স (_ এটোমিক টাইপ স্পেসিফায়ার এবং কোয়ালিফায়ার এবং হেডার) এখন সমর্থিত।
  • ISO C11 জেনেরিক নির্বাচনগুলি (_ জেনারিক কীওয়ার্ড) এখন সমর্থিত।
  • ISO C11 থ্রেড-স্থানীয় স্টোরেজ (_Thread_local, GNU C __thread এর অনুরূপ) এখন সমর্থিত।
  • ISO C11 সমর্থন এখন ISO C99 সমর্থনের সমান স্তরের সমান স্তরে রয়েছে: উল্লেখযোগ্যভাবে সম্পূর্ণ মোডুলো বাগ, বর্ধিত সনাক্তকারী (সমর্থিত-সনাক্তকারী-সনাক্তকারীগুলি ব্যবহৃত হলে কোণার ক্ষেত্রে সমর্থিত), ভাসমান-পয়েন্ট সমস্যাগুলি (প্রধানত কিন্তু সম্পূর্ণরূপে নয়) আনক্সেস এফ এবং জি থেকে ঐচ্ছিক C99 বৈশিষ্ট্যের সাথে সম্পর্কিত) এবং ঐচ্ছিক আনক্সেস কে (বাউন্ড-পরীক্ষণ ইন্টারফেস) এবং এল (বিশ্লেষণযোগ্যতা)।
  • একটি নতুন সি এক্সটেনশান __auto_type GNU C তে C ++ 11 অটো কার্যকারিতাগুলির একটি উপসেট সরবরাহ করে।
  • আপনি সি ++:
  • আপনি
  • সাধারণ + ফাংশনগুলির জন্য C ++ 1y রিটার্ন টাইপ ক্যাটাকের G ++ বাস্তবায়ন N3638 অনুসারে কাজ করার কাগজটিতে গৃহীত প্রস্তাব অনুযায়ী আপডেট করা হয়েছে। সর্বাধিক উল্লেখযোগ্যভাবে, এটি সাধারণ প্লেয়ারের টেমপ্লেট আর্গুমেন্ট সীমাবদ্ধতা স্যাম্যান্টিক্সের পরিবর্তে ডেলিটিপ সেমেটিক্স পাওয়ার জন্য ডলটাইপ (স্বয়ংক্রিয়) যোগ করে:
  • আপনি int- এ এবং; চ (); করুন
  • স্বয়ংক্রিয় i1 = f (); // int
  • decltype (auto) i2 = f (); // int & amp;
  • G ++ সি ++ 1y ল্যাম্বা ক্যাপচারের প্রাথমিক সূচনা সমর্থন করে:
  • [x = 42] {...};
  • প্রকৃতপক্ষে, তারা GCC 4.5 থেকে গৃহীত হয়েছে, কিন্তু এখন কম্পাইলার তাদের সম্পর্কে -std = c ++ 1y- এর সাথে সতর্ক করে না এবং বন্ধনীযুক্ত এবং বন্ধনী-সংযুক্ত সূচনাকারীগুলিকেও সমর্থন করে।
  • G ++ C ++ 1y পরিবর্তনশীল দৈর্ঘ্য অ্যারেগুলিকে সমর্থন করে। জি ++ দীর্ঘ সময়ের জন্য জিএনইউ / সি 99-স্টাইল ভিএলএগুলিকে সমর্থন করেছে, তবে এখন অতিরিক্তভাবে প্রাথমিকভাবে এবং ল্যাম্বার ক্যাপচারকে রেফারেন্স দ্বারা সমর্থন করে। C ++ 1y মোডে G ++ VLA ব্যবহার সম্পর্কে অভিযোগ করবে যা খসড়া মান দ্বারা অনুমোদিত নয়, যেমন VLA টাইপের পয়েন্টার তৈরি করা বা VLA ভেরিয়েবলের সাইজফোফ প্রয়োগ করা। মনে রাখবেন যে এটি এখন প্রদর্শিত হচ্ছে যে VLA C ++ 14 এর অংশ হবে না, তবে এটি একটি পৃথক নথি এবং সম্ভবত সি ++ 17 এর অংশ হবে।
  • অকার্যকর f (int n) {
  • int a [n] = {1, 2, 3}; // std :: bad_array_length throws যদি n & lt; 3
  • আপনি
  • [& amp; a] {for (int i: a) {cout

  • নতুন সংস্করণ সংস্করণ 4.9.1:

    তে
  • GCC 4.9.1 একটি গিগাবাইট 4.9 শাখা থেকে একটি বাগ-ফিক্স রিলিজ রয়েছে যা পূর্ববর্তী প্রকাশের থেকে 88 টিরও বেশি বাগ সংশোধন এবং জিसीसी 4.9.0 এর গুরুতর বাগগুলির জন্য গুরুত্বপূর্ণ সংশোধন রয়েছে। এর পাশাপাশি, GCC 4.9.1 রিলিজ শুধুমাত্র সি এবং সি ++ এর পরিবর্তে ফোর্ট্রানে OpenMP 4.0 সমর্থন করে।

  • সংস্করণ 4.9.0 তে নতুন :

  • সাধারণ অপটিমাইজার উন্নতি:
  • ঠিকানা স্যানিটিজার, দ্রুত মেমরি ত্রুটি সনাক্তকারী, এখন এআরএমে উপলব্ধ।
  • অনির্ধারিত BihaviorSanitizer (ubsan), একটি দ্রুত অনির্ধারিত আচরণ সনাক্তকারী, যোগ করা হয়েছে এবং -fanitize = undefined মাধ্যমে সক্ষম করা যেতে পারে। বিভিন্ন কম্পিউটেশন রানটাইম এ অনির্ধারিত আচরণ সনাক্ত করা হবে। UndefinedBehaviorSanitizer বর্তমানে সি এবং সি ++ ভাষার জন্য উপলব্ধ।
  • লিঙ্ক-সময় অপ্টিমাইজেশান (এলটিও) উন্নতি:
  • মার্জিং টাইপ পুনঃলিখন করা হয়েছে। নতুন বাস্তবায়ন উল্লেখযোগ্যভাবে দ্রুত এবং কম মেমরি ব্যবহার করে।
  • উন্নত বিভাজন অ্যালগরিদম ফলে লিঙ্ক সময় কম স্ট্রিমিং হয়।
  • ভার্চুয়াল পদ্ধতির প্রাথমিক অপসারণটি বস্তুর ফাইলগুলির আকার হ্রাস করে এবং লিঙ্ক-সময় মেমরি ব্যবহার উন্নত করে এবং সময় সংকলন করে।
  • ফাংশন সংস্থাগুলি এখন অন-চাহিদা লোড করা হয়েছে এবং লিংক সময়ে সামগ্রিক মেমরি ব্যবহারের দ্রুত উন্নতি করে।
  • C ++ লুকানো কী পদ্ধতিগুলি এখন অপ্টিমাইজ করা যেতে পারে।
  • একটি লিঙ্কার প্লাগইন ব্যবহার করার সময়, -flto বিকল্পের সাথে সংকলন এখন পাতলা বস্তু ফাইল (.o) তৈরি করে যা শুধুমাত্র এলটিওর জন্য মধ্যবর্তী ভাষা উপস্থাপনা ধারণ করে। ফাইলটি তৈরি করতে -ffat-lto-objects ব্যবহার করুন যা অতিরিক্ত বস্তু কোড ধারণ করে। এলটিও প্রক্রিয়াকরণের জন্য উপযুক্ত স্ট্যাটিক লাইব্রেরি তৈরি করতে, জিসিসি-আর এবং জিসি-র্যানলিব ব্যবহার করুন; একটি পাতলা বস্তু ফাইল থেকে চিহ্ন তালিকা করতে gcc-nm ব্যবহার করুন। (যে AR, রানলিব এবং এনএম প্রয়োজন প্লাগইন সমর্থন সঙ্গে সংকলিত করা হয়েছে।)
  • মেমরি ব্যবহারের বিল্ডিং ডিফল্ট দিয়ে ফায়ারফক্স 15 গিগাবাইট থেকে 3.5 গিগাবাইটে কমিয়ে আনা হয়েছে; 1700 সেকেন্ড থেকে 350 সেকেন্ড পর্যন্ত লিঙ্ক সময়।
  • ইন্টার-প্রসেসর অপ্টিমাইজেশান উন্নতি:
  • নতুন টাইপ উত্তরাধিকার বিশ্লেষণ মডিউল devirtualization উন্নতি। ডিভার্চুয়ালাইজেশান এখন অনামী নাম-স্পেস এবং C ++ 11 চূড়ান্ত কীওয়ার্ডে নেয়।
  • নতুন ফটকাবাচক ভার্চুয়ালাইজেশন পাস (Fdevirtualize-speculatively দ্বারা নিয়ন্ত্রিত।
  • প্রত্যক্ষভাবে সরাসরি তৈরি হওয়া কলগুলি পরোক্ষভাবে ফিরিয়ে আনা হয় যেখানে সরাসরি কলটি সস্তা নয়।
  • স্থানীয় এলিয়াসগুলি প্রতীকগুলির জন্য প্রবর্তিত হয় যা ডায়নামিক লিঙ্কিং বারগুলির উন্নতিতে ভাগ করা লাইব্রেরিতে সমার্থকভাবে সমান হিসাবে পরিচিত।
  • প্রতিক্রিয়া নির্দেশিত অপ্টিমাইজেশান উন্নতি:
  • সি ++ ইনলাইন ফাংশন ব্যবহার করে প্রোগ্রামগুলির প্রোফাইলিং এখন আরও নির্ভরযোগ্য।
  • নতুন সময় প্রোফাইলিং নির্দিষ্ট ক্রম নির্ধারণ করে যাতে ফাংশন কার্যকর হয়।
  • একটি নতুন ফাংশন পুনর্বহাল পাস (-ফ্রেডার-ফাংশন দ্বারা নিয়ন্ত্রিত) উল্লেখযোগ্যভাবে বড় অ্যাপ্লিকেশনগুলির স্টার্টআপ সময় হ্রাস করে। Binutils সমর্থন সম্পন্ন না হওয়া পর্যন্ত, এটি শুধুমাত্র লিঙ্ক-সময় অপ্টিমাইজেশান দ্বারা কার্যকর।
  • প্রতিক্রিয়া চালিত পরোক্ষ কল অপসারণ এবং ডেভার্টুয়ালাইজেশান এখন লিঙ্ক-সময় অপ্টিমাইজেশান সক্ষম করার সময় ক্রস-মডিউল কলগুলি পরিচালনা করে।
  • নতুন ভাষা এবং ভাষা নির্দিষ্ট উন্নতি:
  • ওপেন এমপি স্পেসিফিকেশন এর সংস্করণ 4.0 এখন সি এবং সি ++ কম্পাইলারগুলির জন্য সমর্থিত। নতুন ওপেন এমপি সিমড বিকল্পটি ওপেন এমপি এর সিএমডি নির্দেশগুলি সক্রিয় করতে ব্যবহার করা যেতে পারে, অন্য OpenMP নির্দেশাবলী উপেক্ষা করে। New -fsimd-cost-model = বিকল্পটি ওপেন এমপি এবং সিলেক প্লাস সিএমডির নির্দেশাবলীর সাথে লোটের জন্য ভেক্টরাইজেশনের খরচ মডেল সুরকরণের অনুমতি দেয়; -Wopenmp-simd সতর্কতা অবলম্বন করে যখন বর্তমান কাস্টমডেল ব্যবহারকারী দ্বারা সেট সিমড নির্দেশগুলি ওভাররাইড করে।
  • -Wdate-time বিকল্পটি C, C ++ এবং ফোর্টান কম্পাইলারগুলির জন্য যোগ করা হয়েছে, যা __DATE__, __TIME__ বা __TIMESTAMP__ ম্যাক্রোগুলি ব্যবহার করা হয় তা সাবধান করে। যারা ম্যাক্রো বিট-অনুযায়ী-অভিন্ন পুনর্নির্মাণযোগ্য সংকলনগুলিকে প্রতিরোধ করতে পারে।
  • আপনি আদা:
  • আপনি
  • GNAT ডিফল্টভাবে অ্যাড 2005 পরিবর্তে অ্যাডা ২01২ এ স্যুইচ করেছিল।
  • সি পরিবার:
  • GCC দ্বারা নির্গমন ডায়াগনস্টিক রঙিন করার জন্য সমর্থন যোগ করা হয়েছে। -Fdiagnostics-color = auto টার্মিনালগুলিতে আউটপুট করার সময় এটি সক্ষম করবে, -ফিডেগনস্টিক্স-রঙ = সর্বদা নিঃশর্তভাবে। GCC_COLORS এনভায়রনমেন্ট ভেরিয়েবলগুলি রং কাস্টমাইজ বা রঙ নিষ্ক্রিয় করার জন্য ব্যবহার করা যেতে পারে। যদি পরিবেশে GCC_COLORS পরিবর্তনশীল উপস্থিত থাকে, তবে ডিফল্ট -fdiagnostics-color = auto, অন্যথায় -fdiagnostics-color = না।
  • নমুনা ডায়াগনোস্টিক আউটপুট:
  • $ g ++ -fdiagnostics-color = always -S -Wall test.C
  • test.C: ফাংশনে & lsquo; int foo () ':
  • test.C: 1: 14: সতর্কতা: কোন ফিরতি ফাংশন ফিরতি অ-অকার্যকর [-বর্তন-টাইপ]
  • int foo () {}
  • test.C: 2: 46: ত্রুটি: টেমপ্লেট তাত্ক্ষণিক গভীরতা সর্বাধিক 900 (সর্বাধিক বৃদ্ধি করার জন্য -ফেটম্যাম্প-গভীরতা = সর্বাধিক বৃদ্ধি) ওপেনিয়েট & lsquo; struct X '
  • টেমপ্লেট struct X {স্ট্যাটিক কনস int মান = এক্স :: মান; }; টেমপ্লেট গঠন এক্স;
  • test.C: 2: 46: পুনরাবৃত্তিমূলকভাবে & lsquo; const int x :: মান '
  • থেকে প্রয়োজন
  • test.C: 2: 46: & ltquo; const int int X value =
  • থেকে প্রয়োজন
  • test.C: 2: 88: এখানে থেকে
  • প্রয়োজন
  • test.C: 2: 46: ত্রুটি: অসম্পূর্ণ টাইপ & lsquo; X 'নেস্টেড নাম স্পেসিফায়ারে ব্যবহৃত হয়
  • নতুন #pragma GCC ivdep এর সাথে, ব্যবহারকারীর দৃঢ়তা থাকতে পারে যে কোনও লুপ-চালিত নির্ভরতা নেই যা SIMD (একক নির্দেশনা একাধিক ডেটা) নির্দেশাবলী ব্যবহার করে ক্রমাগত পুনরাবৃত্তিগুলির সমতুল্য সঞ্চালন প্রতিরোধ করবে।
  • সিলেক প্লাসের জন্য সমর্থন যোগ করা হয়েছে এবং -ফিলস্কুলাস বিকল্পের সাথে সক্ষম করা যেতে পারে। Cilk প্লাস ডাটা এবং টাস্ক সমান্তরাল সমর্থন করার জন্য সি এবং সি ++ ভাষাগুলির একটি এক্সটেনশান। বর্তমান বাস্তবায়ন এবিআই সংস্করণ 1.2 অনুসরণ করে; সমস্ত বৈশিষ্ট্য কিন্তু _Cilk_for প্রয়োগ করা হয়েছে।
  • আইএসও সি 11 এটোমিক্স (_ এটোমিক টাইপ স্পেসিফায়ার এবং কোয়ালিফায়ার এবং হেডার) এখন সমর্থিত।
  • ISO C11 জেনেরিক নির্বাচনগুলি (_ জেনারিক কীওয়ার্ড) এখন সমর্থিত।
  • ISO C11 থ্রেড-স্থানীয় স্টোরেজ (_Thread_local, GNU C __thread এর অনুরূপ) এখন সমর্থিত।
  • ISO C11 সমর্থন এখন ISO C99 সমর্থনের সমান স্তরের সমান স্তরে রয়েছে: উল্লেখযোগ্যভাবে সম্পূর্ণ মোডুলো বাগ, বর্ধিত সনাক্তকারী (সমর্থিত-সনাক্তকারী-সনাক্তকারীগুলি ব্যবহৃত হলে কোণার ক্ষেত্রে সমর্থিত), ভাসমান-পয়েন্ট সমস্যাগুলি (প্রধানত কিন্তু সম্পূর্ণরূপে নয়) আনক্সেস এফ এবং জি থেকে ঐচ্ছিক C99 বৈশিষ্ট্যের সাথে সম্পর্কিত) এবং ঐচ্ছিক আনক্সেস কে (বাউন্ড-পরীক্ষণ ইন্টারফেস) এবং এল (বিশ্লেষণযোগ্যতা)।
  • একটি নতুন সি এক্সটেনশান __auto_type GNU C তে C ++ 11 অটো কার্যকারিতাগুলির একটি উপসেট সরবরাহ করে।
  • আপনি সি ++:
  • আপনি
  • সাধারণ + ফাংশনগুলির জন্য C ++ 1y রিটার্ন টাইপ ক্যাটাকের G ++ বাস্তবায়ন N3638 অনুসারে কাজ করার কাগজটিতে গৃহীত প্রস্তাব অনুযায়ী আপডেট করা হয়েছে। সর্বাধিক উল্লেখযোগ্যভাবে, এটি সাধারণ প্লেয়ারের টেমপ্লেট আর্গুমেন্ট সীমাবদ্ধতা স্যাম্যান্টিক্সের পরিবর্তে ডেলিটিপ সেমেটিক্স পাওয়ার জন্য ডলটাইপ (স্বয়ংক্রিয়) যোগ করে:
  • আপনি int- এ এবং; চ (); করুন
  • স্বয়ংক্রিয় i1 = f (); // int
  • decltype (auto) i2 = f (); // int & amp;
  • G ++ সি ++ 1y ল্যাম্বা ক্যাপচারের প্রাথমিক সূচনা সমর্থন করে:
  • [x = 42] {...};
  • প্রকৃতপক্ষে, তারা GCC 4.5 থেকে গৃহীত হয়েছে, কিন্তু এখন কম্পাইলার তাদের সম্পর্কে -std = c ++ 1y- এর সাথে সতর্ক করে না এবং বন্ধনীযুক্ত এবং বন্ধনী-সংযুক্ত সূচনাকারীগুলিকেও সমর্থন করে।
  • G ++ সি ++ 1y পরিবর্তনশীল দৈর্ঘ্য অ্যারে সমর্থন করে। জি ++ দীর্ঘ সময়ের জন্য জিএনইউ / সি 99-স্টাইল ভিএলএগুলিকে সমর্থন করেছে, তবে এখন অতিরিক্তভাবে প্রাথমিকভাবে এবং ল্যাম্বার ক্যাপচারকে রেফারেন্স দ্বারা সমর্থন করে। C ++ 1y মোডে G ++ VLA ব্যবহার সম্পর্কে অভিযোগ করবে যা খসড়া মান দ্বারা অনুমোদিত নয়, যেমন VLA টাইপের পয়েন্টার তৈরি করা বা VLA ভেরিয়েবলের সাইজফোফ প্রয়োগ করা। মনে রাখবেন যে এটি এখন প্রদর্শিত হচ্ছে যে VLA C ++ 14 এর অংশ হবে না, তবে এটি একটি পৃথক নথি এবং সম্ভবত সি ++ 17 এর অংশ হবে।
  • অকার্যকর f (int n) {
  • int a [n] = {1, 2, 3}; // std :: bad_array_length throws যদি n & lt; 3
  • আপনি
  • [& amp; a] {for (int i: a) {cout

  • অনুরূপ সফ্টওয়্যার

    Vala
    Vala

    16 Aug 18

    clig
    clig

    3 Jun 15

    purepy
    purepy

    14 Apr 15

    মন্তব্য GCC

    1 মন্তব্য
    • http://www.eduwizzonlinetrainings.com 29 Dec 17
      EduwizzOnlineTraining is one of the Best Online Training Institute in Hyderabad, Bangalore. Eduwizz provide courses like Hybris Development, WebSphere Commerce Server,Blockchain Training,Hyperledger Fabric Development ,Ethereum Development ,Commvault Training, Devops , Netapps , Mulesoft ESB ,Machine Learning,Data Science , Internet of Things , Hybris ,Angular JS , Node JS , Express JS , Business Analyst, Selenium testing with webdriver, Guidewire ,Adobe, RPA ,TSM, EMC...etc
    মন্তব্য যোগ করুন
    ছবি চালু!
    বিভাগ দ্বারা অনুসন্ধান