මයික්‍රොචිප්-ලාංඡනය

MICROCHIP XC8 C සම්පාදක අනුවාදය 2.45 AVR MCU සඳහා නිකුත් කිරීමේ සටහන්

MICROCHIP-XC8-C-Compiler-Version-2-45-AVR-MCU-PRO සඳහා-නිකුතු-සටහන්

නිෂ්පාදන තොරතුරු

MPLAB XC8 C Compiler යනු Microchip AVR උපාංග ඉලක්ක කර ගැනීම සඳහා භාවිතා කරන මෘදුකාංග මෙවලමකි. එය C කේතය සම්පාදනය කිරීමට සහ ක්‍රියාත්මක කළ හැකි උත්පාදනය කිරීමට නිර්මාණය කර ඇත fileමෙම උපාංග සඳහා s. මෙම පරිශීලක අත්පොතෙහි සඳහන් වන සම්පාදක අනුවාදය 2.45 වන අතර, නිල ගොඩනැගීමේ දිනය 18 අගෝස්තු 2023 වේ. පෙර අනුවාදය 2.41, 8 පෙබරවාරි 2023 වන දින ගොඩනගා ඇත. සම්පාදකය අතිරේක තොරතුරු සපයන ක්‍රියාකාරී ආරක්ෂණ අත්පොතක් සමඟ පැමිණේ. සහ ක්රියාකාරී ආරක්ෂණ යෙදුම් සමඟ MPLAB XC සම්පාදක භාවිතා කරන විට මාර්ගෝපදේශ. ඔබ ක්‍රියාකාරී ආරක්ෂණ බලපත්‍රයක් මිලදී ගන්නා විට මෙම අත්පොත ලේඛන පැකේජයට ඇතුළත් වේ. MPLAB XC8 C Compiler නිකුත් කරන අවස්ථාවේ පවතින සියලුම 8-bit AVR MCU උපාංග සඳහා සහය දක්වයි. ඔබට avr_chipinfo.html වෙත යොමු විය හැක file සම්පාදකයාගේ ලේඛන නාමාවලියෙහි සහය දක්වන සියලුම උපාංග ලැයිස්තුවක් සහ ඒවායේ වින්‍යාස බිටු සැකසුම් සඳහා. MPLAB XC8 සම්පාදකයෙහි විවිධ සංස්කරණ තිබේ. බලපත්‍රලාභී (PRO) සංස්කරණය නිදහස් සංස්කරණයට සාපේක්ෂව ඉහළ මට්ටමේ ප්‍රශස්තකරණයක් සපයයි. සම්පාදකය බලපත්‍රලාභී නිෂ්පාදනයක් ලෙස සක්‍රිය කිරීමට, ඔබ සක්‍රීය කිරීමේ යතුරක් මිලදී ගත යුතුය. කෙසේ වෙතත්, බලපත්‍ර රහිත අනුවාදය බලපත්‍රයක් නොමැතිව දින නියමයක් නොමැතිව භාවිතා කළ හැකිය. ක්‍රියාකාරී ආරක්ෂණ යෙදුම් සඳහා, MPLAB XC8 ක්‍රියාකාරී ආරක්ෂණ සම්පාදකයක් තිබේ. එය සක්‍රිය කිරීම සඳහා මයික්‍රොචිප් වෙතින් මිලදී ගත් ක්‍රියාකාරී ආරක්ෂණ බලපත්‍රයක් අවශ්‍ය වේ. සක්‍රිය වූ පසු, සියලුම ප්‍රශස්තකරණ මට්ටම් සහ සම්පාදක විශේෂාංග භාවිතා කළ හැක. MPLAB XC Functional Safety Compiler ද ජාල සේවාදායක බලපත්‍රය සඳහා සහය දක්වයි. ස්ථාපනය, සක්‍රිය කිරීම, බලපත්‍ර වර්ග සහ සංක්‍රමණ ගැටළු පිළිබඳ සවිස්තරාත්මක තොරතුරු MPLAB XC C Compilers (DS50002059) ලේඛනයේ ස්ථාපනය සහ බලපත්‍ර ලබා දීම සොයා ගත හැක.

නිෂ්පාදන භාවිත උපදෙස්

  1. MPLAB XC8 C Compiler මෘදුකාංගය ධාවනය කිරීමට පෙර, Microchip AVR උපාංග ඉලක්ක කිරීමට විශේෂිත වූ වැදගත් තොරතුරු සහ උපදෙස් සඳහා පරිශීලක අත්පොත කියවන්න.
  2. ඔබ 8-bit PIC උපාංග සඳහා සම්පාදකය භාවිතා කරන්නේ නම්, PIC ලේඛනය සඳහා MPLAB XC8 C Compiler Release Notes වෙත යොමු වන්න.
  3. සම්පාදකය ක්‍රියාත්මක කිරීම සඳහා ඔබේ මෙහෙයුම් පද්ධතිය පද්ධති අවශ්‍යතා සපුරාලන බවට සහතික වන්න. macOS සඳහා ද්විමය කේත-අත්සන් කර නොතාරිස් කර ඇත. MPLAB XC ජාල බලපත්‍ර සේවාදායකය Microsoft Windows 10 සහ ඉහළ, Ubuntu 18.04 සහ ඉහළ, සහ macOS 10.15 සහ ඉහළ සඳහා ලබා ගත හැකිය. MPLAB XC ජාල බලපත්‍ර සේවාදායකය මෙම මෙහෙයුම් පද්ධති මත පරීක්ෂා කර නොමැති බව සලකන්න.
  4. MPLAB XC ජාල බලපත්‍ර සේවාදායකය ජාල බලපත්‍ර (SW006021-VM) සඳහා අතථ්‍ය යන්ත්‍ර බලපත්‍රයක් භාවිතයෙන් සහය දක්වන මෙහෙයුම් පද්ධතියේ අතථ්‍ය යන්ත්‍ර මත ධාවනය කළ හැක. MPLAB XC ජාල සේවාදායකයේ සියලුම 32-බිට් අනුවාද 3.00 අනුවාදයෙන් ආරම්භ වේ.
  5. MPLAB XC8 C Compiler බලපත්‍රලාභී (PRO) නිෂ්පාදනයක් ලෙස සක්‍රිය කිරීමට, සක්‍රිය කිරීමේ යතුරක් මිලදී ගන්න. මෙය නිදහස් අනුවාදයට සාපේක්ෂව ඉහළ මට්ටමේ ප්රශස්තකරණයක් ලබා දෙනු ඇත. කෙසේ වෙතත්, බලපත්‍ර රහිත සම්පාදකය බලපත්‍රයක් නොමැතිව දින නියමයක් නොමැතිව ක්‍රියාත්මක කළ හැකිය.
  6. ඔබ ක්‍රියාකාරී ආරක්ෂණ යෙදුම් සඳහා MPLAB XC8 ක්‍රියාකාරී ආරක්ෂණ සම්පාදකය භාවිතා කරන්නේ නම්, එය Microchip වෙතින් මිලදී ගත් ක්‍රියාකාරී ආරක්ෂණ බලපත්‍රයක් සමඟ සක්‍රිය කළ යුතුය. මෙම බලපත්‍රය නොමැතිව සම්පාදකය ක්‍රියා නොකරයි. සක්‍රිය වූ පසු, ඔබට ඕනෑම ප්‍රශස්තිකරණ මට්ටමක් තෝරාගෙන සියලුම සම්පාදක විශේෂාංග භාවිතා කළ හැක. MPLAB XC Functional Safety Compiler හි මෙම නිකුතුව මගින් Network Server බලපත්‍රය සහාය දක්වයි.
  7. MPLAB XC8 C Compiler ස්ථාපනය කිරීම, සක්‍රිය කිරීම සහ බලපත්‍ර ලබා දීම පිළිබඳ සවිස්තරාත්මක උපදෙස් සඳහා, MPLAB XC C Compilers (DS50002059) ස්ථාපනය සහ බලපත්‍ර ලබා දීම.
  8. ඔබ ඇගයුම් බලපත්‍රය යටතේ සම්පාදකය ක්‍රියාත්මක කරන්නේ නම්, ඔබ ඔබේ ඇගයුම් කාලය අවසන් වී දින 14ක් ඇතුළත සිටින විට සම්පාදනය කිරීමේදී ඔබට අනතුරු ඇඟවීමක් ලැබෙනු ඇත. ඔබ ඔබේ HPA දායකත්වය අවසන් වී දින 14ක් ඇතුළත සිටින්නේ නම් එම අනතුරු ඇඟවීමම නිකුත් කෙරේ.

ඉවරයිview

හැඳින්වීම
Microchip MPLAB® XC8 C සම්පාදකයේ මෙම නිකුතුවේ නව විශේෂාංග, දෝෂ නිවැරදි කිරීම් සහ නව උපාංග සඳහා සහය ඇතුළත් වේ.

ගොඩනැගීමේ දිනය
මෙම සම්පාදක අනුවාදයේ නිල ගොඩනැගීමේ දිනය 18 අගෝස්තු 2023 වේ.

පෙර අනුවාදය
පෙර MPLAB XC8 C සම්පාදක අනුවාදය 2.41, 8 පෙබරවාරි 2023 වන දින ගොඩනගා ඇත.

ක්රියාකාරී ආරක්ෂණ අත්පොත
MPLAB XC සම්පාදක සඳහා ක්‍රියාකාරී ආරක්ෂණ අත්පොතක් ඔබ ක්‍රියාකාරී ආරක්ෂණ බලපත්‍රයක් මිලදී ගන්නා විට ලේඛන පැකේජයේ ඇත.

සංරචක බලපත්ර සහ අනුවාද
AVR MCUs මෙවලම් සඳහා MPLAB XC8 C සම්පාදකය GNU සාමාන්‍ය මහජන බලපත්‍රය (GPL) යටතේ ලියා බෙදා හරිනු ලැබේ, එයින් අදහස් කරන්නේ එහි මූල කේතය නොමිලේ බෙදා හරින අතර මහජනයාට ලබා ගත හැකි බවයි. GNU GPL යටතේ ඇති මෙවලම් සඳහා වන මූල කේතය Microchip වෙතින් වෙන වෙනම බාගත කළ හැක webඅඩවිය. ඔබට GNU GPL කියවිය හැක file ඔබගේ ස්ථාපන නාමාවලියෙහි උප බහලුම පිහිටා ඇත. GPL සඳහා පාදක වන මූලධර්ම පිළිබඳ සාමාන්‍ය සාකච්ඡාවක් මෙහි සොයා ගත හැක. ශීර්ෂකය සඳහා ආධාරක කේතය සපයා ඇත files, ලින්කර් ස්ක්‍රිප්ට් සහ ධාවන කාල පුස්තකාල හිමිකාර කේතය වන අතර GPL යටතේ ආවරණය නොවේ. මෙම සම්පාදකය GCC අනුවාදය 5.4.0, binutils අනුවාදය 2.26 ක්‍රියාත්මක කිරීමකි, සහ avr-libc අනුවාදය 2.0.0 භාවිතා කරයි.

පද්ධති අවශ්යතා
MPLAB XC8 C සම්පාදකය සහ එය භාවිතා කරන බලපත්‍ර මෘදුකාංග පහත දැක්වෙන 64-bit අනුවාද ඇතුළුව විවිධ මෙහෙයුම් පද්ධති සඳහා ලබා ගත හැකිය: Microsoft® Windows® 10, Ubuntu® 18.04, Ubuntu® 13.2, macOS® 34 (Ventura) හි වෘත්තීය සංස්කරණ සහ Fedora 64. Windows සඳහා Binaries කේත-අත්සන් කර ඇත. macOS සඳහා ද්විමය කේත-අත්සන් කර නොතාරිස් කර ඇත. MPLAB XC ජාල බලපත්‍ර සේවාදායකය Microsoft Windows 10 සහ ඊට ඉහළ ඇතුළුව, විවිධ 18.04-bit මෙහෙයුම් පද්ධති සඳහා ලබා ගත හැකිය; උබුන්ටු 10.15 සහ ඉහළ; හෝ macOS 006021 සහ ඉහළ. සේවාදායකය Windows Server, Oracle® Enterprise Linux® සහ Red Hat® Enterprise Linux වැනි ලිනක්ස් බෙදාහැරීම් මෙන්ම සහය දක්වන මෙහෙයුම් පද්ධතිවල පැරණි අනුවාද ඇතුළුව වෙනත් විවිධ මෙහෙයුම් පද්ධති මතද ධාවනය විය හැක. කෙසේ වෙතත්, MPLAB XC ජාල බලපත්‍ර සේවාදායකය මෙම මෙහෙයුම් පද්ධති මත පරීක්ෂා නොකෙරේ. MPLAB XC ජාල බලපත්‍ර සේවාදායකය ජාල බලපත්‍ර (SW32-VM) සඳහා අතථ්‍ය යන්ත්‍ර බලපත්‍රයක් භාවිතයෙන් සහය දක්වන මෙහෙයුම් පද්ධතියේ අතථ්‍ය යන්ත්‍ර මත ධාවනය කළ හැක. MPLAB XC ජාල සේවාදායකයේ සියලුම 3.00-බිට් අනුවාද XNUMX අනුවාදයෙන් ආරම්භ වේ.

උපාංග සඳහා සහය දක්වයි
මෙම සම්පාදකය නිකුත් කරන අවස්ථාවේ පවතින සියලුම බිට් 8 AVR MCU උපාංග සඳහා සහය දක්වයි. සහාය දක්වන සියලුම උපාංග ලැයිස්තුවක් සඳහා avr_chipinfo.html (සම්පාදක ලේඛන නාමාවලියෙහි) බලන්න. මෙම ගොනු එක් එක් උපාංගය සඳහා වින්‍යාස බිටු සැකසුම් ද ලැයිස්තුගත කරයි.

සංස්කරණ සහ බලපත්‍ර උත්ශ්‍රේණි කිරීම්
MPLAB XC8 සම්පාදකය බලපත්‍රලාභී (PRO) හෝ බලපත්‍ර රහිත (නොමිලේ) නිෂ්පාදනයක් ලෙස සක්‍රිය කළ හැක. ඔබේ සම්පාදකයට බලපත්‍ර ලබා දීම සඳහා ඔබ සක්‍රිය කිරීමේ යතුරක් මිලදී ගත යුතුය. බලපත්‍රයක් නොමිලේ නිෂ්පාදනයට සාපේක්ෂව ඉහළ මට්ටමේ ප්‍රශස්තකරණයකට ඉඩ සලසයි. බලපත්‍ර රහිත සම්පාදකයක් බලපත්‍රයක් නොමැතිව දින නියමයක් නොමැතිව ක්‍රියාත්මක කළ හැක. MPLAB XC8 ක්‍රියාකාරී ආරක්ෂණ සම්පාදකයක් මයික්‍රොචිප් වෙතින් මිලදී ගත් ක්‍රියාකාරී ආරක්ෂණ බලපත්‍රයක් සමඟ සක්‍රිය කළ යුතුය. මෙම බලපත්‍රය නොමැතිව සම්පාදකය ක්‍රියා නොකරයි. සක්‍රිය වූ පසු, ඔබට ඕනෑම ප්‍රශස්තිකරණ මට්ටමක් තෝරාගෙන සියලුම සම්පාදක විශේෂාංග භාවිතා කළ හැක. MPLAB XC Functional Safety Compiler හි මෙම නිකුතුව ජාල සේවාදායක බලපත්‍රය සඳහා සහය දක්වයි. බලපත්‍ර වර්ග සහ බලපත්‍රයක් සහිත සම්පාදක ස්ථාපනය පිළිබඳ තොරතුරු සඳහා MPLAB XC C Compilers (DS50002059) ස්ථාපනය සහ බලපත්‍ර ලබා දීම බලන්න.

ස්ථාපනය සහ සක්රියන
මෙම සම්පාදකය සමඟ ඇතුළත් කර ඇති නවතම බලපත්‍ර කළමනාකරු පිළිබඳ වැදගත් තොරතුරු සඳහා සංක්‍රමණ ගැටළු සහ සීමා කොටස් ද බලන්න. MPLAB IDE භාවිතා කරන්නේ නම්, මෙම මෙවලම ස්ථාපනය කිරීමට පෙර නවතම MPLAB X IDE අනුවාදය 5.0 හෝ පසුව ස්ථාපනය කිරීමට වග බලා ගන්න. සම්පාදකය ස්ථාපනය කිරීමට පෙර IDE වෙතින් ඉවත් වන්න. .run (Linux) හෝ .app (macOS) සම්පාදක ස්ථාපක යෙදුම ධාවනය කරන්න, උදා XC8-1.00.11403-windows.exe සහ තිරයේ ඇති උපදෙස් අනුගමනය කරන්න. පෙරනිමි ස්ථාපන නාමාවලිය නිර්දේශ කෙරේ. ඔබ Linux භාවිතා කරන්නේ නම්, ඔබ සම්පාදකය ටර්මිනලයක් භාවිතයෙන් සහ root ගිණුමකින් ස්ථාපනය කළ යුතුය. පරිපාලක වරප්‍රසාද සහිත macOS ගිණුමක් භාවිතයෙන් ස්ථාපනය කරන්න. සක්රිය කිරීම දැන් ස්ථාපනය සඳහා වෙන වෙනම සිදු කෙරේ. වැඩි විස්තර සඳහා MPLAB® XC C Compilers (DS52059) සඳහා ලේඛන බලපත්‍ර කළමනාකරු බලන්න. ඔබ ඇගයීම් බලපත්‍රය යටතේ සම්පාදකය ක්‍රියාත්මක කිරීමට තෝරා ගන්නේ නම්, ඔබ ඔබේ ඇගයුම් කාල සීමාව අවසන් වී දින 14ක් ඇතුළත සිටින විට සම්පාදනය කිරීමේදී ඔබට දැන් අනතුරු ඇඟවීමක් ලැබෙනු ඇත. ඔබ ඔබේ HPA දායකත්වය අවසන් වී දින 14ක් ඇතුළත සිටින්නේ නම් එම අනතුරු ඇඟවීමම නිකුත් කෙරේ. XC ජාල බලපත්‍ර සේවාදායකය වෙනම ස්ථාපකයක් වන අතර එය තනි පරිශීලක සම්පාදක ස්ථාපකයට ඇතුළත් නොවේ. XC බලපත්‍ර කළමනාකරු දැන් පාවෙන ජාල බලපත්‍රවල රෝමිං සඳහා සහය දක්වයි. ජංගම දුරකථන භාවිතා කරන්නන් ඉලක්ක කර ගත් මෙම විශේෂාංගය මඟින් පාවෙන බලපත්‍රයක් කෙටි කාලයක් සඳහා ජාලයෙන් ඉවත් වීමට ඉඩ සලසයි. මෙම විශේෂාංගය භාවිතයෙන්, ඔබට ජාලයෙන් විසන්ධි විය හැකි අතර තවමත් ඔබේ MPLAB XC සම්පාදකය භාවිතා කළ හැක. මෙම විශේෂාංගය පිළිබඳ වැඩි විස්තර සඳහා XCLM ස්ථාපනයේ ලේඛන ෆෝල්ඩරය බලන්න. MPLAB X IDE රෝමිං දෘශ්‍ය ලෙස කළමනාකරණය කිරීමට බලපත්‍ර කවුළුවක් (මෙවලම් > බලපත්‍ර) ඇතුළත් වේ.

ස්ථාපන ගැටළු විසඳීම
ඕනෑම Windows මෙහෙයුම් පද්ධතියක් යටතේ සම්පාදකය ස්ථාපනය කිරීමේදී ඔබට දුෂ්කරතා ඇති වන්නේ නම්, පහත යෝජනා උත්සාහ කරන්න.

  • ස්ථාපනය පරිපාලක ලෙස ධාවනය කරන්න.
  • ස්ථාපක යෙදුමේ අවසර 'සම්පූර්ණ පාලනය' ලෙස සකසන්න. (ගොනුව මත දකුණු-ක්ලික් කරන්න, ගුණාංග තෝරන්න, ආරක්ෂක පටිත්ත, පරිශීලක තෝරන්න, සංස්කරණය කරන්න.)
  • තාවකාලික ෆෝල්ඩරයේ අවසරයන් 'සම්පූර්ණ පාලනය' ලෙස සකසන්න.

තාවකාලික ෆෝල්ඩරයේ පිහිටීම තීරණය කිරීම සඳහා, Run විධානය තුළ %temp% ටයිප් කරන්න (Windows logo key + R). මෙය එම නාමාවලිය පෙන්වන ගොනු ගවේෂක සංවාදයක් විවෘත කරන අතර එම ෆෝල්ඩරයේ මාර්ගය තීරණය කිරීමට ඔබට ඉඩ සලසයි.

සම්පාදක ලේඛනගත කිරීම
Screenshot හි දක්වා ඇති පරිදි MPLAB X IDE උපකරණ පුවරුවේ නිල් උදවු බොත්තම ක්ලික් කරන විට ඔබේ බ්‍රවුසරයේ විවෘත වන HTML පිටුවෙන් සම්පාදකයාගේ පරිශීලක මාර්ගෝපදේශ විවෘත කළ හැක.MICROCHIP-XC8-C-Compiler-Version-2-45-AVR-MCU-1 සඳහා-නිකුතු-සටහන්

ඔබ 8-bit AVR ඉලක්ක සඳහා ගොඩනඟන්නේ නම්, AVR® MCU සඳහා MPLAB® XC8 C Compiler පරිශීලක මාර්ගෝපදේශය මෙම ගෘහ නිර්මාණ ශිල්පයට අදාළ වන සම්පාදක විකල්ප සහ විශේෂාංග පිළිබඳ තොරතුරු අඩංගු වේ.

පාරිභෝගික සහාය
XC8 සංසදය තුළ ඔබට මෙම නිෂ්පාදනයේ අනෙකුත් පරිශීලකයින්ගෙන් ප්‍රශ්න ඇසීමට හැකිය. Microchip මෙම සම්පාදක අනුවාදය සම්බන්ධයෙන් දෝෂ වාර්තා, යෝජනා හෝ අදහස් සාදරයෙන් පිළිගනී. කරුණාකර කිසියම් දෝෂ වාර්තා හෝ විශේෂාංග ඉල්ලීම් ආධාරක පද්ධතිය හරහා යොමු කරන්න.

ලේඛන යාවත්කාලීන

MPLAB XC8 ප්‍රලේඛනයේ මාර්ගගත සහ යාවත්කාලීන අනුවාද සඳහා, කරුණාකර Microchip හි මාර්ගගත තාක්ෂණික ප්‍රලේඛනය වෙත පිවිසෙන්න webඅඩවිය.
මෙම නිකුතුවේ නව හෝ යාවත්කාලීන AVR ලේඛන:

කිසිවක් නැත

  • AVR® GNU Toolchain to MPLAB® XC8 සංක්‍රමණ මාර්ගෝපදේශය, AVR 8-bit GNU Toolchain වෙතින් Microchip MPLAB XC8 C Compiler වෙත C-පාදක ව්‍යාපෘතියක් සංක්‍රමණය කිරීමට ඔබ තීරණය කළහොත් අවශ්‍ය විය හැකි මූලාශ්‍ර කේතය සහ ගොඩනැගීමේ විකල්ප විස්තර කරයි.
  • Microchip Unifed Standard Library Reference Guide මගින් Microchip Unifed Standard Library මගින් නිර්වචනය කර ඇති කාර්යයන්හි හැසිරීම සහ අතුරු මුහුණත මෙන්ම පුස්තකාල වර්ග සහ මැක්‍රෝ වල අපේක්ෂිත භාවිතය විස්තර කරයි. මෙම තොරතුරු වලින් සමහරක් කලින් AVR® MCU සඳහා MPLAB® XC8 C සම්පාදක පරිශීලක මාර්ගෝපදේශයේ අඩංගු විය. උපාංග-විශේෂිත පුස්තකාල තොරතුරු තවමත් මෙම සම්පාදක මාර්ගෝපදේශයෙහි අඩංගු වේ.
  • ඔබ 8-bit උපාංග සහ MPLAB XC8 C සම්පාදකය සමඟ ආරම්භ කරන්නේ නම්, MPLAB® XC8 පරිශීලකයාගේ
  • Embedded Engineers සඳහා මාර්ගෝපදේශය - AVR® MCUs (DS50003108) MPLAB X IDE හි ව්‍යාපෘති පිහිටුවීම සහ ඔබේ පළමු MPLAB XC8 C ව්‍යාපෘතිය සඳහා කේතය ලිවීම පිළිබඳ තොරතුරු ඇත. මෙම මාර්ගෝපදේශය දැන් සම්පාදකය සමඟ බෙදා හරිනු ලැබේ.
  • Hexmate පරිශීලක මාර්ගෝපදේශය Hexmate තනියම යෙදුමක් ලෙස ධාවනය කරන අය සඳහා අදහස් කෙරේ.

මොනවද අළුත්

පහත දැක්වෙන්නේ සම්පාදකය දැන් සහය දක්වන නව AVR-ඉලක්ක විශේෂාංග වේ. උපමාතෘකාවල අනුවාද අංකයෙන් දැක්වෙන්නේ පහත දැක්වෙන විශේෂාංග සඳහා සහය දක්වන පළමු සම්පාදක අනුවාදයයි.

අනුවාදය 2.45
විශ්ව බලපත්‍ර කළමනාකරු (XC8-3175, XCLM-224) සම්පාදකය සමඟ භාවිතා කරන බලපත්‍ර කළමනාකරුගේ macOS අනුවාදය දැන් විශ්වීය වන අතර, Intel- සහ M1-පාදක යන්ත්‍ර දෙකටම ස්වදේශීය සහය ලබා දෙයි. බලපත්‍ර කළමනාකරුගේ Linux අනුවාදයට දැන් අවම වශයෙන් glibc හි 2.25 අනුවාදය අවශ්‍ය වේ. Mac universal binary (XC8-3168, XC8-2951) MacOS සඳහා වන සම්පාදක ද්විමය ගොනු දැන් විශ්වීය වන අතර, Intel- සහ M1-පාදක යන්ත්‍ර සඳහා ස්වදේශීය සහය ලබා දෙයි. අඩු කරන ලද පාවෙන ලක්ෂ්‍ය පුස්තකාල ප්‍රමාණයන් (XC8-3112, XC8-3071) sinf() pow(), sqrt(), expf(), log1fp() සහ nextafterf() ඇතුළුව, පාවෙන ලක්ෂ්‍ය පුස්තකාල ශ්‍රිත සඳහා වැඩිදියුණු කිරීම් සිදු කර ඇත. , මෙම චර්යාවන් සඳහා කේත ප්‍රමාණයේ අඩුවීමක් දක්නට ලැබේ. පහත දැක්වෙන AVR කොටස් සඳහා නව උපාංග ආධාරක සහාය දැන් පවතී: AVR16EA28, AVR16EA32, AVR16EA48, AVR32EA28, AVR32EA32, AVR32EA48, AVR16EB14, AVR16EB20, AVR16.

අනුවාදය 2.41

  • බූට්‍රෝ සහාය (XC8-3053) සම්පාදකය .bootrow උපසර්ගයක් සහිත ඕනෑම කොටසක අන්තර්ගතය 0x860000 ලිපිනයෙහි HEX ගොනුවේ තබයි. මෙම කොටස් BOOTROW මතකය සඳහා භාවිතා කරනු ලබන අතර, එය ඇරඹුම් කාරකයකට පමණක් ප්‍රවේශ විය යුතු යතුරු සහ අනෙකුත් ආරක්ෂිත තොරතුරු ගබඩා කිරීම සඳහා නිර්මාණය කර ඇත.
  • අතිරික්ත ප්‍රතිලාභ තුරන් කිරීම (XC8-3048) අභිරුචි සම්බන්ධක ස්ක්‍රිප්ට් භාවිතා කරන විට ටේල් ජම්ප් එකක් සහිත ශ්‍රිතවල අතිරික්ත රෙට් උපදෙස් සම්පාදකය දැන් ඉවත් කරයි. මෙය පෙර සිදු කරන ලද ප්‍රශස්තකරණයට සමාන ප්‍රශස්තකරණයකි, නමුත් අභිරුචි සම්බන්ධක ස්ක්‍රිප්ට් එකක් භාවිතා කළත් සහ හොඳම ෆිට් වෙන් කිරීමේ ක්‍රමය ක්‍රියාත්මක නොවූවත්, දැන් එය සියලුම අනාථ කොටස් මත සිදු කෙරේ.
  • කාල වර්ගය වෙනස් කිරීම (XC8-2982, 2932) C99 සම්මත පුස්තකාල වර්ගය, time_t දිගු දිගු සිට අත්සන් නොකළ දිගු වර්ගයකට වෙනස් කර ඇති අතර, එය mktime() වැනි කාලයට අදාළ සමහර කාර්යයන්හි කේත ප්‍රමාණයේ වැඩිදියුණු කිරීම් ලබා දෙයි.
  • නව nop (XC8-2946, 2945) සාර්ව NOP() එකතු කර ඇත . මෙම මැක්‍රෝව ප්‍රතිදානයට කිසිදු ක්‍රියාකාරී නොවන උපදෙස් ඇතුළත් කරයි.
  • XCLM වෙත යාවත්කාලීන කරන්න (XC8-2944) සම්පාදකය සමඟ භාවිතා කරන බලපත්‍ර කළමනාකරු යාවත්කාලීන කර ඇති අතර දැන් සම්පාදකයාගේ බලපත්‍ර විස්තර පරීක්ෂා කිරීමේදී වඩාත් ප්‍රතිචාර දක්වයි.
  • Trampolined ඇමතුම් (XC8-2760) සම්පාදනය කරන්නාට දැන් දිගු ආකාර ඇමතුම් උපදෙස් කෙටි සාපේක්ෂ ඇමතුම් සමඟ ප්‍රතිස්ථාපනය කළ හැක, උපදෙස් වල සාපේක්ෂ ආකෘති සාමාන්‍යයෙන් ඔවුන්ගේ ගමනාන්තයෙන් බැහැරව පවතින විට. මෙම තත්වය තුළ, සම්පාදකය jmp ඇමතුම් උපදෙස් වෙත rcall උපදෙස් සමඟ ප්‍රතිස්ථාපනය කිරීමට උත්සාහ කරනු ඇත, එය 'tr වනු ඇත.ampඅවශ්‍ය ලිපිනයට ඔලයින් ක්‍රියාත්මක කිරීම, උදාampලෙ:

අනුවාදය 2.40

  • පහත AVR කොටස් සඳහා නව උපාංග ආධාරක සහාය දැන් පවතී: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32D32, AVR64D28 64, සහ AVR32EA64.
  • වැඩිදියුණු කරන ලද කාර්ය පටිපාටික සාරාංශය ක්‍රියා පටිපාටි සාරාංශ (PA) ප්‍රශස්තිකරණ මෙවලම වැඩිදියුණු කර ඇති අතර එමඟින් ශ්‍රිත ඇමතුම් උපදෙස් (ඇමතුම්/rcall) අඩංගු කේතය ගෙනහැර දැක්විය හැක. මෙය සිදු වන්නේ ශ්‍රිතයට තර්ක ඉදිරිපත් කිරීමට හෝ ශ්‍රිතයෙන් ප්‍රතිලාභ අගය ලබා ගැනීමට අට්ටිය භාවිතා නොකරන්නේ නම් පමණි. විචල්‍ය තර්ක ලැයිස්තුවක් සහිත ශ්‍රිතයක් ඇමතීමේ දී හෝ මේ සඳහා නම් කර ඇති ලේඛනවලට වඩා වැඩි තර්ක ලබා ගන්නා ශ්‍රිතයක් ඇමතීමේ දී තොගය භාවිතා වේ. මෙම විශේෂාංගය – mno-pa-outline-calls විකල්පය භාවිතයෙන් අක්‍රිය කළ හැකිය, නැතහොත් -mno-pa-on- භාවිතයෙන් වස්තු ගොනුවක් සහ ක්‍රියාකාරිත්වය සඳහා ක්‍රියාපටිපාටික සාරාංශය සම්පූර්ණයෙන්ම අක්‍රිය කළ හැකිය.file -mno-pa-on-function, පිළිවෙලින්, හෝ nopa attribute (__nopa specifier) ​​වරණාත්මකව ශ්‍රිත සමඟ භාවිතා කිරීමෙන්.
  • කේත ආවරණය මැක්‍රෝ වලංගු -mcodecov විකල්පයක් නියම කර ඇත්නම් සම්පාදකය දැන් macro __CODECOV නිර්වචනය කරයි.
  • මතක වෙන්කිරීමේ විකල්පය AVR ඉලක්ක සඳහා ගොඩනඟන විට xc8-cc ධාවකය දැන් -mreserve=space@start:end විකල්පය පිළිගනී. මෙම විකල්පය දත්ත හෝ වැඩසටහන් මතක අවකාශය තුළ නිශ්චිත මතක පරාසය වෙන් කරයි, මෙම ප්‍රදේශයේ කේතය හෝ වස්තු ජනනය කිරීමෙන් සම්බන්ධකය වළක්වයි.
  • Smarter smart IO Smart IO ශ්‍රිතයන් සඳහා වැඩි දියුණු කිරීම් කිහිපයක් සිදු කර ඇත, printf මූලික කේතයට සාමාන්‍ය වෙනස් කිරීම්, %n පරිවර්තන විශේෂණය ස්වාධීන ප්‍රභේදයක් ලෙස සැලකීම, ඉල්ලුම මත vararg pop චර්යාවන් සම්බන්ධ කිරීම, හැසිරවීමට හැකි නම් කෙටි දත්ත වර්ග භාවිතා කිරීම. IO ක්‍රියාකාරී තර්ක, සහ ක්ෂේත්‍ර පළල සහ නිරවද්‍ය ලෙස හැසිරවීමේදී පොදු කේතය සාධක කිරීම. මෙය සැලකිය යුතු කේතයක් සහ දත්ත ඉතිරිකිරීම් මෙන්ම IO ක්‍රියාත්මක කිරීමේ වේගය වැඩි කිරීමට හේතු විය හැක.

අනුවාදය 2.39 (ක්‍රියාකාරී ආරක්ෂණ නිකුතුව)
ජාල සේවාදායක බලපත්‍රය MPLAB XC8 ක්‍රියාකාරී ආරක්ෂණ සම්පාදකයේ මෙම නිකුතුව ජාල සේවාදායක බලපත්‍රය සඳහා සහය දක්වයි.

අනුවාදය 2.36
කිසිවක් නැත.

අනුවාදය 2.35

  • පහත AVR කොටස් සඳහා නව උපාංග ආධාරක සහාය ඇත: ATTINY3224, ATTINY3226, ATTINY3227, AVR64DD14, AVR64DD20, AVR64DD28, සහ AVR64DD32.
  • වැඩිදියුණු කරන ලද සන්දර්භය මාරු කිරීම නව -mcall-isr-prologues විකල්පය මඟින් බාධා කිරීමේ ක්‍රියාකාරකම් ඇතුළත් කිරීමේදී රෙජිස්ටර් සුරකින ආකාරය සහ බාධා කිරීම් චර්යාව අවසන් වූ විට එම රෙජිස්ටර් ප්‍රතිසාධනය කරන ආකාරය වෙනස් කරයි. එය -mcall-prologues විකල්පයට සමාන ආකාරයකින් ක්‍රියා කරයි, නමුත් බාධා කිරීමේ කාර්යයන් (ISRs) වලට පමණක් බලපායි.
  • ඊටත් වඩා වැඩි දියුණු කළ සන්දර්භය මාරු කිරීම නව -mgas-isr-prologues විකල්පය කුඩා බාධා කිරීම් සේවා චර්යාවන් සඳහා ජනනය කරන ලද සන්දර්භය මාරු කේතය පාලනය කරයි. සබල කළ විට, මෙම විශේෂාංගය එකලස් කරන්නා විසින් ලියාපදිංචි භාවිතය සඳහා ISR පරිලෝකනය කර අවශ්‍ය නම් පමණක් භාවිත කළ මෙම රෙජිස්ටර් සුරකින්න ඇත.
  • වින්‍යාසගත කළ හැකි ෆ්ලෑෂ් සිතියම්කරණය AVR DA සහ AVR DB පවුලේ සමහර උපාංගවල SFR (උදා: FLMAP) ඇති අතර එමඟින් වැඩසටහන් මතකයේ 32k කොටස දත්ත මතකයට සිතියම්ගත කරන්නේද යන්න සඳහන් කරයි. නව - mconst-data-in-config-mapped-progmem විකල්පය, සම්බන්ධකය විසින් සියලුම සුදුසුකම් ලත් දත්ත එක් 32k කොටසක ස්ථානගත කිරීමට සහ මෙම දත්ත දත්ත මතක අවකාශයට සිතියම්ගත කර ඇති බව සහතික කිරීම සඳහා අදාළ SFR ලේඛනය ස්වයංක්‍රීයව ආරම්භ කිරීමට භාවිතා කළ හැක. , එය වඩාත් ඵලදායී ලෙස ප්රවේශ වනු ඇත.
  • Microchip Unified Standard Libraries සියලුම MPLAB XC සම්පාදකයින් විසින් Microchip Unified Standard Library එකක් බෙදා ගනු ඇත, එය MPLAB XC8 හි මෙම නිකුතුව සමඟින් දැන් ලබාගත හැක. AVR® MCU සඳහා MPLAB® XC8 C සම්පාදක පරිශීලක මාර්ගෝපදේශයෙහි මෙම සම්මත කාර්යයන් සඳහා ලේඛන තවදුරටත් ඇතුළත් නොවේ. මෙම තොරතුරු දැන් Microchip Unifed Standard Library Reference Guide හි සොයා ගත හැක. avr-libc විසින් කලින් නිර්වචනය කරන ලද සමහර ක්‍රියාකාරීත්වය තවදුරටත් ලබා ගත නොහැකි බව සලකන්න. (පුස්තකාල ක්‍රියාකාරීත්වය බලන්න.)
  • Smart IO නව ඒකාබද්ධ පුස්තකාලවල කොටසක් ලෙස, printf සහ scanf පවුල්වල IO ශ්‍රිත දැන් එක් එක් ගොඩනැගීම මත අභිරුචි-ජනනය කර ඇත, මෙම කාර්යයන් වැඩසටහනේ භාවිතා කරන ආකාරය මත පදනම්ව. මෙය වැඩසටහනක් භාවිතා කරන සම්පත් සැලකිය යුතු ලෙස අඩු කළ හැකිය.
  • Smart IO සහය විකල්පය ස්මාර්ට් IO ශ්‍රිත සඳහා ඇමතුම් විශ්ලේෂණය කිරීමේදී (printf() හෝ scanf() සම්පාදකයාට සෑම විටම ආකෘතියේ තන්තුවෙන් නිර්ණය කිරීමට හෝ ඇමතුමට අවශ්‍ය පරිවර්තන පිරිවිතරයන් තර්කයෙන් අනුමාන කිරීමට නොහැකිය. පෙර, compiler විසින් සෑම විටම සිදු කරනු ඇත. උපකල්පන නොමැති අතර සම්පූර්ණ ක්‍රියාකාරී IO ශ්‍රිතයන් අවසාන වැඩසටහන් රූපයට සම්බන්ධ කර ඇති බව සහතික කරන්න.නව -msmart-io-format=fmt විකල්පයක් එක් කර ඇති අතර ඒ වෙනුවට ස්මාර්ට් IO විසින් භාවිතා කරන පරිවර්තන පිරිවිතර භාවිතා කරන්නාට සම්පාදකයාට දැනුම් දිය හැක. භාවිතය නොපැහැදිලි වන අතර, අධික ලෙස දිගු IO චර්යාවන් සම්බන්ධ කිරීම වළක්වයි. (වැඩිදුර විස්තර සඳහා smart-io-format විකල්පය බලන්න.)
  • අභිරුචි කොටස් තැබීම මින් පෙර, -Wl,–section-start විකල්පය මඟින් ලින්කර් ස්ක්‍රිප්ට් එකම නම සහිත ප්‍රතිදාන අංශයක් නිර්වචනය කළ විට පමණක් ඉල්ලුම් කළ ලිපිනයෙහි නිශ්චිත කොටස තැබීය. එය එසේ නොවූ විට, සම්බන්ධකය විසින් තෝරාගත් ලිපිනයක කොටස තබා ඇති අතර විකල්පය අත්‍යවශ්‍යයෙන්ම නොසලකා හරින ලදී. දැන් සම්බන්ධක ස්ක්‍රිප්ට් කොටස නිර්වචනය නොකළද, සියලු අභිරුචි කොටස් සඳහා විකල්පය ගෞරවයට පාත්‍ර වේ. කෙසේ වෙතත්, සම්මත කොටස් සඳහා, එවැනි .text, .bss හෝ .data , හොඳම Fit වෙන් කරන්නාට තවමත් ඔවුන්ගේ ස්ථානගත කිරීම පිළිබඳ සම්පූර්ණ පාලනය ඇති අතර, විකල්පය කිසිදු බලපෑමක් නොකරන බව සලකන්න. පරිශීලක මාර්ගෝපදේශයෙහි විස්තර කර ඇති පරිදි -Wl,-Tsection=addr විකල්පය භාවිතා කරන්න.

අනුවාදය 2.32

  • PRO සම්පාදක බලපත්‍රයක් සමඟින් ලබා ගත හැකි Stack Guidance, compiler's Stack Guidance විශේෂාංගය මඟින් වැඩසටහනක් භාවිතා කරන ඕනෑම තොගයක උපරිම ගැඹුර තක්සේරු කිරීමට භාවිතා කළ හැක. එය වැඩසටහනක ඇමතුම් ප්‍රස්ථාරය ගොඩනඟා විශ්ලේෂණය කරයි, එක් එක් ශ්‍රිතයේ අට්ටි භාවිතය තීරණය කරයි, සහ වැඩසටහන මඟින් භාවිතා කරන අට්ටිවල ගැඹුර අනුමාන කළ හැකි වාර්තාවක් නිෂ්පාදනය කරයි. මෙම විශේෂාංගය -mchp-stack-usage command-line විකල්පය හරහා සක්‍රීය කර ඇත. ක්‍රියාත්මක කිරීමෙන් පසු තොග භාවිතයේ සාරාංශයක් මුද්‍රණය කෙරේ. සවිස්තරාත්මක තොග වාර්තාවක් සිතියම් ගොනුවේ ඇත, එය සුපුරුදු ආකාරයෙන් ඉල්ලා සිටිය හැක.
  • පහත සඳහන් AVR කොටස් සඳහා නව උපාංග ආධාරක සහාය ලබා ගත හැකිය: ATTINY427, ATTINY424, ATTINY426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64D, AVR64DB28D, AVR32DB28, AV64DB32, සහ AVR32DB48.
  • පහත සඳහන් AVR කොටස් සඳහා ආපසු ලබා ගත් උපාංග සහය තවදුරටත් නොමැත: AVR16DA28, AVR16DA32 සහ, AVR16DA48.

අනුවාදය 2.31
කිසිවක් නැත.

අනුවාදය 2.30

  • දත්ත ආරම්භ කිරීම වැලැක්වීමට නව විකල්පය නව -mno-data-init ධාවකයක් මඟින් දත්ත ආරම්භ කිරීම සහ bss කොටස් ඉවත් කිරීම වළක්වයි. එකලස් කිරීමේ ගොනු වල do_clear_bss සංකේතවල ප්‍රතිදානය යටපත් කිරීමෙන් එය ක්‍රියා කරයි, එමඟින් සම්බන්ධකය විසින් එම චර්යාවන් ඇතුළත් කිරීම වළක්වනු ඇත.
  • වැඩි දියුණු කරන ලද ප්‍රශස්තකරණයන් අතිරික්ත ප්‍රතිලාභ උපදෙස් ඉවත් කිරීම, skip-if-bit-is උපදෙස් අනුගමනය කරමින් සමහර පැනීම් ඉවත් කිරීම, සහ වැඩිදියුණු කරන ලද ක්‍රියාපටිපාටික සාරාංශය සහ මෙම ක්‍රියාවලිය පුනරාවර්තනය කිරීමේ හැකියාව ඇතුළුව ප්‍රශස්තිකරණ වැඩිදියුණු කිරීම් ගණනාවක් සිදු කර ඇත.
    එක් සංකේතයකට සාපේක්ෂව ස්ථිතික වස්තූන් වෙත ප්‍රවේශය සිදු කිරීමට ඉඩ සලසන මෙම ප්‍රශස්තකරණයන්ගෙන් සමහරක් පාලනය කිරීමට අමතර විකල්ප දැන් තිබේ, විශේෂයෙන් -fsection- නැංගුරම්; -mpa- iterations=n, 2 හි පෙරනිමියෙන් පරිපාටික වියුක්ත පුනරාවර්තන ගණන වෙනස් කිරීමට ඉඩ සලසයි; සහ, -mpa-callcost-shortcall, එය වඩාත් ආක්‍රමණශීලී ක්‍රියාපටිපාටික වියුක්ත කිරීමක් සිදු කරයි, සම්බන්ධකයාට දිගු ඇමතුම් ලිහිල් කළ හැකිය යන බලාපොරොත්තුවෙන්. යටින් පවතින උපකල්පන සාක්ෂාත් කර නොගන්නේ නම් මෙම අවසාන විකල්පය කේත ප්‍රමාණය වැඩි කළ හැක.
  • පහත AVR කොටස් සඳහා නව උපාංග ආධාරක සහාය ඇත: AVR16DA28, AVR16DA32, AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DA28 B128, AVR32DB128, සහ AVR48DB128.
  • පහත දැක්වෙන AVR කොටස් සඳහා ආපසු ලබා ගත් උපාංග ආධාරක සහාය තවදුරටත් නොමැත: ATA5272, ATA5790, ATA5790N, ATA5791, ATA5795, ATA6285, ATA6286, ATA6612C, ATA6613C, ATA6614, ATA6616, A6617Q, ATA664251.

අනුවාදය 2.29 (ක්‍රියාකාරී ආරක්ෂණ නිකුතුව)

  • සම්පාදක බිල්ට්-ඉන් සඳහා ශීර්ෂ ගොනුව සම්පාදකයාට MISRA වැනි භාෂා පිරිවිතරයන්ට අනුකූල විය හැකි බව සහතික කිරීම සඳහා, , යාවත්කාලීන කර ඇත. මෙම ශීර්ෂයේ __builtin_avr_nop() සහ __builtin_avr_delay_cycles() වැනි සියලුම-බිල්ට් ශ්‍රිත සඳහා මූලාකෘති අඩංගු වේ. සමහර ඉදි කිරීම් MISRA අනුකූල නොවිය හැක; සම්පාදක විධාන රේඛාවට __XC_STRICT_MISRA නිර්වචනය එකතු කිරීමෙන් මේවා මඟ හැරිය හැක. සවි කිරීම් සහ ඒවායේ ප්‍රකාශයන් ස්ථාවර පළල වර්ග භාවිතා කිරීමට යාවත්කාලීන කර ඇත.

අනුවාදය 2.20

  • පහත AVR කොටස් සඳහා නව උපාංග ආධාරක සහාය ඇත: ATTINY1624, ATTINY1626, සහ ATTINY1627.
  • වඩා හොඳ හොඳම ෆිට් වෙන් කිරීම සම්පාදකයේ ඇති හොඳම ෆිට් විබෙදුම (BFA) වැඩිදියුණු කර ඇති අතර එමඟින් වඩා හොඳ ප්‍රශස්තකරණයකට ඉඩ දෙන අනුපිළිවෙලකට කොටස් වෙන් කරනු ලැබේ. BFA දැන් නම් කරන ලද ලිපින අවකාශයන් සඳහා සහය දක්වන අතර දත්ත ආරම්භ කිරීම වඩා හොඳින් හසුරුවයි.
  • වැඩිදියුණු කරන ලද ක්‍රියා පටිපාටි වියුක්ත කිරීම ක්‍රියා පටිපාටි සාරාංශ ප්‍රශස්තකරණයන් දැන් තවත් කේත අනුපිළිවෙලවල් මත සිදු කෙරේ. මෙම ප්‍රශස්තකරණය කේත ප්‍රමාණය වැඩි කළ හැකි පෙර අවස්ථා සම්බන්ධකයාගේ කසළ එකතු කිරීමේ ක්‍රියාවලිය පිළිබඳව ප්‍රශස්තිකරණ කේතය දැනුවත් කිරීම මගින් විසඳා ඇත.
  • AVR එකලස් කරන්නා නොමැති වීම AVR එකලස් කරන්නා තවදුරටත් මෙම බෙදා හැරීම සමඟ ඇතුළත් නොවේ.

අනුවාදය 2.19 (ක්‍රියාකාරී ආරක්ෂණ නිකුතුව)
කිසිවක් නැත.

අනුවාදය 2.10

  • කේත ආවරණය මෙම නිකුතුවේ කේත ආවරණ විශේෂාංගයක් ඇතුළත් වන අතර එය ව්‍යාපෘතියක මූල කේතය ක්‍රියාත්මක කර ඇති ප්‍රමාණය විශ්ලේෂණය කිරීමට පහසුකම් සපයයි. එය සබල කිරීමට -mcodecov=ram විකල්පය භාවිතා කරන්න. ඔබගේ දෘඪාංගයේ වැඩසටහන ක්‍රියාත්මක කිරීමෙන් පසු, කේත ආවරණ තොරතුරු උපාංගය තුළ ගොනු කරනු ලබන අතර, මෙය කේත ආවරණ ප්ලගිනයක් හරහා MPLAB X IDE වෙත මාරු කර ප්‍රදර්ශනය කළ හැක. මෙම ප්ලගිනය පිළිබඳ තොරතුරු සඳහා IDE ප්‍රලේඛනය බලන්න ලබා ගත හැක.
    #pragma nocodecov ආවරණ විශ්ලේෂණයෙන් පසුකාලීන කාර්යයන් බැහැර කිරීමට භාවිතා කළ හැක. එම සම්පූර්ණ ගොනුව ආවරණ විශ්ලේෂණයෙන් බැහැර කිරීම සඳහා ගොනුවේ ආරම්භයේ දී ප්‍රාග්මාව එක් කළ යුතුය. විකල්පයක් ලෙස, __attribute__((nocodecov)) විශේෂිත කාර්යයක් ආවරණ විශ්ලේෂණයෙන් බැහැර කිරීමට භාවිතා කළ හැක.
  • උපාංග විස්තර ගොනු avr_chipinfo.html නමින් නව උපාංග ගොනුවක් සම්පාදක බෙදාහැරීමේ ලේඛන නාමාවලියෙහි පිහිටා ඇත. මෙම ගොනුව සම්පාදකයෙන් සහය දක්වන සියලුම උපාංග ලැයිස්තුගත කරයි. උපාංගයේ නමක් මත ක්ලික් කරන්න, එය එම උපාංගය සඳහා අවසර ලත් සියලුම වින්‍යාස බිටු සැකසුම්/අගය යුගල පෙන්වන පිටුවක් විවෘත කරනු ඇත.amples.
  • ක්‍රියා පටිපාටි සාරාංශගත කිරීම්, සාමාන්‍ය එකලස් කිරීමේ කේත බ්ලොක් වෙනුවට එම බ්ලොක් එකේ උපුටා ගත් පිටපතකට ඇමතුම් ප්‍රතිස්ථාපනය කරන ක්‍රියා පටිපාටි සාරාංශ ප්‍රශස්තකරණයන් සම්පාදකයට එකතු කර ඇත. 2, 3 හෝ s ප්‍රශස්තකරණයන් තෝරාගැනීමේදී සම්පාදකයා විසින් ස්වයංක්‍රීයව ක්‍රියා කරන වෙනම යෙදුමක් මඟින් මේවා සිදු කෙරේ. මෙම ප්‍රශස්තකරණයන් කේත ප්‍රමාණය අඩු කරයි, නමුත් ඒවා ක්‍රියාත්මක කිරීමේ වේගය සහ කේත නිදොස් කිරීමේ හැකියාව අඩු කරයි. -mno-pa විකල්පය භාවිතයෙන් ක්‍රියාපටිපාටික සාරාංශය ඉහළ ප්‍රශස්තිකරණ මට්ටම් වලදී අක්‍රිය කළ හැකිය, නැතහොත් -mpa භාවිතයෙන් අඩු ප්‍රශස්තිකරණ මට්ටම් (ඔබේ බලපත්‍රයට යටත්ව) සක්‍රීය කළ හැක. එය -mno-pa-on- භාවිතයෙන් වස්තු ගොනුවක් සඳහා අක්‍රිය කළ හැක.file=fileනම , හෝ -mno-pa-on- function=function භාවිතා කිරීමෙන් ශ්‍රිතයක් සඳහා අක්‍රිය කර ඇත. ඔබගේ මූලාශ්‍ර කේතය තුළ, ශ්‍රිතයේ නිර්වචනය සමඟ __attribute__((nopa)) භාවිතා කිරීමෙන් හෝ __attribute__((nopa,noinline)) දක්වා විහිදෙන __nopa භාවිතා කිරීමෙන් ක්‍රියාපටිපාටික සාරාංශය ශ්‍රිතයක් සඳහා අක්‍රිය කළ හැකි අතර එමඟින් ශ්‍රිතය ඇතුළත් කිරීම සිදු වීම වළක්වයි. සහ පේළිගත කේතයේ සාරාංශයක් තිබීම.
  • ප්‍රාග්මා හි අගුළු බිට් සහාය AVR අගුළු බිටු මෙන්ම අනෙකුත් වින්‍යාස බිටු නියම කිරීමට #pragma වින්‍යාසය දැන් භාවිතා කළ හැක. මෙම ප්‍රයෝගය සමඟ භාවිතා කිරීමට සැකසීම්/අගය යුගල සඳහා avr_chipinfo.html ගොනුව (ඉහත සඳහන් කර ඇත) පරීක්ෂා කරන්න.
  • පහත කොටස් සඳහා නව උපාංග ආධාරක සහාය පවතී: AVR28DA128, AVR64DA128, AVR32DA128, සහ AVR48DA128.

අනුවාදය 2.05

  • ඔබගේ මුදලට තවත් බිටු මෙම සම්පාදකයේ සහ බලපත්‍ර කළමනාකරුගේ macOS අනුවාදය දැන් 64-bit යෙදුමකි. මැකෝස් හි මෑත කාලීන අනුවාදවල අනතුරු ඇඟවීම් නොමැතිව සම්පාදකය ස්ථාපනය කර ධාවනය වන බව මෙය සහතික කරයි.
  • ක්‍රමලේඛ මතකයේ ඇති Const objects compiler හට දැන් ඒවා RAM හි පිහිටා තිබීමට වඩා Flash මතකය තුළ const-qualified objects ස්ථානගත කළ හැක. සම්පාදකය වෙනස් කර ඇති අතර එමඟින් const-qualified ගෝලීය දත්ත වැඩසටහන් ෆ්ලෑෂ් මතකයේ ගබඩා කර ඇති අතර මෙම දත්ත සුදුසු වැඩසටහන්-මතක උපදෙස් භාවිතයෙන් සෘජුව සහ වක්‍රව ප්‍රවේශ විය හැකිය. මෙම නව විශේෂාංගය පෙරනිමියෙන් සක්‍රීය කර ඇති නමුත් -mno-const-data-in-progmem විකල්පය භාවිතයෙන් අක්‍රිය කළ හැක. avrxmega3 සහ avrtiny architectures සඳහා, මෙම විශේෂාංගය අවශ්‍ය නොවන අතර, මෙම උපාංග සඳහා දත්ත ලිපින අවකාශයට වැඩසටහන් මතකය සිතියම්ගත කර ඇති බැවින්, සෑම විටම අක්‍රිය වේ.
  • නොමිලේ සඳහා සම්මත මෙම සම්පාදකයේ බලපත්‍ර රහිත (නොමිලේ) අනුවාද දැන් 2 මට්ටම දක්වා සහ ඇතුළුව ප්‍රශස්තකරණයට ඉඩ සලසයි. මෙය සම්මත බලපත්‍රයක් භාවිතයෙන් පෙර කළ හැකි ප්‍රතිදානයට සමාන, සමාන නොවූවත්, ප්‍රතිදානයකට ඉඩ සලසයි.
  • AVRASM2 සාදරයෙන් පිළිගනිමු 2-bit උපාංග සඳහා AVRASM8 එකලස් කිරීම දැන් XC8 සම්පාදක ස්ථාපකය තුළ ඇතුළත් කර ඇත. මෙම එකලස් කරන්නා XC8 සම්පාදකය විසින් භාවිතා නොකෙරේ, නමුත් අතින් ලිඛිත එකලස් කිරීමේ මූලාශ්‍රය මත පදනම් වූ ව්‍යාපෘති සඳහා පවතී.
  • පහත කොටස් සඳහා නව උපාංග ආධාරක සහාය ඇත: ATMEGA1608, ATMEGA1609, ATMEGA808, සහ ATMEGA809.

අනුවාදය 2.00

  • Top-level Driver xc8-cc නමින් හැඳින්වෙන නව ධාවකයක්, දැන් පෙර avr-gcc ධාවකයට සහ xc8 ධාවකයට ඉහලින් අසුන්ගෙන ඇති අතර, එය ඉලක්ක උපාංගයේ තේරීම මත පදනම්ව සුදුසු සම්පාදකය ඇමතීමට හැකිය. මෙම ධාවකය GCC මාදිලියේ විකල්ප පිළිගනී, ඒවා ක්‍රියාත්මක වන සම්පාදකය සඳහා පරිවර්තනය කර හෝ එය හරහා යවනු ලැබේ. මෙම ධාවකය ඕනෑම AVR හෝ PIC ඉලක්කයක් සමඟ සමාන අර්ථකථන සහිත සමාන විකල්ප කට්ටලයක් භාවිතා කිරීමට ඉඩ සලසයි, එබැවින් සම්පාදකය කැඳවීමට නිර්දේශිත ක්‍රමය වේ. අවශ්‍ය නම්, පැරණි avr-gcc ධාවකය කලින් සම්පාදක අනුවාද වල පිළිගත් පැරණි මාදිලියේ විකල්ප භාවිතා කර කෙලින්ම ඇමතිය හැක.
  • පොදු C අතුරුමුහුණත මෙම සම්පාදකයාට දැන් MPLAB Common C අතුරුමුහුණතට අනුකූල විය හැක, සියලු MPLAB XC සම්පාදක හරහා මූලාශ්‍ර කේතය වඩාත් පහසුවෙන් ගෙනයාමට ඉඩ සලසයි. -mext=cci විකල්පය මෙම විශේෂාංගය ඉල්ලා සිටින අතර, බොහෝ භාෂා දිගු සඳහා විකල්ප වාක්‍ය ඛණ්ඩ සක්‍රීය කරයි.
  • නව පුස්තකාලයාධිපති රියදුරු නව පුස්තකාලයාධිපති රියදුරෙකු පෙර PIC පුස්තකාලයාධිපති සහ AVR avr-ar පුස්තකාලයාධිපතිවරයාට ඉහළින් ස්ථානගත කර ඇත. මෙම ධාවකය GCC-archiver-style විකල්පයන් පිළිගනී, ඒවා එක්කෝ පරිවර්තනය කර හෝ ක්‍රියාත්මක වන පුස්තකාලයාධිපති වෙත යවනු ලැබේ. නව ධාවකය ඕනෑම PIC හෝ AVR පුස්තකාල ගොනුවක් සෑදීමට හෝ හැසිරවීමට සමාන අර්ථකථන සහිත සමාන විකල්ප කට්ටලයක් භාවිතා කිරීමට ඉඩ සලසයි, එබැවින් පුස්තකාලයාධිපතිවරයා කැඳවීමට නිර්දේශිත මාර්ගය වේ. ලෙගසි ව්‍යාපෘති සඳහා අවශ්‍ය නම්, පෙර පුස්තකාලයාධිපතිවරයා කලින් සම්පාදක අනුවාදවල පිළිගත් පැරණි මාදිලියේ විකල්ප භාවිතා කර සෘජුවම ඇමතිය හැක.

සංක්‍රමණ ගැටළු

පහත දැක්වෙන්නේ දැන් සම්පාදකය විසින් වෙනස් ලෙස හසුරුවන විශේෂාංග වේ. මෙම සම්පාදක අනුවාදයට කේතය මාරු කරන්නේ නම්, මෙම වෙනස්කම් සඳහා ඔබේ මූල කේතයට වෙනස් කිරීම අවශ්‍ය විය හැකිය. උපමාතෘකා වල අනුවාද අංකයෙන් දැක්වෙන්නේ පහත වෙනස්කම් වලට සහය දක්වන පළමු සම්පාදක අනුවාදයයි.

අනුවාදය 2.45
කිසිවක් නැත.

අනුවාදය 2.41
සාවද්‍ය fma ශ්‍රිත ඉවත් කර ඇත (XC8-2913) C99 සම්මත පුස්තකාලය ( ) තනි වට කිරීමකට අසීමිත නිරවද්‍යතාවයකින් ගුණ-එකතු කිරීමක් ගණනය නොකළ නමුත් ඒ වෙනුවට එක් එක් මෙහෙයුම සමඟ වටකුරු දෝෂ එකතු විය. මෙම කාර්යයන් සැපයූ පුස්තකාලයෙන් ඉවත් කර ඇත.

අනුවාදය 2.40
කිසිවක් නැත.

අනුවාදය 2.39 (ක්‍රියාකාරී ආරක්ෂණ නිකුතුව)
කිසිවක් නැත.

අනුවාදය 2.36
කිසිවක් නැත.

අනුවාදය 2.35

  • String-to Bases හැසිරවීම (XC8-2420) අනෙකුත් XC සම්පාදක සමඟ අනුකූලතාව සහතික කිරීම සඳහා, XC8 string-to functions, strtol() යනාදී, නිශ්චිතව දක්වා ඇති පාදය 36 ට වඩා විශාල නම්, ආදාන තන්තුවක් පරිවර්තනය කිරීමට තවදුරටත් උත්සාහ නොකරනු ඇත. ඒ වෙනුවට සකසනු ඇත. මෙම පාදක අගය ඉක්මවා ගිය විට C ප්‍රමිතියෙන් ශ්‍රිතවල හැසිරීම සඳහන් නොවේ.
  • නුසුදුසු වේග ප්‍රශස්තිකරණය 3 මට්ටමේ ප්‍රශස්තකරණය (-O3) තෝරාගැනීමේදී ක්‍රියාපටිපාටික වියුක්ත ප්‍රශස්තකරණයන් සක්‍රීය කර ඇත. මෙම ප්‍රශස්තකරණය කේත වේගයේ වියදමින් කේත ප්‍රමාණය අඩු කරයි, එබැවින් සිදු නොකළ යුතුය. මෙම ප්‍රශස්තිකරණ මට්ටම භාවිතා කරන ව්‍යාපෘති මෙම නිකුතුව සමඟ ගොඩනඟන විට කේත ප්‍රමාණයේ සහ ක්‍රියාත්මක කිරීමේ වේගයෙහි වෙනස්කම් දැකිය හැකිය.
  • පුස්තකාල ක්‍රියාකාරීත්වය සාමාන්‍ය C පුස්තකාල ශ්‍රිතයන් බොහොමයක කේතය දැන් පැමිණෙන්නේ Microchip's Unified Standard Library වෙතින් වන අතර, කලින් avr-libc පුස්තකාලය විසින් සපයන ලද ඒවාට සාපේක්ෂව සමහර තත්වයන් තුළ වෙනස් හැසිරීම් ප්‍රදර්ශනය කළ හැක. උදාහරණයක් ලෙසample, float-format specifier සඳහා ආකෘතිගත IO සහාය සක්‍රිය කිරීමට lprintf_flt library (-lprintf_flt විකල්පය) සම්බන්ධ කිරීම තවදුරටත් අවශ්‍ය නොවේ. Microchip Unifed Standard Library හි ස්මාර්ට් IO විශේෂාංග මෙම විකල්පය අතිරික්ත කරයි. මීට අමතරව, ෆ්ලෑෂ් හි const strings මත ක්‍රියාත්මක වන string සහ memory functions (උදා: strcpy_P() etc..) සඳහා _P උපසර්ග ක්‍රම භාවිතා කිරීම තවදුරටත් අවශ්‍ය නොවේ. const-data-in-program-memory විශේෂාංගය සක්‍රීය කර ඇති විට සම්මත C චර්යාවන් (උදා: strcpy() එවැනි දත්ත සමඟ නිවැරදිව ක්‍රියා කරයි.

අනුවාදය 2.32
කිසිවක් නැත.

අනුවාදය 2.31
කිසිවක් නැත.

අනුවාදය 2.30
කිසිවක් නැත.

අනුවාදය 2.29 (ක්‍රියාකාරී ආරක්ෂණ නිකුතුව)
කිසිවක් නැත.

අනුවාදය 2.2
වෙනස් කරන ලද DFP පිරිසැලසුම දැන් සම්පාදකය DFPs (උපාංග පවුල් ඇසුරුම්) විසින් භාවිතා කරන වෙනස් පිරිසැලසුමක් උපකල්පනය කරයි. මෙයින් අදහස් කරන්නේ පැරණි DFP මෙම නිකුතුව සමඟ ක්‍රියා නොකරනු ඇති බවත්, පැරණි සම්පාදකයින්ට නවතම DFP භාවිතා කිරීමට නොහැකි වනු ඇති බවත්ය.

අනුවාදය 2.19 (ක්‍රියාකාරී ආරක්ෂණ නිකුතුව)
කිසිවක් නැත.

අනුවාදය 2.10
කිසිවක් නැත

අනුවාදය 2.05
වැඩසටහන් මතකයේ const objects පෙරනිමියෙන් const-qualfied objects වැඩසටහන් මතකයේ තැන්පත් කර ප්‍රවේශ වන බව සලකන්න (මෙහි විස්තර කර ඇති පරිදි). මෙය ඔබගේ ව්‍යාපෘතියේ ප්‍රමාණයට සහ ක්‍රියාත්මක වීමේ වේගයට බලපානු ඇත, නමුත් RAM භාවිතය අඩු කළ යුතුය. අවශ්‍ය නම්, -mno-const-data-in-progmem විකල්පය භාවිතයෙන් මෙම විශේෂාංගය අක්‍රිය කළ හැක.

අනුවාදය 2.00

  • වින්‍යාස ෆියුස් උපාංග වින්‍යාස ෆියුස් දැන් වින්‍යාස ප්‍රයෝගයක් භාවිතයෙන් පසුව ෆියුස් තත්වය නියම කිරීමට සැකසුම් අගය යුගල භාවිතයෙන් වැඩසටහන්ගත කළ හැක, උදා #pragma config WDTON = SET #pragma config BODLEVEL = BODLEVEL_4V3
  • නිරපේක්ෂ වස්තු සහ ශ්‍රිත CCI __at(ලිපින) විශේෂණය භාවිතයෙන් වස්තු සහ ශ්‍රිත දැන් මතකයේ නිශ්චිත ලිපිනයක තැබිය හැක.ampලෙ:
    • #ඇතුළත්
      int foobar __at(0x800100);
      char __at(0x250) getID(int offset) {…}
      මෙම විශේෂණය සඳහා වන තර්කය පළමු බයිටය හෝ උපදෙස් ලබා දෙන ලිපිනය නියෝජනය කරන නියතයක් විය යුතුය. RAM ලිපින 0x800000 හි ඕෆ්සෙට් භාවිතා කිරීම මගින් දැක්වේ. මෙම විශේෂාංගය භාවිතා කිරීමට CCI සබල කරන්න.
  • නව බාධාකාරී ශ්‍රිත වාක්‍ය ඛණ්ඩය C ශ්‍රිතයන් බාධාකාරී හසුරුවන්නක් බව දැක්වීමට සම්පාදකය දැන් CCI __interrupt(num) විශේෂණය පිළිගනී. විෙශේෂකය බාධා අංකයක් ගනී, උදාample: #ඇතුළත් void __interrupt(SPI_STC_vect_num) spi_Isr(ශුන්‍ය) {…}

ස්ථාවර ගැටළු

පහත දැක්වෙන්නේ සම්පාදකයට සිදු කර ඇති නිවැරදි කිරීම් ය. මේවා උත්පාදනය කරන ලද කේතයේ දෝෂ නිරාකරණය කිරීමට හෝ පරිශීලක මාර්ගෝපදේශය මගින් අදහස් කරන ලද හෝ නිශ්චිතව දක්වා ඇති ආකාරයට සම්පාදකයේ ක්‍රියාකාරිත්වය වෙනස් කිරීමට ඉඩ ඇත. උප මාතෘකා වල අනුවාද අංකයෙන් පෙන්නුම් කරන්නේ පහත සඳහන් ගැටළු සඳහා නිවැරදි කිරීම් අඩංගු පළමු සම්පාදක අනුවාදයයි. මාතෘකාවේ ඇති වරහන් ලේබලය (ය) ලුහුබැඳීමේ දත්ත ගබඩාවේ එම ගැටලුව හඳුනාගැනීමයි. ඔබට සහාය සම්බන්ධ කර ගැනීමට අවශ්‍ය නම් මේවා ප්‍රයෝජනවත් විය හැක.
උපාංගය හා සම්බන්ධ උපාංග Family Pack (DFP) තුළ සමහර උපාංග-විශේෂිත ගැටළු නිවැරදි කර ඇති බව සලකන්න. DFPs වෙත සිදු කරන ලද වෙනස්කම් පිළිබඳ තොරතුරු සහ නවතම ඇසුරුම් බාගත කිරීම සඳහා MPLAB ඇසුරුම් කළමනාකරු බලන්න.

අනුවාදය 2.45

  • රෝමිං බලපත්‍ර අසමත් වීම (XCLM-235) රෝමිං බලපත්‍ර 2.28 ට පසුව glibc අනුවාද භාවිතා කරමින් Linux වේදිකාවල නිවැරදිව ක්‍රියා කිරීමට අපොහොසත් විය.
  • ව්‍යුහ අරා සහිත අභ්‍යන්තර දෝෂය (XC8-3069) ව්‍යුහයක බහු-මාන අරා සාමාජිකයන් සැකසූ විට, ලිපින අවකාශ සුදුසුකම් නිවැරදිව අරාව වෙත ප්‍රචාරණය නොවීය. මෙය ලිපින අවකාශයේ සුදුසුකම් තොරතුරු වල නොගැලපීමකට සහ අභ්‍යන්තර සම්පාදක දෝෂයකට හේතු විය. මෙම තත්ත්වය නිවැරදි කර ඇත.
  • ආරම්භ නොකළ ප්‍රවාහ වෙත වැරදි ලිවීම් (ML-353, XC8-3100) FDEV_SETUP_STREAM හෝ _init_stdout/_init_stderr භාවිතයෙන් සම්මත ප්‍රතිදාන/දෝෂ ප්‍රවාහයන් පැහැදිලිව සකසා නොතිබුනේ නම්, ඒවාට ලිවීමට උත්සාහ කිරීම නොසැලකිලිමත් හැසිරීමක් ඇති කරයි. මෙය perror() වැනි stdlib ශ්‍රිත වලින් ලිවීම් වලටද බලපෑවේය. මෙම ප්‍රවාහයන් ආරම්භ කිරීමට පෙර ඒවා වෙත ලියන ඕනෑම දෙයක් දැන් නොසලකා හරිනු ඇත.
  • සහය නොදක්වන විකරණකාරකය (XC8-2505) avr-libc පුස්තකාලය * modifier සඳහා printf-style conversion specifier සඳහා සහය නොදක්වයි, උදාample "%.*f". මෙයට දැන් Microchip Unified Standard Library හඳුන්වාදීමත් සමඟ සහාය වේ.
  • බහු ප්‍රාරම්භක නොවන අනතුරු ඇඟවීම් (XC8-2409) ආරම්භ නොකළ const array එකක් හමු වූ විට සම්පාදකයා සමාන අනතුරු ඇඟවීමේ පණිවිඩ කිහිපයක් නිකුත් කරමින් සිටියේය. පණිවිඩය නිකුත් කළ යුතුව තිබුණේ එක් වරක් පමණක් වන අතර එය දැන් මෙම තත්ත්වය ඇති වූ විට සිදු වේ.

අනුවාදය 2.41

  • Ventura (XC8-3088) හි ඩොංගල් ගැටළු සම්පාදකයට බලපත්‍ර ලබා දීම සඳහා භාවිතා කරන ලද ඩොංගල් macOS Ventura ධාරකවල නිසි ලෙස කියවා නොතිබීම, බලපත්‍ර අසාර්ථක වීමට හේතු විය හැක. XCLM බලපත්‍ර කළමනාකරුට සිදු කරන වෙනස්කම් මෙම ගැටලුව නිවැරදි කරයි.
  • මතක වෙන්කිරීමේ වැරදි ඇඟවීම (XC8-2925) සරල ගතික මතක වෙන්කිරීම් ක්‍රියාත්මක කිරීමේදී ඉල්ලා සිටින සම්මත පුස්තකාල මතක කළමනාකරණ කාර්යයන් (malloc() et al) භාවිතයෙන් මතකයේ SIZE_MAX බයිට් (හෝ මෙයට ආසන්න අගයක්) වෙන් කිරීමට උත්සාහ කිරීම. NULL දර්ශකයක් දැන් ආපසු එනු ඇති අතර එවැනි අවස්ථාවන්හිදී ENOMEM ලෙස වැරදි ලෙස සකසා ඇත.
  • සාවද්‍ය fma ශ්‍රිත ඉවත් කර ඇත (XC8-2913) C99 සම්මත පුස්තකාලය fma()-පවුලේ කාර්යයන් ( ) තනි වට කිරීමකට අසීමිත නිරවද්‍යතාවයකින් ගුණ-එකතු කිරීමක් ගණනය නොකළ නමුත් ඒ වෙනුවට එක් එක් මෙහෙයුම සමඟ වටකුරු දෝෂ එකතු විය. මෙම කාර්යයන් සැපයූ පුස්තකාලයෙන් ඉවත් කර ඇත.
  • strtod() මගින් පරිවර්තනය කිරීම සඳහා 'විෂය අනුපිළිවෙලක්' ඝාතීය ආකෘතියෙන් පාවෙන ලක්ෂ්‍ය අංකයක් ලෙස පෙනෙන දේ අඩංගු වූ විට සහ e/E ට පසුව අනපේක්ෂිත අක්ෂරයක් ඇති විට තන්තු පරිවර්තනය වැරදි ලෙස හැසිරවීම (XC8-2921, XC8-2652) අක්ෂරය, පසුව endptr සපයා ඇති තැන, එය පරිවර්තනය කර නොතිබූ බැවින්, එය e//E අක්ෂරයටම යොමු විය යුතු අතර, එය පසු අක්ෂරයට යොමු කළ යුතු ලිපිනයක් පවරන ලදී. උදාහරණයක් ලෙසample, strtod (“100exx”, &ep) 100.00 ආපසු ලබා දිය යුතු අතර, තන්තුවෙහි “exx” කොටස වෙත යොමු කිරීමට ep සැකසිය යුතු අතර, ශ්‍රිතය නිවැරදි අගය ආපසු ලබා දෙන නමුත් තන්තුවේ “xx” කොටස සකසයි.

අනුවාදය 2.40

  • ඉතා ලිහිල් (XC8-2876) -mrelax විකල්පය භාවිතා කරන විට, සම්පාදකය සමහර කොටස් එකට වෙන් නොකළ අතර, ප්‍රශස්ත කේත ප්‍රමාණය අඩු විය. මෙය නව MUSL පුස්තකාල භාවිතා කළ කේතය හෝ දුර්වල සංකේත සමඟ සිදු වන්නට ඇත.
  • අනතුරු ඇඟවීමේ (XC8-2875) දක්වා ඇති පරිදි සිතියම්කරණ විශේෂාංගය අක්‍රීය කර නොමැත (XCXNUMX-XNUMX) const-data-in-config-mapped-progmem විශේෂාංගය const-data-in-progmem විශේෂාංගය සක්‍රීය කර ඇත. const-data-in-config-mapped-progmem විශේෂාංගය විකල්පය භාවිතයෙන් පැහැදිලිව සක්‍රීය කර තිබේ නම් සහ const-data-in-progmem විශේෂාංගය අක්‍රිය කර ඇත්නම්, const-data-in ලෙස අනතුරු ඇඟවීමේ පණිවිඩයක් තිබියදී, සබැඳි පියවර අසාර්ථක විය. -config-mapped-progmem විශේෂාංගය ස්වයංක්‍රීයව අක්‍රිය කර ඇත, එය සම්පූර්ණයෙන්ම නිවැරදි නොවේ. මෙම තත්ත්වය තුළ const-data-in-config-mapped-progmem විශේෂාංගය දැන් සම්පූර්ණයෙන්ම අක්‍රිය කර ඇත.
  • NVMCTRL (XC8-2848) නිවැරදිව ප්‍රවේශ වීමට DFP වෙනස් කරයි AVR64EA උපාංග විසින් භාවිතා කරන ධාවන කාල ආරම්භක කේතය NVMCTRL ලේඛනය වින්‍යාස වෙනස් කිරීමේ ආරක්ෂාව (CCP) යටතේ ඇති බව සැලකිල්ලට නොගත් අතර භාවිතා කළ පිටුවට IO SFR සැකසීමට නොහැකි විය. const-data-in-config-mapped-progmem compiler විශේෂාංගය මගින්. AVR-Ex_DFP අනුවාදය 2.2.55 හි සිදු කරන ලද වෙනස්කම් ධාවන කාල ආරම්භක කේතය මෙම ලේඛනයට නිවැරදිව ලිවීමට ඉඩ සලසයි.
  • ෆ්ලෑෂ් සිතියම්කරණය වැළැක්වීම සඳහා DFP වෙනස් කිරීම් (XC8-2847) AVR128DA28/32/48/64 Silicon Errata (DS80000882) හි වාර්තා කර ඇති ෆ්ලෑෂ්-සිතියම් උපාංග විශේෂාංගයේ ගැටලුවක් සඳහා ක්‍රියාත්මක කර ඇත. const-data-in-config-mapped-progmem compiler විශේෂාංගය බලපෑමට ලක් වූ උපාංග සඳහා පෙරනිමියෙන් යොදනු නොලැබේ, සහ මෙම වෙනස AVR-Dx_DFP අනුවාදය 2.2.160 හි දිස් වනු ඇත.
  • sinhf හෝ coshf (XC8-2834) සමඟ ගොඩ නැගීමේ දෝෂය sinhf() හෝ coshf() පුස්තකාල ශ්‍රිත භාවිතා කිරීමට ගත් උත්සාහයේ ප්‍රතිඵලයක් ලෙස, නිර්වචනය නොකළ යොමුවක් විස්තර කරමින් සම්බන්ධක දෝෂයක් ඇති විය. යොමු කර ඇති නැතිවූ ශ්‍රිතය දැන් සම්පාදක ව්‍යාප්තියට ඇතුළත් කර ඇත.
  • nopa (XC8-2833) සමඟින් දෝෂ ගොඩනඟන්න, __asm__() මඟින් එකලස් කරන්නා වෙතින් දෝෂ පණිවිඩ ප්‍රේරණය කිරීම භාවිතයෙන් එහි එකලස් කිරීමේ නම නිශ්චිතව දක්වා ඇති ශ්‍රිතයක් සමඟ nopa උපලක්ෂණයක් භාවිතා කිරීම. මෙම සංයෝජනය කළ නොහැක.
  • පොයින්ටර් තර්ක සහිත විචල්‍ය ශ්‍රිත අසාර්ථක වීම (XC8-2755, XC8-2731) විචල්‍ය තර්ක සංඛ්‍යාවක් සහිත ශ්‍රිතයන් const-data-in-progmem විශේෂාංගය වන විට විචල්‍ය තර්ක ලැයිස්තුවේ 24-bit (__memx වර්ගය) පොයින්ටර් සම්මත කිරීමට අපේක්ෂා කරයි. සක්රීය කර ඇත. දත්ත මතකයට දර්ශක වූ තර්ක 16-බිට් වස්තු ලෙස සම්මත වන අතර අවසානයේ ඒවා කියවන විට කේත අසාර්ථක විය. const-data-in-progmem විශේෂාංගය සක්‍රීය කර ඇති විට, සියලුම 16-bit පොයින්ටර් තර්ක දැන් 24-bit පොයින්ටර් බවට පරිවර්තනය වේ.
  • strtoxxx පුස්තකාල ශ්‍රිතයන් අසාර්ථක වේ (XC8-2620) const-data-in-progmem විශේෂාංගය සක්‍රීය කර ඇති විට, strtoxxx පුස්තකාල ශ්‍රිතවල endptr පරාමිතිය වැඩසටහන් මතකයේ නොමැති මූලාශ්‍ර තන්තු තර්ක සඳහා නිසි ලෙස යාවත්කාලීන කර නොමැත.
  • අවලංගු වාත්තු සඳහා ඇඟවීම් (XC8-2612) const-in-progmem විශේෂාංගය සක්‍රීය කර ඇත්නම් සහ තන්තුවක ලිපිනය පැහැදිලිවම දත්ත ලිපින අවකාශයට (const qualfier අතහැරීම) යොමු කළහොත්, සම්පාදකය දැන් දෝෂයක් නිකුත් කරනු ඇත.ample, (uint8_t *) "Hello World!" . const දත්ත දර්ශකයක් පැහැදිලිවම දත්ත ලිපින අවකාශය වෙත යොමු කරන විට ලිපිනය අවලංගු විය හැකි නම් අනතුරු ඇඟවීමක් නිකුත් වේ.
  • ආරම්භ නොකළ const වස්තූන් ස්ථානගත කිරීම (XC8-2408) Uninitialized සහ const වාෂ්පශීලී වස්තු const
    ඔවුන්ගේ වැඩසටහන් මතකයේ සම්පූර්ණ හෝ කොටසක් දත්ත ලිපින අවකාශයට සිතියම් ගත කරන උපාංගවල වැඩසටහන් මතකයේ තබා නොතිබුණි. මෙම උපාංග සඳහා, එවැනි වස්තූන් දැන් වැඩසටහන් මතකයේ තබා ඇති අතර, ඒවායේ ක්රියාකාරිත්වය අනෙකුත් උපාංග සමඟ අනුකූල වේ.

අනුවාදය 2.39 (ක්‍රියාකාරී ආරක්ෂණ නිකුතුව)
කිසිවක් නැත.

අනුවාදය 2.36
ප්‍රමාද කිරීමේදී දෝෂයක් (XC8-2774) පෙරනිමි නිදහස් ප්‍රකාර ප්‍රශස්තකරණයේ සුළු වෙනස්වීම් මඟින් ප්‍රමාද බිල්ට් ශ්‍රිතවලට ඔපෙරාන්ඩ් ප්‍රකාශන නිරන්තරයෙන් නැවීම වැළැක්විය, එහි ප්‍රතිඵලයක් ලෙස ඒවා නියත නොවන ලෙස සලකනු ලබන අතර දෝෂය අවුලුවයි: __builtin_avr_delay_cycles සම්පාදන කාල පූර්ණ සංඛ්‍යාවක් අපේක්ෂා කරයි. නියත.

අනුවාදය 2.35

  • __at (XC8-2653) භාවිතයෙන් එක දිගට වෙන් කිරීම එකම නම සහිත කොටසක බහු වස්තු ස්ථාන අඛණ්ඩව වෙන් කිරීම සහ __at() භාවිතා කිරීම නිවැරදිව ක්‍රියා කළේ නැත. උදාහරණයක් ලෙසampලෙ:
    const char arr1[] __attribute__((section(“.mysec”))) __at (0x500) = {0xAB, 0xCD}; const char arr2[] __attribute__((section(“.mysec”))) = {0xEF, 0xFE}; arr2 ට පසු වහාම arr1 තැබිය යුතුය
  • අංශ ආරම්භක ලිපින සඳහන් කිරීම (XC8-2650) -Wl,–section-start විකල්පය නම් කරන ලද ආරම්භක ලිපිනයෙහි කොටස් තැබීමට නිහඬව අසමත් විය. ඕනෑම අභිරුචි නම් කරන ලද කොටස් සඳහා මෙම ගැටළුව විසඳා ඇත; කෙසේ වෙතත්, එය -Wl,-T විකල්පය භාවිතයෙන් තැබිය යුතු .text හෝ .bss වැනි කිසිදු සම්මත කොටස් සඳහා ක්‍රියා නොකරනු ඇත. ලිහිල් කිරීමේදී සම්බන්ධකය බිඳ වැටේ (XC8-2647) -mrelax ප්‍රශස්තිකරණය සක්‍රීය කර ඇති විට සහ පවතින මතකයට නොගැලපෙන කේත හෝ දත්ත කොටස් ඇති විට, සම්බන්ධකය බිඳ වැටුණි. දැන්, එවැනි තත්වයක් තුළ, ඒ වෙනුවට දෝෂ පණිවිඩ නිකුත් කරනු ලැබේ.
  • ආපසු වැටීමක් නැත (XC8-2646) -nofallback විකල්පය නිවැරදිව ක්‍රියාත්මක කර හෝ ලේඛනගත කර නොමැත. සම්පාදකය බලපත්‍ර රහිත නම්, සම්පාදකය නැවත අඩු ප්‍රශස්තකරණ සැකසීමකට නොවැටෙන බව සහතික කිරීම සඳහා මෙය දැන් තෝරා ගත හැකි අතර ඒ වෙනුවට දෝෂයක් නිකුත් කරනු ඇත.
  • නුසුදුසු වේග ප්‍රශස්තිකරණය (XC8-2637) 3 මට්ටමේ ප්‍රශස්තකරණය (-O3) තෝරාගැනීමේදී ක්‍රියාපටිපාටික වියුක්ත ප්‍රශස්තකරණයන් සක්‍රීය කර ඇත. මෙම ප්‍රශස්තකරණය කේත වේගයේ වියදමින් කේත ප්‍රමාණය අඩු කරයි, එබැවින් සිදු නොකළ යුතුය.
  • අයහපත් EEPROM ප්‍රවේශය (XC8-2629) – mconst-data-in-progmem විකල්පය සක්‍රීය කර ඇති විට eeprom_read_block චර්යාව Xmega උපාංගවල නිවැරදිව ක්‍රියා නොකළේය (එය පෙරනිමි තත්ත්වයයි), එහි ප්‍රතිඵලයක් ලෙස EEPROM මතකය නිවැරදිව කියවා නොමැත.
  • වලංගු නොවන මතක වෙන් කිරීම (XC8-2593, XC8-2651) විට -Ttext හෝ -Tdata සම්බන්ධක විකල්පය (උදා සඳහාample passed through a -Wl driver option) නිශ්චිතව දක්වා ඇත, අනුරූප පෙළ/දත්ත කලාපයේ සම්භවය යාවත්කාලීන කරන ලදී; කෙසේ වෙතත්, අවසාන ලිපිනය ඒ අනුව සකස් නොකළ අතර, එමඟින් කලාපය ඉලක්කගත උපාංගයේ මතක පරාසය ඉක්මවා යාමට හේතු විය හැක.
  • අධි-ආරෝපණය කරන ලද ශ්‍රිතයක් සහිත බිඳ වැටීම (XC8-2580) බාධා කිරීම්, සංඥා හෝ nmi ගුණාංග එකකට වඩා භාවිතා කරමින් ශ්‍රිතයක් ප්‍රකාශ කළහොත් සම්පාදකය බිඳ වැටේ, උදා, __attribute__((__signal__, __interrupt__)).
  • වලංගු නොවන ATtiny බාධා කේතය (XC8-2465) ATtiny උපාංග සඳහා තැනීම සහ ප්‍රශස්තිකරණයන් අක්‍රිය කර ඇති විට (-O0), බාධා කිරීම් ශ්‍රිතයන් පරාසයෙන් ඔපරේන්ඩ් ක්‍රියාරම්භ කර ඇත.
  • විකල්ප හරහා නොපැමිණීම (XC8-2452) බහුවිධ, කොමාවෙන් වෙන් වූ සම්බන්ධක විකල්ප සමඟ -Wl විකල්පය භාවිතා කරන විට, සියලුම සම්බන්ධක විකල්ප සම්බන්ධකය වෙත ලබා නොදෙන ලදී.
  • ක්‍රමලේඛ මතකය වක්‍රව කියවීමේ දෝෂය (XC8-2450) සමහර අවස්ථාවලදී, සම්පාදනය කරන්නා විසින් පොයින්ටරයක සිට ක්‍රමලේඛන මතකය දක්වා බයිට් දෙකක අගයක් කියවන විට අභ්‍යන්තර දෝෂයක් (හඳුනාගත නොහැකි insn ) ඇති විය.

අනුවාදය 2.32
පුස්තකාලයේ දෙවන ප්‍රවේශය අසාර්ථක වේ (XC8-2381) පවතින පුස්තකාල සංරක්ෂිතයකට ප්‍රවේශ වීමට xc8-ar.exe පුස්තකාල ලේඛනාගාරයේ Windows අනුවාදය දෙවන වරට ආයාචනා කිරීම දෝෂ පණිවිඩයක් නැවත නම් කිරීමට නොහැකි වීමත් සමඟ අසාර්ථක විය හැක.

අනුවාදය 2.31
පැහැදිලි නොකළ සම්පාදක අසමත්වීම් (XC8-2367) පද්ධති තාවකාලික නාමාවලිය තිතක් ඇතුළත් මාර්ගයකට සකසා ඇති වින්ඩෝස් වේදිකාවල ධාවනය වන විට '.' අක්ෂරය, සම්පාදකය ක්‍රියාත්මක කිරීමට අසමත් විය හැක.

අනුවාදය 2.30

  • (XC8-2299) ගෙනහැර දැක්වීමෙන් පසු අස්ථානගත වී ඇති ගෝලීය ලේබල්, ක්‍රියා පටිපාටිමය වියුක්තකරණය මගින් සාධක කර ඇති එකලස් කිරීමේ අනුපිළිවෙල තුළ ගෝලීය ලේබල් ස්ථානගත කරන අතින් ලිඛිත එකලස් කිරීමේ කේතය නිවැරදිව නැවත ස්ථානගත කර නොතිබිය හැකිය.
  • විවේකී බිඳවැටීමක් (XC8-2287) -mrelax විකල්පය භාවිතයෙන්, කොටසක අවසානයේ නොමැති රෙට් උපදෙස් ඉවත් කිරීමට tail jump ලිහිල් කිරීමේ ප්‍රශස්තකරණයන් උත්සාහ කළ විට සම්බන්ධකය බිඳ වැටීමට හේතු විය හැක.
  • අගයන් ලෙස ලේබල් ප්‍රශස්ත කරන විට බිඳ වැටීම (XC8-2282) කේතය "අගය ලෙස ලේබල්" භාවිතා කරමින් GNU C භාෂා දිගුව පරිපාටික වියුක්ත ප්‍රශස්තකරණයන් බිඳ වැටීමට හේතු විය හැක, පරාසයක විහිදුනු සවිකිරීමේ දෝෂයකි.
  • එතරම් const නොවේ (XC8-2271) strstr() සඳහා මූලාකෘති සහ අනෙකුත් ශ්‍රිත වලින් const -mconst-data-in-progmem විශේෂාංගය අක්‍රිය කර ඇති විට ආපසු ලබා දුන් නූල් පොයින්ටර්වල සම්මත නොවන සුදුසුකම් තවදුරටත් සඳහන් නොකරන්න. avrxmega3 සහ avrtiny උපාංග සමඟ, මෙම විශේෂාංගය ස්ථිරවම සක්‍රීය කර ඇති බව සලකන්න.
  • Lost initializers (XC8-2269) පරිවර්තන ඒකකයක විචල්‍ය එකකට වඩා වැඩි ප්‍රමාණයක් කොටසක තැබූ විට (__section හෝ __attribute__((section)) ) , සහ එවැනි පළමු විචල්‍යය ශුන්‍ය ලෙස ආරම්භ කරන ලද හෝ ආරම්භකයක් නොමැති විට, ආරම්භක එකම පරිවර්තන ඒකකයේ එකම කොටසේ තබා ඇති වෙනත් විචල්‍යයන් නැති වී ඇත.

අනුවාදය 2.29 (ක්‍රියාකාරී ආරක්ෂණ නිකුතුව)
කිසිවක් නැත.

අනුවාදය 2.20

  • දිගු විධානයන් සහිත දෝෂයක් (XC8-1983) AVR ඉලක්කයක් භාවිතා කරන විට, විධාන රේඛාව අතිශයින් විශාල නම් සහ උද්ධෘත, පසුතල, වැනි විශේෂ අක්ෂර අඩංගු නම්, ගොනුව සොයාගත නොහැකි දෝෂයක් සමඟ සම්පාදකය නතර වී තිබිය හැක.
  • පවරා නොදුන් rodata කොටස (XC8-1920) AVR සම්බන්ධකය avrxmega3 සහ avrtiny architectures සඳහා ගොඩනඟන විට අභිරුචි rodata කොටස් සඳහා මතකය පැවරීමට අසමත් විය, මතකය අතිච්ඡාදනය වීමේ දෝෂ ඇති කළ හැකිය.

අනුවාදය 2.19 (ක්‍රියාකාරී ආරක්ෂණ නිකුතුව)
කිසිවක් නැත.

අනුවාදය 2.10

  • නැවත ස්ථානගත කිරීමේ අසමත්වීම් (XC8-1891) හොඳම ෆිට් විබෙදුම්කරු වූයේ සම්බන්ධක ලිහිල් කිරීමෙන් පසු කොටස් අතර මතක 'සිදුරු' තැබීමයි. මතකය ඛණ්ඩනය කිරීම හැරුණු විට, මෙය pc-සාපේක්ෂ පැනීම් හෝ ඇමතුම් පරාසයෙන් බැහැර වීම සම්බන්ධ සම්බන්ධක නැවත ස්ථානගත කිරීමේ අසාර්ථක වීමේ හැකියාව වැඩි කළේය.
  • ලිහිල් කිරීම මගින් පරිවර්තනය නොකළ උපදෙස් (XC8-1889) පැනීමේ හෝ ඇමතුම් උපදෙස් සඳහා සම්බන්ධක ලිහිල් කිරීම සිදු නොවීය, ලිහිල් කළහොත් ඉලක්ක කරා ළඟා විය හැකිය.
  • අතුරුදහන් ක්‍රියාකාරීත්වය (XC8E-388) අර්ථ දැක්වීම් කිහිපයක් , clock_div_t සහ clock_prescale_set() වැනි, ATmega324PB, ATmega328PB, ATtiny441, සහ ATtiny841 ඇතුළු උපාංග සඳහා නිර්වචනය කර නොමැත.
  • මැක්‍රෝ අස්ථානගත වී ඇත පූර්ව ප්‍රොසෙසර මැක්‍රෝස් _XC8_MODE_, __XC8_VERSION, __XC , සහ __XC8 සම්පාදකය විසින් ස්වයංක්‍රීයව අර්ථ දක්වා ඇත. මේවා දැන් තිබේ.

අනුවාදය 2.05

  • අභ්‍යන්තර සම්පාදක දෝෂය (XC8-1822) වින්ඩෝස් යටතේ ගොඩනැගීමේදී, කේතය ප්‍රශස්ත කිරීමේදී අභ්‍යන්තර සම්පාදක දෝෂයක් ඇති විය හැක.
  • RAM පිටාර ගැලීම අනාවරණය නොවීය (XC8-1800, XC8-1796) පවතින RAM ප්‍රමාණය ඉක්මවන වැඩසටහන් සමහර අවස්ථා වලදී සම්පාදකයා විසින් අනාවරණය කර නොගත් අතර, එහි ප්‍රතිඵලයක් ලෙස ධාවන කාල කේතය අසාර්ථක විය.
  • අතහැර දැමූ ෆ්ලෑෂ් මතකය (XC8-1792) avrxmega3 සහ avrtiny උපාංග සඳහා, ෆ්ලෑෂ් මතකයේ කොටස් MPLAB X IDE මඟින් වැඩසටහන්ගත නොකර තබා තිබිය හැක.
  • ප්‍රධාන (XC8-1788) ක්‍රියාත්මක කිරීමට අපොහොසත් වීම වැඩසටහනට ගෝලීය විචල්‍යයන් නිර්වචනය කර නොමැති සමහර අවස්ථාවන්හිදී, ධාවන කාල ආරම්භක කේතය පිටව නොගිය අතර ප්‍රධාන() ශ්‍රිතයට කිසිදා ළඟා නොවීය.
  • වැරදි මතක තොරතුරු (XC8-1787) avrxmega3 සහ avrtiny උපාංග සඳහා, avr-size වැඩසටහන මඟින් වැඩසටහන් මතකය වෙනුවට කියවීමට පමණක් දත්ත RAM පරිභෝජනය කරන බව වාර්තා කරයි.
  • වැරදි ක්‍රමලේඛ මතක කියවීම (XC8-1783) දත්ත ලිපින අවකාශයට සිතියම්ගත කර ඇති ක්‍රමලේඛ මතකය සහිත උපාංග සඳහා සම්පාදනය කරන ලද ව්‍යාපෘති සහ PROGMEM සාර්ව/ගුණාංගය භාවිතා කරන වස්තු මෙම වස්තු වැරදි ලිපිනයකින් කියවා තිබිය හැක.
  • ගුණාංග සහිත අභ්‍යන්තර දෝෂයක් (XC8-1773) ඔබ __at() හෝ attribute() ටෝකන සමඟ පොයින්ටර් වස්තු නිර්වචනය කළේ නම්, උදාහරන සඳහා, පොයින්ටර් නම සහ වෙන් කළ වර්ගය අතර අභ්‍යන්තර දෝෂයක් ඇති විය.ample, char * __at(0x800150) cp; එවැනි කේතයක් හමු වුවහොත් දැන් අනතුරු ඇඟවීමක් නිකුත් කෙරේ.
  • ප්‍රධාන (XC8-1780, XC8-1767, XC8-1754) ක්‍රියාත්මක කිරීමට අපොහොසත් වීම EEPROM විචල්‍ය භාවිතා කිරීම හෝ config pragma භාවිතා කරමින් ෆියුස් නිර්වචනය කිරීම වැරදි දත්ත ආරම්භ කිරීමට සහ/හෝ ප්‍රධාන ආරම්භක කේතයට ළඟා වීමට පෙර වැඩසටහන් ක්‍රියාත්මක කිරීම වැරදියට හේතු විය හැක. )
  • කුඩා උපාංග සමඟ ෆියුස් දෝෂයක් (XC8-1778, XC8-1742) attiny4/5/9/10/20/40/XNUMX/XNUMX උපාංගවල ෆියුස් නිර්වචනය කරන කේතය සෑදීමට උත්සාහ කිරීමේදී සම්බන්ධක දෝෂ ඇති වන ශීර්ෂ ගොනුවල වැරදි ෆියුස් දිගක් නියම කර තිබුණි. .
  • ඛණ්ඩනය කිරීමේ දෝෂය (XC8-1777) අතරමැදි ඛණ්ඩන දෝෂයක් නිවැරදි කර ඇත.
  • Assembler crash (XC8-1761) Ubuntu 18 යටතේ සම්පාදකය ක්‍රියාත්මක වන විට avr-as assembler එක කඩා වැටෙන්නට ඇත.
  • නිෂ්කාශනය නොකළ වස්තු (XC8-1752) ආරම්භක නොකල ස්ථිතික ගබඩා කාල වස්තු ධාවන කාල ආරම්භක කේතය මගින් හිස් කර නොතිබිය හැක.
  • ගැටුම්කාරී උපාංග පිරිවිතර නොසලකා හරින ලදී (XC8-1749) බහු උපාංග පිරිවිතර විකල්ප භාවිතා කරන විට සහ විවිධ උපාංග දක්වන විට සම්පාදකය දෝෂයක් ජනනය කළේ නැත.
  • ගොඩ අනුව මතකය දූෂණය වීම (XC8-1748) __heap_start සංකේතය වැරදි ලෙස සකසා ඇති අතර, එහි ප්‍රතිඵලයක් ලෙස සාමාන්‍ය විචල්‍යයන් ගොඩ මගින් දූෂිත වීමේ හැකියාව ඇති විය.
  • සම්බන්ධක ප්‍රතිස්ථාපන දෝෂය (XC8-1739) හරියටම බයිට් 4ක් දුරින් ඉලක්කයක් සහිත rjmp හෝ rcall කේතයක් අඩංගු වූ විට සම්බන්ධක නැවත ස්ථානගත කිරීමේ දෝෂයක් නිකුත් වී තිබිය හැක.

අනුවාදය 2.00
කිසිවක් නැත.

දන්නා ගැටළු

සම්පාදකයේ ක්‍රියාකාරිත්වයේ සීමාවන් පහත දැක්වේ. මේවා සාමාන්‍ය කේතීකරණ සීමා කිරීම් හෝ පරිශීලක අත්පොතෙහි අඩංගු තොරතුරු වලින් බැහැරවීම් විය හැක. මාතෘකාවේ ඇති වරහන් ලේබලය (ය) ලුහුබැඳීමේ දත්ත ගබඩාවේ එම ගැටලුව හඳුනාගැනීමයි. ඔබට සහාය සම්බන්ධ කර ගැනීමට අවශ්‍ය නම් මෙය ප්‍රයෝජනවත් විය හැකිය. ලේබල් නොමැති එම අයිතම මෝඩි ක්‍රියාන්විතය විස්තර කරන සීමාවන් වන අතර ඒවා ස්ථිරවම ක්‍රියාත්මක වීමට ඉඩ ඇත.

MPLAB X IDE ඒකාබද්ධ කිරීම

  • MPLAB IDE අනුකලනය MPLAB IDE වෙතින් Compiler භාවිතා කිරීමට නම්, Compiler ස්ථාපනය කිරීමට පෙර ඔබ MPLAB IDE ස්ථාපනය කළ යුතුය.
  • Array debug information (XC8-3157) compiler විසින් නිපදවන දෝශ නිරාකරණ තොරතුරු __memx ලිපින අවකාශයේ ඇති අරා සඳහා වස්තු වර්ගය නිවැරදිව ප්‍රකාශ නොකරයි. මෙය IDE එකක වස්තුව නිරීක්ෂණය කිරීම වළක්වයි.

කේත උත්පාදනය

  • Segfault with section-anchors විකල්පය (XC8-3045) විචල්‍ය තර්ක ලැයිස්තු සහිත කාර්යයන් නිර්වචනය කරන සහ -fsection-anchors විකල්පය භාවිතා කරන වැඩසටහන අභ්‍යන්තර සම්පාදක දෝෂයක් අවුලුවා තිබිය හැක: Segmentation fault
  • දෝශ නිරාකරණ තොරතුරු සමමුහුර්ත නොවේ (XC8-2948) සම්බන්ධක ලිහිල් කිරීමේ ප්‍රශස්තකරණයන් උපදෙස් හැකිලෙන විට (උදාample call to rcall උපදෙස්), එක් කොටසක හැකිලීමේ ක්‍රියාවන් එකකට වඩා සිදුවන විට ලිපින සිතියම්ගත කිරීම් සඳහා මූලාශ්‍ර රේඛාව සමමුහුර්තව පැවතිය නොහැක. පහත example, foo සඳහා ඇමතුම් දෙකක් ඇති අතර එය සාපේක්ෂ ඇමතුම් වලට ලිහිල් වේ.
  • PA මතක වෙන්කිරීමේ අසාර්ථකත්වය (XC8-2881) ක්‍රියාපටිපාටික වියුක්ත ප්‍රශස්තකාරක භාවිතා කරන විට, ක්‍රමලේඛයට ලබා ගත හැකි මතකය සවි කිරීමට හැකි වුවද, කේත ප්‍රමාණය උපාංගයේ පවතින වැඩසටහන් මතක ප්‍රමාණයට ආසන්න වන විට සම්බන්ධකය මතක වෙන් කිරීමේ දෝෂ වාර්තා කළ හැක. අවකාශය.
  • එතරම් ස්මාර්ට් නොවේ Smart-IO (XC8-2872) compiler හි smart-io විශේෂාංගය const-data-in-progmem විශේෂාංගය අක්‍රිය කර ඇත්නම් හෝ උපාංගය සතුව එහි සියල්ල තිබේ නම්, snprintf ශ්‍රිතය සඳහා වලංගු නමුත් උප-ප්‍රශස්ත කේතය ජනනය කරනු ඇත. ෆ්ලෑෂ් දත්ත මතකයට සිතියම්ගත කර ඇත.
  • ඊටත් වඩා අඩු Smart Smart-IO (XC8-2869) -flto සහ -fno-builtin විකල්ප දෙකම භාවිතා කරන විට සම්පාදකයේ ස්මාර්ට්-io විශේෂාංගය වලංගු නමුත් උප-ප්‍රශස්ත කේතය ජනනය කරනු ඇත.
  • උපප්‍රශස්ත කියවීමට-පමණි දත්ත ස්ථානගත කිරීම (XC8-2849) සම්බන්ධකය දැනට APPCODE සහ APPDATA මතක කොටස් හෝ මතක සිතියමේ [No-]කියවන අතරතුර-ලියන බෙදීම් පිළිබඳව නොදනී. එහි ප්‍රතිඵලයක් වශයෙන්, ලින්ක්කරුට මතකයේ නුසුදුසු ප්‍රදේශයක කියවීමට පමණක් දත්ත වෙන් කිරීමට කුඩා අවස්ථාවක් තිබේ. const-data-in-progmem විශේෂාංගය සක්‍රීය කර තිබේ නම්, විශේෂයෙන්ම const-data-in-config-mapped-progmem විශේෂාංගය ද සක්‍රීය කර තිබේ නම්, දත්ත අස්ථානගත වීමේ අවස්ථාව වැඩි වේ. අවශ්‍ය නම් මෙම විශේෂාංග අක්‍රිය කළ හැක.
  • වස්තු ගොනු සැකසුම් අනුපිළිවෙල (XC8-2863) සම්බන්ධකය විසින් වස්තු ගොනු සකසන අනුපිළිවෙල පරිපාටිමය වියුක්ත ප්‍රශස්තකරණයන් (-mpa විකල්පය) භාවිතය මත පදනම්ව වෙනස් විය හැක. මෙය බලපානුයේ බහු මොඩියුල හරහා දුර්වල ක්‍රියාකාරකම් නිර්වචනය කරන කේතයට පමණි.
  • නිරපේක්ෂ (XC8-2777) සමඟ සම්බන්ධක දෝෂය RAM ආරම්භයේ ලිපිනයක වස්තුවක් නිරපේක්ෂ කර ඇති විට සහ ආරම්භ නොකළ වස්තු ද අර්ථ දක්වා ඇති විට, සම්බන්ධක දෝෂයක් ඇති විය හැක.
  • කෙටි අවදි කිරීමේ හැඳුනුම්පත් (XC8-2775) ATA5700/2 උපාංග සඳහා, PHID0/1 රෙජිස්ටර් අර්ථ දක්වා ඇත්තේ බිටු 16 පළලට වඩා බිටු 32ක් පළල ලෙස පමණි.
  • සංකේතය ඇමතීමේදී සම්බන්ධකය බිඳ වැටීම (XC8-2758) මූලාශ්‍ර කේතය – Wl,–defsym ලින්කර් විකල්පය භාවිතයෙන් අර්ථ දක්වා ඇති සංකේතයක් ඇමතීමේ දී -mrelax ධාවක විකල්පය භාවිත කළහොත් සම්බන්ධකය බිඳ වැටිය හැක.
  • වැරදි ආරම්භ කිරීම (XC8-2679) සමහර ගෝලීය/ස්ථිතික බයිට් ප්‍රමාණයේ වස්තු සඳහා මූලික අගයන් දත්ත මතකයේ තබා ඇති ස්ථානය සහ ධාවන වේලාවේදී විචල්‍යයන් වෙත ප්‍රවේශ වන ස්ථානය අතර විෂමතාවයක් ඇත.
  • නරක වක්‍ර ක්‍රියාකාරී ඇමතුම් (XC8-2628) සමහර අවස්ථා වලදී, ව්‍යුහයක කොටසක් ලෙස ගබඩා කර ඇති ශ්‍රිත දර්ශකයක් හරහා කරන ලද ක්‍රියාකාරී ඇමතුම් අසාර්ථක විය හැක.
  • strtof hexadecimal floats සඳහා ශුන්‍යය ලබා දෙයි (XC8-2626) පුස්තකාල ශ්‍රිත strtof() et al සහ scanf() et al, සෑම විටම ඝාතකයක් ශුන්‍යයට සඳහන් නොකරන ෂඩාස්‍ර පාවෙන ලක්ෂ්‍ය අංකයක් පරිවර්තනය කරයි. උදාහරණයක් ලෙසample: strtof ("0x1", &endptr); 0 නොව 1 අගය ලබා දෙනු ඇත.
  • සාවද්‍ය ස්ටැක් උපදේශක පණිවිඩ යැවීම (XC8-2542, XC8-2541) සමහර අවස්ථා වලදී, භාවිතා කරන ලද පුනරාවර්තනය හෝ අවිනිශ්චිත තොගය (සමහර විට alloca() භාවිතය හරහා) සම්බන්ධ අට්ටි උපදේශක අනතුරු ඇඟවීම නිකුත් නොකෙරේ.
  • අනුපිටපත් බාධා කිරීමේ කේතය සමඟ අසමත් වීම (XC8-2421) එක් බාධා කිරීමේ ශ්‍රිතයකට වඩා එකම ශරීරයක් ඇති විට, සම්පාදකයට එක් බාධා කිරීමේ ශ්‍රිතයක් සඳහා ප්‍රතිදානය තිබිය හැකිය. මෙහි ප්‍රතිඵලයක් ලෙස සියලුම ඇමතුම්-ක්ලෝබර්ඩ් රෙජිස්ටර් අනවශ්‍ය ලෙස සුරැකෙනු ඇති අතර, කේත අසාර්ථක වීමට හේතු විය හැකි වත්මන් බාධා කිරීම් හසුරුවන්නාගේ කථාංගය ක්‍රියාත්මක වීමට පෙර පවා බාධා කිරීම් සක්‍රීය වනු ඇත.
  • වලංගු නොවන DFP මාර්ගයක් සහිත නරක ප්‍රතිදානය (XC8-2376) වලංගු නොවන DFP මාර්ගයක් සමඟින් සම්පාදකය ක්‍රියා කර ඇත්නම් සහ තෝරාගත් උපාංගය සඳහා 'spec' ගොනුවක් තිබේ නම්, සම්පාදකයා අතුරුදහන් උපාංග පවුල් ඇසුරුම වාර්තා නොකරන අතර ඒ වෙනුවට 'spec' තෝරා ගනී. ගොනුව, එය අවලංගු ප්‍රතිදානයකට තුඩු දිය හැකිය. 'spec' ගොනු බෙදා හරින ලද DFP සමඟ යාවත්කාලීන නොවිය හැකි අතර අභ්‍යන්තර සම්පාදක පරීක්ෂණ සඳහා පමණක් භාවිතා කිරීමට අදහස් කරන ලදී.
  • මතක අතිච්ඡාදනය හඳුනා නොගැනීම (XC8-1966) සම්පාදකය විසින් ලිපිනයක (__at() හරහා) නිරපේක්ෂ කරන ලද වස්තුවල මතක අතිච්ඡාදනය සහ __section() specifier භාවිතා කර එම ලිපිනයට සම්බන්ධ කර ඇති අනෙකුත් වස්තූන් හඳුනා නොගනී.
  • පුස්තකාල ශ්‍රිතයන් සහ __memx (XC8-1763) __memx ලිපින අවකාශයේ තර්කයක් සමඟින් හැඳින්වෙන libgcc float ශ්‍රිතයන් සමඟ අසමත් වීම අසාර්ථක විය හැක. පුස්තකාල චර්යාවන් සමහර C ක්‍රියාකරුවන්ගෙන් කැඳවනු ලබන බව සලකන්න, උදාහරණයක් ලෙසample, පහත කේතය බලපායි: regFloatVar > memxFloatVar ආපසු දෙන්න;
  • සීමිත libgcc ක්‍රියාත්මක කිරීම (AVRTC-731) ATTiny4/5/9/10/20/40 නිෂ්පාදන සඳහා, libgcc හි සම්මත C / Math පුස්තකාල ක්‍රියාත්මක කිරීම ඉතා සීමිත හෝ නොපවතී.
  • වැඩසටහන් මතක සීමාවන් (AVRTC-732) 128 kb ට වැඩි වැඩසටහන් මතක රූප සඳහා මෙවලම් දාමය මඟින් සහය දක්වයි; කෙසේ වෙතත්, -mrelax විකල්පය භාවිතා කරන විට අවශ්‍ය ශ්‍රිත අංකුර උත්පාදනය කරනවාට වඩා ලිහිල් කිරීමකින් තොරව සහ ප්‍රයෝජනවත් දෝෂ පණිවිඩයකින් තොරව සම්බන්ධකය ගබ්සා වන අවස්ථා දන්නා අවස්ථා තිබේ.
  • නම අවකාශ සීමාවන් (AVRTC-733) නම් කරන ලද ලිපින අවකාශයන් භාවිතා කරන්නාගේ මාර්ගෝපදේශ කොටසෙහි සඳහන් සීමාවන්ට යටත්ව මෙවලම් දාමය මගින් සහය දක්වයි විශේෂ වර්ගයේ සුදුසුකම්.
  • වේලා කලාප ද පුස්තකාල ශ්‍රිතයන් GMT උපකල්පනය කරන අතර දේශීය වේලා කලාප සඳහා සහය නොදක්වයි, එබැවින් ප්‍රාදේශීය වේලාව() ​​gmtime() ලෙස එකම වේලාවක් ලබා දෙනු ඇත, උදාහරණයක් ලෙසample.

ලේඛන / සම්පත්

MICROCHIP XC8 C සම්පාදක අනුවාදය 2.45 AVR MCU සඳහා නිකුත් කිරීමේ සටහන් [pdf] උපදෙස්
AVR MCU, XC8 C, XC8 C Compiler අනුවාදය 2.45 AVR MCU සඳහා නිකුත් කිරීමේ සටහන්, Compiler අනුවාදය 2.45 AVR MCU සඳහා නිකුත් කිරීමේ සටහන්, AVR MCU සඳහා අනුවාදය 2.45 නිකුත් කිරීමේ සටහන්, AVR AVR MCV සඳහා නිකුත් කිරීමේ සටහන්, AVR AVR, MCV සඳහා NotesUR, MCV සඳහා Notes.

යොමු කිරීම්

කමෙන්ට් එකක් දාන්න

ඔබගේ විද්‍යුත් තැපැල් ලිපිනය ප්‍රකාශනය නොකෙරේ. අවශ්‍ය ක්ෂේත්‍ර සලකුණු කර ඇත *