MICROCHIP MPLAB XC8 C සම්පාදක මෘදුකාංගය 

MICROCHIP MPLAB XC8 C සම්පාදක මෘදුකාංගය

MICROCHIP AVR උපාංග ඉලක්ක කරන විට MPLAB XC8 C සම්පාදකයට අදාළ වැදගත් තොරතුරු මෙම ලේඛනයේ අඩංගු වේ.
මෙම මෘදුකාංගය ක්‍රියාත්මක කිරීමට පෙර කරුණාකර එය කියවන්න. ඔබ 8-BIT PIC උපාංග සඳහා compiler භාවිතා කරන්නේ නම් PIC ලේඛනය සඳහා MPLAB XC8 C සම්පාදනය නිකුත් කිරීමේ සටහන් බලන්න.

අන්තර්ගතය සඟවන්න

ඉවරයිview

හැඳින්වීම

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

ගොඩනැගීමේ දිනය

මෙම සම්පාදක අනුවාදයේ නිල ගොඩනැගීමේ දිනය 3 ජූලි 2022 වේ.

පෙර අනුවාදය

පෙර MPLAB XC8 C සම්පාදක අනුවාදය 2.39, ක්‍රියාකාරී ආරක්‍ෂිත සම්පාදකයක්, 27 ජනවාරි 2022 වන දින ගොඩනගා ඇත. පෙර සම්මත සම්පාදකය 2.36 ජනවාරි 27 වන දින ඉදිකරන ලද 2022 අනුවාදය විය.

ක්රියාකාරී ආරක්ෂණ අත්පොත

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 හි වෘත්තීය සංස්කරණ; උබුන්ටු 18.04; සහ macOS 10.15.5. වින්ඩෝස් සඳහා ද්විමය කේත අත්සන් කර ඇත. Mac OS සඳහා ද්විමය කේත-අත්සන් කර නොතාරිස් කර ඇත.

ඔබ ජාල බලපත්‍ර සේවාදායකයක් ධාවනය කරන්නේ නම්, බලපත්‍ර සේවාදායකයට සත්කාරකත්වය සැපයීම සඳහා සම්පාදකයින් විසින් සහාය දක්වන මෙහෙයුම් පද්ධති සහිත පරිගණක පමණක් භාවිතා කළ හැක. xclm අනුවාදය 2.0 ලෙස, ජාල බලපත්‍ර සේවාදායකය මයික්‍රොසොෆ්ට් වින්ඩෝස් සර්වර් වේදිකාවක් මත ස්ථාපනය කළ හැකි නමුත් බලපත්‍ර සේවාදායකය මෙහෙයුම් පද්ධතියේ සේවාදායක අනුවාදයක් මත ධාවනය කිරීමට අවශ්‍ය නොවේ.

උපාංග සඳහා සහය දක්වයි

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

සංස්කරණ සහ බලපත්‍ර උත්ශ්‍රේණි කිරීම්

MPLAB XC8 සම්පාදකය බලපත්‍රලාභී (PRO) හෝ බලපත්‍ර රහිත (නොමිලේ) නිෂ්පාදනයක් ලෙස සක්‍රිය කළ හැක. ඔබේ සම්පාදකයට බලපත්‍ර ලබා දීම සඳහා ඔබ සක්‍රිය කිරීමේ යතුරක් මිලදී ගත යුතුය. බලපත්‍රයක් නොමිලේ නිෂ්පාදනයට සාපේක්ෂව ඉහළ මට්ටමේ ප්‍රශස්තකරණයකට ඉඩ සලසයි. බලපත්‍ර රහිත සම්පාදකයක් බලපත්‍රයක් නොමැතිව දින නියමයක් නොමැතිව ක්‍රියාත්මක කළ හැක.

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

ස්ථාපනය සහ සක්රියන

මෙම සම්පාදකය සමඟ ඇතුළත් කර ඇති නවතම බලපත්‍ර කළමනාකරු පිළිබඳ වැදගත් තොරතුරු සඳහා සංක්‍රමණ ගැටළු සහ සීමා කොටස් ද බලන්න.
MPLAB IDE භාවිතා කරන්නේ නම්, මෙම මෙවලම ස්ථාපනය කිරීමට පෙර නවතම MPLAB X IDE අනුවාදය 5.0 හෝ පසුව ස්ථාපනය කිරීමට වග බලා ගන්න. සම්පාදකය ස්ථාපනය කිරීමට පෙර IDE වෙතින් ඉවත් වන්න. .exe (Windows), .run (Linux) හෝ app (macOS) compiler ස්ථාපක යෙදුම ධාවනය කරන්න, උදා 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 රෝමිං දෘශ්‍ය ලෙස කළමනාකරණය කිරීමට බලපත්‍ර කවුළුවක් (මෙවලම් > බලපත්‍ර) ඇතුළත් වේ.

ස්ථාපන ගැටළු විසඳීම

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

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

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

සම්පාදක ලේඛනගත කිරීම

Screenshot හි දක්වා ඇති පරිදි MPLAB X IDE උපකරණ පුවරුවේ නිල් උදවු බොත්තම ක්ලික් කරන විට ඔබේ බ්‍රවුසරයේ විවෘත වන HTML පිටුවෙන් සම්පාදකයාගේ පරිශීලක මාර්ගෝපදේශ විවෘත කළ හැක.

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

පාරිභෝගික සහාය

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

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

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

මෙම නිකුතුවේ නව හෝ යාවත්කාලීන AVR ලේඛන:

  • MUSL ප්‍රකාශන හිමිකම් දැන්වීම
  • MPLAB XC C Compilers ස්ථාපනය කිරීම සහ බලපත්‍ර ලබා දීම (සංශෝධනය M)
  • Embedded Engineers සඳහා MPLAB XC8 User!s Guide – AVR MCUs (සංශෝධනය A)
  • MPLAB XC8 C Compiler User!s Guide for AVR MCU (සංශෝධනය F)
  • Microchip Unified Standard Library Reference Guide (සංශෝධනය B)

Microchip Unified Standard Library Reference Guide මගින් Microchip Unified Standard Library මගින් නිර්වචනය කරන ලද කාර්යයන්හි හැසිරීම සහ අතුරු මුහුණත මෙන්ම පුස්තකාල වර්ග සහ මැක්‍රෝ වල අපේක්ෂිත භාවිතය විස්තර කරයි. මෙම තොරතුරු වලින් සමහරක් කලින් AVR® MCU සඳහා MPLAB® XC8 C Compiler User!s Guide හි අන්තර්ගත විය. උපාංගය-විශේෂිත පුස්තකාල තොරතුරු තවමත් මෙම සම්පාදක මාර්ගෝපදේශයෙහි අඩංගු වේ.

ඔබ දැන් පටන් ගන්නේ 8-bit උපාංග සහ MPLAB XC8 C Compiler සමඟ නම්, Embedded Engineers සඳහා MPLAB® XC8 User!s Guide - AVR® MCUs (DS50003108) MPLAB X IDE හි ව්‍යාපෘති පිහිටුවීම සහ කේතය ලිවීම පිළිබඳ තොරතුරු ඇත. ඔබේ පළමු MPLAB XC8 C ව්‍යාපෘතිය සඳහා. මෙම මාර්ගෝපදේශය දැන් සම්පාදකය සමඟ බෙදා හැර ඇත.

මෙම නිකුතුවේ ලේඛන නාමාවලියෙහි Hamate පරිශීලක මාර්ගෝපදේශය ඇතුළත් කර ඇත. මෙම මාර්ගෝපදේශය Hamate තනියම යෙදුමක් ලෙස පවත්වාගෙන යන අය සඳහා අදහස් කෙරේ.

මොනවද අළුත්

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

අනුවාදය 2.40

නව උපාංග සහාය පහත AVR කොටස් සඳහා දැන් සහය පවතී: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64DD28, AVR64 AVR32EA64.
වැඩිදියුණු කළ පරිපාටිමය සාරාංශය ක්‍රියා පටිපාටි සාරාංශ (PA) ප්‍රශස්තිකරණ මෙවලම වැඩිදියුණු කර ඇති අතර එමඟින් ශ්‍රිත ඇමතුම් උපදෙස් (ඇමතුම් නැවත කැඳවීම) අඩංගු කේතය ගෙනහැර දැක්විය හැක. මෙය සිදු වන්නේ ශ්‍රිතයට තර්ක ඉදිරිපත් කිරීමට හෝ ශ්‍රිතයෙන් ප්‍රතිලාභ අගය ලබා ගැනීමට අට්ටිය භාවිතා නොකරන්නේ නම් පමණි. විචල්‍ය තර්ක ලැයිස්තුවක් සහිත ශ්‍රිතයක් ඇමතීමේ දී හෝ මේ සඳහා නම් කර ඇති ලේඛනවලට වඩා වැඩි තර්ක ලබා ගන්නා ශ්‍රිතයක් ඇමතීමේ දී තොගය භාවිතා වේ. මෙම විශේෂාංගය monk-pa-outline-calls විකල්පය භාවිතයෙන් අක්‍රිය කළ හැක, නැතහොත් ක්‍රියාපටිපාටික සාරාංශය වස්තුවක් සඳහා සම්පූර්ණයෙන්ම අක්‍රිය කළ හැක. file හෝ -monk-pa-on- භාවිතා කිරීමෙන් ක්රියා කරයිfile සහ -mo.-pa-on-function පිළිවෙලින්, හෝ nipa attribute (nipa specifier) ​​වරණාත්මකව ශ්‍රිත සමඟ භාවිතා කිරීමෙන්

කේත ආවරණ මැක්‍රෝ වලංගු mcodecov විකල්පයක් සඳහන් කර ඇත්නම් සම්පාදකය දැන් macro __CODECOV නිර්වචනය කරයි.

මතක වෙන්කිරීමේ විකල්පය xc8-cc ධාවකය දැන් AVR ඉලක්ක සඳහා ගොඩනැගීමේදී -mreserve=space@start: end විකල්පය පිළිගනී. මෙම විකල්පය දත්ත හෝ ක්‍රමලේඛ මතක අවකාශය තුළ නිශ්චිත මතක පරාසය වෙන් කරයි, මෙම ප්‍රදේශයේ කේතය හෝ වස්තු ජනනය කිරීමෙන් සම්බන්ධකය වළක්වයි.

වඩා බුද්ධිමත් IO Smart IO ශ්‍රිතයන් සඳහා වැඩි දියුණු කිරීම් කිහිපයක් සිදු කර ඇත, printf මූලික කේතයට සාමාන්‍ය වෙනස් කිරීම්, %n පරිවර්තන නියමකය ස්වාධීන ප්‍රභේදයක් ලෙස සැලකීම, ඉල්ලුම මත vararg pop චර්යාවන් සම්බන්ධ කිරීම, IO ක්‍රියාකාරී තර්ක හැසිරවීම සඳහා හැකි නම් කෙටි දත්ත වර්ග භාවිතා කිරීම. , සහ ක්ෂේත්‍ර පළල සහ නිරවද්‍ය ලෙස හැසිරවීමේදී පොදු කේතය සාධක කිරීම. මෙය සැලකිය යුතු කේත සහ දත්ත ඉතිරිකිරීම් මෙන්ම IO ක්‍රියාත්මක කිරීමේ වේගය වැඩි කිරීමට හේතු විය හැක.

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

ජාල සේවාදායක බලපත්‍රය MPLAB XC8 Functional Safety Compiler හි මෙම නිකුතුව ජාල සේවාදායක බලපත්‍රය සඳහා සහය දක්වයි.

අනුවාදය 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-proem විකල්පය සම්බන්ධකයට සියලු අවාසි සුදුසුකම් ලත් දත්ත එක් 32k කොටසක ස්ථානගත කිරීමට සහ මෙම දත්ත දත්ත මතක අවකාශයට සිතියම්ගත කර ඇති බව සහතික කිරීම සඳහා අදාළ SFR ලේඛනය ස්වයංක්‍රීයව ආරම්භ කිරීමට භාවිතා කළ හැක. , එය වඩාත් ඵලදායී ලෙස ප්රවේශ වනු ඇත.

මයික්‍රොචිප් ඒකාබද්ධ සම්මත පුස්තකාල සියලුම MPLAB XC සම්පාදකයින් විසින් Microchip Unified Standard Library එකක් බෙදා ගනු ඇත, එය MPLAB XC8 හි මෙම නිකුතුව සමඟ දැන් ලබා ගත හැක. MPLAB® XC8 C සම්පාදක පරිශීලක මාර්ගෝපදේශය/හෝ AVR® MCU මෙම සම්මත කාර්යයන් සඳහා ලේඛන තවදුරටත් ඇතුළත් නොවේ. මෙම තොරතුරු දැන් Microchip Unified Standard Library Reference Guide හි සොයා ගත හැක. avr-libc විසින් කලින් නිර්වචනය කරන ලද සමහර ක්‍රියාකාරීත්වය තවදුරටත් ලබා ගත නොහැකි බව සලකන්න. (Librar බලන්න):'. ක්‍රියාකාරීත්වය...)

ස්මාර්ට් IO නව ඒකාබද්ධ පුස්තකාලවල කොටසක් ලෙස, මුද්‍රණ සහ ස්කෑන් පවුල්වල IO ශ්‍රිත දැන් එක් එක් ගොඩනැගීම මත අභිරුචි උත්පාදනය කර ඇත, මෙම කාර්යයන් වැඩසටහනේ භාවිතා කරන ආකාරය මත පදනම්ව. මෙය වැඩසටහනක් භාවිතා කරන සම්පත් සැලකිය යුතු ලෙස අඩු කළ හැකිය.
ස්මාර්ට් IO සහාය විකල්පය ස්මාර්ට් IO ශ්‍රිතවලට ඇමතුම් විශ්ලේෂණය කරන විට (printf () හෝ scanf () වැනි), සම්පාදකයාට සෑම විටම ආකෘති තන්තුවෙන් තීරණය කිරීමට හෝ ඇමතුමට අවශ්‍ය පරිවර්තන නියමයන් තර්කවලින් අනුමාන කිරීමට නොහැකිය. මින් පෙර, සම්පාදකය සෑම විටම කිසිදු උපකල්පනයක් සිදු නොකරන අතර සම්පූර්ණ ක්‍රියාකාරී IO ශ්‍රිතයන් අවසාන වැඩසටහන් රූපයට සම්බන්ධ කර ඇති බව සහතික කරයි. නව - msmart-io-format=fmt විකල්පයක් එක් කර ඇති අතර, ඒ වෙනුවට, compiler හට ස්මාර්ට් IO ශ්‍රිතයන් භාවිතා කරන පරිවර්තන පිරිවිතර භාවිතා කරන්නාට දැනුම් දිය හැකි අතර, ඒවායේ භාවිතය අපැහැදිලි වන අතර, අධික ලෙස දිගු IO චර්යාවන් සම්බන්ධ වීම වළක්වයි. (වැඩිදුර විස්තර සඳහා smart-io-format විකල්පය බලන්න.)

අභිරුචි කොටස් තැබීම මින් පෙර, -Wl, –section-start විකල්පය මඟින් ලින්කර් ස්ක්‍රිප්ටය එකම නම සහිත ප්‍රතිදාන අංශයක් නිර්වචනය කළ විට පමණක් නියමිත ලිපිනයට නියමිත කොටස තැබුවේය. එය එසේ නොවූ විට, සම්බන්ධකය විසින් තෝරාගත් ලිපිනයක කොටස තබා ඇති අතර විකල්පය අත්‍යවශ්‍යයෙන්ම නොසලකා හරින ලදී. දැන් සම්බන්ධක ස්ක්‍රිප්ට් කොටස නිර්වචනය නොකළද, සියලු අභිරුචි කොටස් සඳහා විකල්පය ගෞරවයට පාත්‍ර වේ. කෙසේ වෙතත්, සම්මත කොටස් සඳහා, එවැනි . පෙළ, . bss හෝ . දත්ත, හොඳම යෝග්‍ය විබෙදුම්කරුට තවමත් ඔවුන්ගේ ස්ථානගත කිරීම පිළිබඳ සම්පූර්ණ පාලනයක් ඇති අතර, විකල්පය කිසිදු බලපෑමක් ඇති නොකරයි. පරිශීලක මාර්ගෝපදේශයේ විස්තර කර ඇති පරිදි -Wl, -Tsection=add විකල්පය භාවිතා කරන්න.

අනුවාදය 2.32

ස්ටැක් මාර්ගෝපදේශය PRO සම්පාදක බලපත්‍රයක් සමඟින් ලබා ගත හැක, වැඩසටහනක් මඟින් භාවිතා කරන ඕනෑම තොගයක උපරිම ගැඹුර තක්සේරු කිරීමට සම්පාදකයාගේ අට්ටි මාර්ගෝපදේශ විශේෂාංගය භාවිතා කළ හැක. එය වැඩසටහනක ඇමතුම් ප්‍රස්ථාරය ගොඩනඟා විශ්ලේෂණය කරයි, එක් එක් ශ්‍රිතයේ අට්ටි භාවිතය තීරණය කරයි, සහ වැඩසටහන මඟින් භාවිතා කරන අට්ටිවල ගැඹුර අනුමාන කළ හැකි වාර්තාවක් නිෂ්පාදනය කරයි. මෙම විශේෂාංගය -mchp-stack-usage command-line විකල්පය හරහා සක්‍රීය කර ඇත. ක්‍රියාත්මක කිරීමෙන් පසු තොග භාවිතයේ සාරාංශයක් මුද්‍රණය කෙරේ. සවිස්තරාත්මක තොග වාර්තාවක් සිතියමෙහි ඇත file, සුපුරුදු ආකාරයෙන් ඉල්ලා සිටිය හැක.

නව උපාංග සහාය සහාය පහත AVR කොටස් සඳහා තිබේ: ATTINY 427, ATTINY 424, ATTINY 426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28, AVR32DB28, AVR64, AVR32DB32.

ඉවත් කරන ලද උපාංග සහාය සහාය පහත AVR කොටස් සඳහා තවදුරටත් ලබා ගත නොහැක: AVR16DA28, AVR16DA32 සහ, AVR16DA48.

අනුවාදය 2.31

කිසිවක් නැත.

අනුවාදය 2.30

දත්ත ආරම්භ කිරීම වැළැක්වීම සඳහා නව විකල්පය නව -mno-data-ini t ධාවක විකල්පය දත්ත ආරම්භ කිරීම සහ bss කොටස් ඉවත් කිරීම වළක්වයි. එකලස් කිරීමේදී do_ copy_ දත්ත සහ d o_ clear_ bss සංකේතවල ප්‍රතිදානය යටපත් කිරීමෙන් එය ක්‍රියා කරයි. files, එය අනෙක් අතට සම්බන්ධ කරන්නා විසින් එම චර්යාවන් ඇතුළත් කිරීම වලක්වනු ඇත.

වැඩි දියුණු කරන ලද ප්‍රශස්තකරණයන් අතිරික්ත ප්‍රතිලාභ උපදෙස් ඉවත් කිරීම, skip-if-bit-is උපදෙස් අනුගමනය කරමින් සමහර පැනීම් ඉවත් කිරීම, සහ වැඩිදියුණු කරන ලද ක්‍රියාපටිපාටික සාරාංශය සහ මෙම ක්‍රියාවලිය පුනරාවර්තනය කිරීමේ හැකියාව ඇතුළුව ප්‍රශස්තිකරණ වැඩිදියුණු කිරීම් ගණනාවක් සිදු කර ඇත.

මෙම ප්‍රශස්තකරණයන්ගෙන් සමහරක් පාලනය කිරීමට අමතර විකල්ප දැන් තිබේ, විශේෂයෙන් -f කොටස් නැංගුරම්, එක් සංකේතයකට සාපේක්ෂව ස්ථිතික වස්තූන් වෙත ප්‍රවේශය සිදු කිරීමට ඉඩ සලසයි; -mpai derations=n, 2 හි පෙරනිමියෙන් පරිපාටික වියුක්ත පුනරාවර්තන ගණන වෙනස් කිරීමට ඉඩ සලසයි; සහ, -mp- ඇමතුම් පිරිවැය- කෙටි ඇමතුම, වඩාත් ආක්‍රමණශීලී ක්‍රියා පටිපාටි සාරාංශයක් සිදු කරයි, සම්බන්ධකයාට දිගු ඇමතුම් ලිහිල් කළ හැකිය යන බලාපොරොත්තුවෙන්. යටින් පවතින උපකල්පන සාක්ෂාත් කර නොගන්නේ නම් මෙම අවසාන විකල්පය කේත ප්‍රමාණය වැඩි කළ හැක.

නව උපාංග සහාය පහත AVR කොටස් සඳහා සහය පවතී: AVR16DA28, AVR16DA32,
AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DB28, AVR128DB32, AVR128DB48, ABVR128, ABV64D.

ඉවත් කරන ලද උපාංග සහාය පහත AVR කොටස් සඳහා තවදුරටත් සහාය නොමැත: ATA5272, ATA5790, ATA5790N,ATA5791,ATA5795,ATA6285,ATA6286,ATA6612C,ATA6613C,ATA6614Q, ATA6616.

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

ශීර්ෂකය file සම්පාදක බිල්ට්-ඉන් සඳහා සම්පාදකයාට MISRA වැනි භාෂා පිරිවිතරයන්ට අනුකූල විය හැකි බව සහතික කිරීම සඳහා, ශීර්ෂකය file, විසින් ස්වයංක්‍රීයව ඇතුළත් කර ඇත , යාවත්කාලීන කර ඇත. මෙම ශීර්ෂයේ _buil tin _avrnop () සහ _buil tin_ avr delay_ cycles () වැනි සියලු අභ්‍යන්තර ක්‍රියාකාරකම් සඳහා මූලාකෘති අඩංගු වේ. සමහර ඉදි කිරීම් MISRA අනුකූල නොවිය හැක; සම්පාදක විධාන රේඛාවට define _Xe_ STRICT_ MISRA එකතු කිරීමෙන් මේවා මඟ හැරිය හැක. සවි කිරීම් සහ ඒවායේ ප්‍රකාශයන් ස්ථාවර පළල වර්ග භාවිතා කිරීමට යාවත්කාලීන කර ඇත.

අනුවාදය 2.20

නව උපාංග සහාය පහත AVR කොටස් සඳහා සහය පවතී: ATTINY1624, ATTINY1626, සහ ATTINY1627.

වඩා හොඳ හොඳම සුදුසු වෙන් කිරීම සම්පාදකයේ ඇති හොඳම යෝග්‍යතා විබෙදුම (BFA) වැඩිදියුණු කර ඇති අතර එමඟින් වඩා හොඳ ප්‍රශස්තකරණයට ඉඩ දෙන අනුපිළිවෙලකට කොටස් වෙන් කරනු ලැබේ. BFA දැන් නම් කරන ලද ලිපින අවකාශයන් සඳහා සහය දක්වන අතර දත්ත ආරම්භ කිරීම වඩා හොඳින් හසුරුවයි.

වැඩිදියුණු කළ පරිපාටිමය සාරාංශය ක්‍රියා පටිපාටි වියුක්ත ප්‍රශස්තිකරණය දැන් තවත් කේත අනුපිළිවෙලවල් මත සිදු කෙරේ. මෙම ප්‍රශස්තකරණය කේත ප්‍රමාණය වැඩි කළ හැකි පෙර අවස්ථා සම්බන්ධකයාගේ කසළ එකතු කිරීමේ ක්‍රියාවලිය පිළිබඳව ප්‍රශස්තිකරණ කේතය දැනුවත් කිරීම මගින් විසඳා ඇත.

AVR එකලස් කරන්නෙකු නොමැති වීම AVR එකලස් කරන්නා තවදුරටත් මෙම බෙදාහැරීම සමඟ ඇතුළත් නොවේ.

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

කිසිවක් නැත.

අනුවාදය 2.10

කේත ආවරණය මෙම නිකුතුවෙහි කේත ආවරණ විශේෂාංගයක් ඇතුළත් වන අතර එය ව්‍යාපෘතියක මූල කේතය ක්‍රියාත්මක කර ඇති ප්‍රමාණය විශ්ලේෂණය කිරීමට පහසුකම් සපයයි. එය සබල කිරීමට -mcodecov=ram විකල්පය භාවිතා කරන්න. ඔබගේ දෘඪාංගයේ වැඩසටහන ක්‍රියාත්මක කිරීමෙන් පසු, කේත ආවරණ තොරතුරු උපාංගය තුළ ගොනු කරනු ලබන අතර, මෙය කේත ආවරණ ප්ලගිනයක් හරහා MPLAB X IDE වෙත මාරු කර ප්‍රදර්ශනය කළ හැක. මෙම ප්ලගිනය පිළිබඳ තොරතුරු සඳහා IDE ප්‍රලේඛනය බලන්න ලබා ගත හැක. #pragma mcodecov ආවරණ විශ්ලේෂණයෙන් පසුකාලීන කාර්යයන් බැහැර කිරීමට භාවිතා කළ හැක. ඉතා මැනවින් ප්‍රයෝගය ආරම්භයේදී එකතු කළ යුතුය file එම සම්පූර්ණයෙන් බැහැර කිරීමට file ආවරණ විශ්ලේෂණයෙන්. විකල්පයක් ලෙස, විශේෂ කාර්යයක් ආවරණ විශ්ලේෂණයෙන් බැහැර කිරීමට ((mcodecov)) ගුණාංගය භාවිතා කළ හැක.

උපාංග විස්තරය files නව උපාංගයක් file avr chipinfo ලෙස හැඳින්වේ. html සම්පාදක බෙදාහැරීමේ ලේඛන නාමාවලියෙහි පිහිටා ඇත. මෙය file සම්පාදකය විසින් සහාය දක්වන සියලුම උපාංග ලැයිස්තුගත කරයි. උපාංගයේ නමක් මත ක්ලික් කරන්න, සහ එය එම උපාංගය සඳහා අවසර ලත් වින්‍යාස බිටු සැකසුම්/අගය යුගල පෙන්වන පිටුවක් විවෘත කරනු ඇත.amples.

කාර්ය පටිපාටි වියුක්ත කිරීම එකලස් කිරීමේ කේතයේ පොදු බ්ලොක් වෙනුවට එම බ්ලොක් එකේ උපුටා ගත් පිටපතකට ඇමතුම් ප්‍රතිස්ථාපනය කරන ක්‍රියා පටිපාටි වියුක්ත ප්‍රශස්තකරණයන්, සම්පාදකයට එකතු කර ඇත. මේවා වෙනම යෙදුමක් මගින් සිදු කරනු ලබන අතර, 2, 3 මට්ටම් හෝ ප්‍රශස්තකරණයන් තෝරාගැනීමේදී සම්පාදකයා විසින් ස්වයංක්‍රීයව ක්‍රියා කරයි. මෙම ප්‍රශස්තකරණයන් කේත ප්‍රමාණය අඩු කරයි, නමුත් ඒවා ක්‍රියාත්මක කිරීමේ වේගය සහ කේත නිදොස් කිරීමේ හැකියාව අඩු කරයි.
-mno-pa විකල්පය භාවිතයෙන් ක්‍රියාපටිපාටික සාරාංශය ඉහළ ප්‍රශස්තිකරණ මට්ටම් වලදී අක්‍රිය කළ හැකිය, නැතහොත් -mpa භාවිතයෙන් අඩු ප්‍රශස්තිකරණ මට්ටම් (ඔබේ බලපත්‍රයට යටත්ව) සක්‍රීය කළ හැක. වස්තුවක් සඳහා එය අක්රිය කළ හැක file -mno-pa-on- භාවිතා කරමින්file=file-mno-pa on function= ශ්‍රිතය භාවිතයෙන් ශ්‍රිතයක් සඳහා නම, හෝ අක්‍රීය කර ඇත.
ඔබගේ මූලාශ්‍ර කේතය තුළ, ශ්‍රිතයේ නිර්වචනය සමඟින් _attribute_ ((nopa)) භාවිතා කිරීමෙන් හෝ (nopa, noinline)) දක්වා ව්‍යාප්ත වන _nopa භාවිතා කිරීමෙන් ක්‍රියාපටිපාටික සාරාංශය ශ්‍රිතයක් සඳහා අක්‍රිය කළ හැකි අතර එමඟින් ශ්‍රිතය ඇතුළත් කිරීම සිදු වීම වළක්වයි. සහ පේළිගත කේතයේ සාරාංශයක් තිබීම.
ප්‍රග්මා හි අගුළු බිට් ආධාරක AVR අගුළු බිටු මෙන්ම අනෙකුත් වින්‍යාස බිටු නියම කිරීමට #pragma config දැන් භාවිතා කළ හැක. avr චිප් තොරතුරු පරීක්ෂා කරන්න. html file (ඉහත සඳහන් කර ඇත) මෙම ප්‍රයෝගය සමඟ භාවිතා කිරීමට සැකසීම්/අගය යුගල සඳහා.
නව උපාංග සහාය පහත කොටස් සඳහා සහය පවතී: 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

ඉහළ මට්ටමේ රියදුරු 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 පුස්තකාලයක් සෑදීමට හෝ හැසිරවීමට සමාන අර්ථකථන සහිත සමාන විකල්ප කට්ටලයක් භාවිතා කිරීමට ඉඩ දෙයි. file එබැවින් පුස්තකාලයාධිපතිවරයා කැඳවීමට නිර්දේශිත මාර්ගය වේ. ලෙගසි ව්‍යාපෘති සඳහා අවශ්‍ය නම්, පෙර පුස්තකාලයාධිපතිවරයා කලින් සම්පාදක අනුවාදවල පිළිගත් පැරණි මාදිලියේ විකල්ප භාවිතා කරමින් සෘජුවම ඇමතිය හැක.

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

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

අනුවාදය 2.40

කිසිවක් නැත.

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

කිසිවක් නැත.

අනුවාදය 2.36

කිසිවක් නැත.

අනුවාදය 2.35

නූල් සිට පාදයන් හැසිරවීම (XCS-2420) අනෙකුත් XC සම්පාදක සමඟ අනුකූලතාව සහතික කිරීම සඳහා, strtol () යනාදිය වැනි XC8 string-to ශ්‍රිතයන්, නිශ්චිතව දක්වා ඇති පාදය 36 ට වඩා විශාල නම්, ආදාන තන්තුවක් පරිවර්තනය කිරීමට තවදුරටත් උත්සාහ නොකරන අතර ඒ වෙනුවට EINVAL ලෙස errno සකසනු ඇත. මෙම පාදක අගය ඉක්මවා ගිය විට C ප්‍රමිතියෙන් ශ්‍රිතවල හැසිරීම සඳහන් නොවේ.

නුසුදුසු වේග ප්‍රශස්තිකරණය 3 මට්ටමේ ප්‍රශස්තකරණය (-03) තෝරාගැනීමේදී ක්‍රියාපටිපාටික වියුක්ත ප්‍රශස්තකරණයන් සක්‍රීය කර ඇත. මෙම ප්‍රශස්තකරණය කේත වේගයේ වියදමින් කේත ප්‍රමාණය අඩු කරයි, එබැවින් සිදු නොකළ යුතුය. මෙම ප්‍රශස්තිකරණ මට්ටම භාවිතා කරන ව්‍යාපෘති මෙම නිකුතුව සමඟ ගොඩනඟන විට කේත ප්‍රමාණයේ සහ ක්‍රියාත්මක කිරීමේ වේගයෙහි වෙනස්කම් දැකිය හැකිය.

පුස්තකාල ක්රියාකාරිත්වය බොහෝ සම්මත C පුස්තකාල ශ්‍රිතයන් සඳහා කේතය දැන් පැමිණෙන්නේ Microchip හි Unified Standard Library වෙතින් වන අතර, එය කලින් avr-libc පුස්තකාලය විසින් සපයන ලද ඒවාට සාපේක්ෂව සමහර තත්වයන් තුළ වෙනස් හැසිරීම් ප්‍රදර්ශනය කළ හැකිය. උදාහරණයක් ලෙසample, float-format specifier සඳහා ආකෘතිගත IO සහය සක්‍රිය කිරීමට lprintf_flt පුස්තකාලය (-print _flt විකල්පය) සම්බන්ධ කිරීම තවදුරටත් අවශ්‍ය නොවේ. Microchip Unified Standard Library හි ස්මාර්ට් IO විශේෂාංග මෙම විකල්පය අතිරික්ත කරයි. අතිරේකව, ෆ්ලෑෂ්හි const strings මත ක්‍රියා කරන තන්තු සහ මතක ක්‍රියාකාරකම් සඳහා (උදා: strcpy_P () etc .. ) _p උපසර්ග ක්‍රියාවලි භාවිතය තවදුරටත් අවශ්‍ය නොවේ. const-data-in-program-memory විශේෂාංගය සක්‍රීය කර ඇති විට සම්මත C චර්යාවන් (උදා: strcpy ()) එවැනි දත්ත සමඟ නිවැරදිව ක්‍රියා කරයි.

අනුවාදය 2.32

කිසිවක් නැත.

අනුවාදය 2.31

කිසිවක් නැත.

අනුවාදය 2.30

කිසිවක් නැත.

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

කිසිවක් නැත.

අනුවාදය 2.20

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

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

කිසිවක් නැත.

අනුවාදය 2.10

කිසිවක් නැත

අනුවාදය 2.05

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

අනුවාදය 2.00

වින්යාස ෆියුස් උපාංග වින්‍යාස ෆියුස් දැන් වින්‍යාස ප්‍රයෝගයක් භාවිතයෙන් ක්‍රමලේඛනය කළ හැකි අතර පසුව ෆියුස් තත්වය නියම කිරීමට අගය යුගල සැකසීමට හැකිය, උදා.
#pragma config WDT0N = SET
#pragma config B0DLEVEL = B0DLEVEL_4V3
නිරපේක්ෂ වස්තූන් සහ කාර්යයන් වස්තු සහ ශ්‍රිත දැන් CCI _at (ලිපින) විශේෂණය භාවිතයෙන් මතකයේ නිශ්චිත ලිපිනයක තැබිය හැක.ample: #ඇතුළත් int foobar at(Ox800100); char at(Ox250) ID ලබා ගන්න (int offset) { … } මෙම පිරිවිතරයේ තර්කය පළමු බයිටය හෝ උපදෙස් ලබා දෙන ලිපිනය නියෝජනය කරන නියතයක් විය යුතුය. RAM ලිපින 0x800000 හි ඕෆ්සෙට් භාවිතා කිරීම මගින් දැක්වේ. මෙම විශේෂාංගය භාවිතා කිරීමට CCI සබල කරන්න.
නව බාධාකාරී ක්‍රියාකාරී වාක්‍ය ඛණ්ඩය C ශ්‍රිතයන් බාධාකාරී හසුරුවන්නක් බව දැක්වීමට සම්පාදකය දැන් CCI බාධා කිරීම් (num) විශේෂණය පිළිගනී. නිශ්චයකයා බාධා අංකයක් ගනී, උදාample: #ඇතුළත් void interrupt(SPI STC_ vect _num) spi Isr(ශුන්‍ය) {…}

ස්ථාවර ගැටළු

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

උපාංගය හා සම්බන්ධ උපාංග Family Pack (DFP) තුළ සමහර උපාංග විශේෂිත ගැටළු නිවැරදි කර ඇති බව සලකන්න. DFPs වෙත සිදු කරන ලද වෙනස්කම් පිළිබඳ තොරතුරු සහ නවතම ඇසුරුම් බාගත කිරීම සඳහා MPLAB ඇසුරුම් කළමනාකරු බලන්න.

අනුවාදය 2.40

ඉතා ලිහිල් (XCS-2876) -mrelax විකල්පය භාවිතා කරන විට, සම්පාදකය සමහර කොටස් එකට වෙන් නොකළ අතර, ප්‍රශස්ත කේත ප්‍රමාණය අඩු විය. මෙය නව MUSL පුස්තකාල භාවිතා කළ කේතය හෝ දුර්වල සංකේත සමඟ සිදු වන්නට ඇත.
අනතුරු ඇඟවීමේ (XCS-2875) දක්වා ඇති පරිදි සිතියම්කරණ විශේෂාංගය අක්‍රිය කර නැත Cost-data-in-config mappedprogmem විශේෂාංගය සක්‍රීය කර ඇති cost-data-in-proem විශේෂාංගය මත රඳා පවතී. විකල්පය භාවිතයෙන් cost-data-ipconfig-mapped-proem විශේෂාංගය පැහැදිලිව සක්‍රීය කර ඇත්නම් සහ cost-data-inprogmem විශේෂාංගය අක්‍රිය කර ඇත්නම්, අවාසි දත්ත-වින්‍යාසගත-සිතියම් කර ඇති බවට අනතුරු ඇඟවීමේ පණිවිඩයක් තිබියදීත්, සබැඳි පියවර අසාර්ථක විය. proem විශේෂාංගය ස්වයංක්‍රීයව අක්‍රිය කර ඇත, එය සම්පූර්ණයෙන්ම නිවැරදි නොවේ. මෙම තත්ත්වය තුළ const-data-in-config-mapped-proem විශේෂාංගය දැන් සම්පූර්ණයෙන්ම අක්‍රිය කර ඇත.
NVMCTRL (XCS-2848) නිවැරදිව ප්‍රවේශ වීමට DFP වෙනස් කරයි AVR64EA උපාංග විසින් භාවිතා කරන ධාවන කාල ආරම්භක කේතය NVMCTRL ලේඛනය වින්‍යාස වෙනස් කිරීමේ ආරක්ෂාව (CCP) යටතේ ඇති බව සැලකිල්ලට නොගත් අතර const-data-in configmapped-proem compiler විසින් භාවිතා කරන පිටුවට IO SFR සැකසීමට නොහැකි විය. විශේෂාංගය. AVR-Ex_DFP අනුවාදය 2.2.55 හි සිදු කරන ලද වෙනස්කම් ධාවන කාල ආරම්භක කේතයට මෙම ලේඛනයට නිවැරදිව ලිවීමට ඉඩ සලසයි.
ෆ්ලෑෂ් සිතියම්කරණය වැළැක්වීම සඳහා DFP වෙනස් කිරීම් (XCS-2847) AVR128DA28/32/48/64 Silicon Errata (DS80000882) හි වාර්තා කර ඇති ෆ්ලෑෂ් සිතියම්කරණ උපාංග විශේෂාංගය සමඟ ඇති ගැටලුවක් සඳහා ක්‍රියාවක් ක්‍රියාත්මක කර ඇත. const-data-in-config-mapped-proem compiler විශේෂාංගය බලපෑමට ලක් වූ උපාංග සඳහා පෙරනිමියෙන් යොදනු නොලැබේ, සහ මෙම වෙනස AVR-Ex_DFP අනුවාදය 2.2.160 හි දිස්වනු ඇත.
sinhf හෝ coshf (XCS-2834) සමඟ දෝෂයක් ගොඩනැගීම sinhf () හෝ coshf () පුස්තකාල ශ්‍රිත භාවිතා කිරීමට ගත් උත්සාහයේ ප්‍රතිඵලයක් ලෙස, නිර්වචනය නොකළ යොමුවක් විස්තර කරමින් සබැඳි දෝෂයක් ඇති විය. යොමු කර ඇති නැතිවූ ශ්‍රිතය දැන් සම්පාදක ව්‍යාප්තියට ඇතුළත් කර ඇත.
නෝපා (XCS-2833) සමඟ දෝෂ ගොඩනැගීම එකලස් කරන්නාගේ නම () ලෙස සඳහන් කර ඇති ශ්‍රිතයක් සමඟ nopa උපලක්ෂණයක් භාවිතා කිරීම, Assembler වෙතින් දෝශ පණිවිඩ අවුලුවා ඇත. මෙම සංයෝජනය කළ නොහැක.
දර්ශක තර්ක සමඟ විවිධ ශ්‍රිත අසාර්ථකත්වය (XCS-2755, XCS-2731) විචල්‍ය විස්තාරක සංඛ්‍යාවක් සහිත ශ්‍රිතයන්, cost-data-in-proem විශේෂාංගය සක්‍රීය කර ඇති විට, විචල්‍ය තර්ක ලැයිස්තුවේ 24-bit (_memo වර්ගය) දර්ශක සම්මත කිරීමට අපේක්ෂා කරයි. දත්ත මතකයට දර්ශක වූ තර්ක 16-බිට් වස්තු ලෙස සම්මත වන අතර අවසානයේ ඒවා කියවන විට කේත අසාර්ථක විය. cons data-in-proem විශේෂාංගය සක්‍රීය කර ඇති විට, සියලුම 16-bit පොයින්ටර් තර්ක දැන් 24-bit pointer බවට පරිවර්තනය වේ. strtoxxx පුස්තකාල ශ්‍රිතයන් අසාර්ථක වේ (XCS-2620) const-data-in-proem විශේෂාංගය සක්‍රීය කර ඇති විට, strtoxxx පුස්තකාල ශ්‍රිතවල ඇති enter පරාමිතිය වැඩසටහන් මතකයේ නොමැති මූලාශ්‍ර තන්තු තර්ක සඳහා නිසි ලෙස යාවත්කාලීන කර නොමැත.
වලංගු නොවන වාත්තු සඳහා ඇඟවීම් (XCS-2612) ප්‍රොම් හි පිරිවැය විශේෂාංගය සක්‍රීය කර ඇත්නම් සහ තන්තුවක ලිපිනය පැහැදිලිවම දත්ත ලිපින අවකාශයට (const qualifier අතහැරීම) යොමු කරන්නේ නම්, සම්පාදකය දැන් දෝෂයක් නිකුත් කරනු ඇත.ample, (uint8 t *) "Hello World!". const දත්ත දර්ශකයක් පැහැදිලිවම දත්ත ලිපින අවකාශය වෙත යොමු කරන විට ලිපිනය අවලංගු විය හැකි නම් අනතුරු ඇඟවීමක් නිකුත් වේ.
ආරම්භ නොකළ const වස්තූන් ස්ථානගත කිරීම (XCS-2408) ඔවුන්ගේ වැඩසටහන් මතකයේ සම්පූර්ණ හෝ කොටසක් දත්ත ලිපින අවකාශයට සිතියම් ගත කරන උපාංගවල ආරම්භ නොකළ const සහ const v olatile objects වැඩසටහන් මතකයේ තබා නොතිබුණි. මෙම උපාංග සඳහා, එවැනි වස්තූන් දැන් වැඩසටහන් මතකයේ තබා ඇති අතර, ඒවායේ ක්රියාකාරිත්වය අනෙකුත් උපාංග සමඟ අනුකූල වේ.

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

කිසිවක් නැත.

අනුවාදය 2.36

ප්‍රමාද කිරීමේදී දෝෂය (XCS-2774) පෙරනිමි නිදහස් ප්‍රකාර ප්‍රශස්තිකරණයේ සුළු වෙනස්කම් ප්‍රමාද බිල්ට් ශ්‍රිතවලට ඔපෙරාන්ඩ් ප්‍රකාශන නිරන්තරයෙන් නැමීම වළක්වන අතර, ප්‍රතිඵලයක් ලෙස ඒවා සම්බන්ධතා නොවන ඒවා ලෙස සලකනු ලබන අතර දෝෂය අවුලුවයි: _buil tin avr delay_cycles ac ompile අපේක්ෂා කරයි. කාල නිඛිල නියතය.

අනුවාදය 2.35

_at (XCS-2653) භාවිතා කරමින් අඛණ්ඩව වෙන් කිරීම එකම නම සහිත කොටසක බහු වස්තු ස්ථාන අඛණ්ඩව වෙන් කිරීම සහ () හි භාවිතා කිරීම නිවැරදිව ක්‍රියා කළේ නැත. උදාහරණයක් ලෙසample: constchararrl [ ] at tributte ((“. misses”))) at (Ox50 0 ) = {Oxo , Ox CD} ; පිරිවැය char arr2[ ] at tributte ((section(“.my s eke”))) = {Oxen, Ox FE}; aril පසු වහාම arr2 තැබිය යුතුය.
කොටස් ආරම්භක ලිපින සඳහන් කරමින් (XCS-2650) -Wal, –section-start විකල්පය නම් කරන ලද ආරම්භක ලිපිනයෙහි කොටස් තැබීමට නිහඬව අසමත් විය. ඕනෑම අභිරුචි නම් කරන ලද කොටස් සඳහා මෙම ගැටළුව විසඳා ඇත; කෙසේ වෙතත්, එය වැනි කිසිදු සම්මත අංශයක් සඳහා ක්‍රියා නොකරනු ඇත. පෙළ හෝ . bss, එය -Wl, -T විකල්පය භාවිතයෙන් තැබිය යුතුය.
ලිහිල් කරන විට සම්බන්ධකය කඩා වැටේ (XCS-2647) -relax ප්‍රශස්තිකරණය සක්‍රීය කර ඇති විට සහ පවතින මතකයට නොගැලපෙන කේත හෝ දත්ත කොටස් තිබූ විට, සම්බන්ධකය බිඳ වැටුණි. දැන්, එවැනි තත්වයක් තුළ, ඒ වෙනුවට දෝෂ පණිවිඩ නිකුත් කරනු ලැබේ.
නරක EEPROM ප්‍රවේශය (XCS-2629) -monist-data-in-proem විකල්පය සක්‍රීය කර ඇති විට leproma _read_ block routine Mega උපාංගවල නිවැරදිව ක්‍රියා නොකළේය (එය පෙරනිමි තත්ත්වය වේ), එහි ප්‍රතිඵලයක් ලෙස EEPROM මතකය නිවැරදිව කියවීමට නොහැකි විය.
වලංගු නොවන මතක වෙන් කිරීම (XCS-2593, XCS-2651) විට -Text හෝ -Tata සම්බන්ධක විකල්පය (උදාample passed through a -Wl driver option) නිශ්චිතව දක්වා ඇත, අනුරූප පෙළ/දත්ත කලාපයේ සම්භවය යාවත්කාලීන කරන ලදී; කෙසේ වෙතත්, අවසාන ලිපිනය ඒ අනුව සකස් නොකළ අතර, එමඟින් කලාපය ඉලක්කගත උපාංගයේ මතක පරාසය ඉක්මවා යාමට හේතු විය හැක.
වලංගු නොවන ATtiny බාධා කේතය (XCS-2465) Tatin උපාංග සඳහා තැනීමේදී සහ ප්‍රශස්තිකරණයන් අක්‍රිය කර ඇති විට (-00), බාධා කිරීමේ ක්‍රියාකාරකම් මඟින් ඔපෙරාන්ඩ් පරාසයෙන් පිටත එකලස් කිරීමේ පණිවිඩ ක්‍රියාරම්භ කර ඇත.
විකල්ප සම්මත නොවේ (XCS-2452) බහුවිධ, කොමාවෙන් වෙන් වූ සම්බන්ධක විකල්ප සමඟ -Wl විකල්පය භාවිතා කරන විට, සම්බන්ධක විකල්ප සියල්ලම සම්බන්ධකය වෙත ලබා නොදෙන ලදී.
වැඩසටහන් මතකය වක්‍රව කියවීමේ දෝෂයකි (XCS-2450) සමහර අවස්ථා වලදී, සම්පාදනය කරන්නා විසින් පොයින්ටරයක සිට ක්‍රමලේඛන මතකය දක්වා බයිට් දෙකක අගයක් කියවන විට අභ්‍යන්තර දෝෂයක් (හඳුනාගත නොහැකි insn) ඇති විය.

අනුවාදය 2.32

පුස්තකාලයේ දෙවන ප්‍රවේශය අසාර්ථකයි (XCS-2381) xc8-ar හි වින්ඩෝස් අනුවාදය ඉල්ලා සිටීම. exe library archiver දෙවන වරටත් පවතින පුස්තකාල සංරක්ෂිතයකට ප්‍රවේශ වීම දෝෂ පණිවිඩය නැවත නම් කිරීමට නොහැකි වීමත් සමඟ අසාර්ථක විය හැක.

අනුවාදය 2.31

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

අනුවාදය 2.30

දළ සටහන් කිරීමෙන් පසු ගෝලීය ලේබල් අස්ථානගත වී ඇත (XCS-2299) ක්‍රියා පටිපාටිමය සාරාංශය මගින් සාධක කර ඇති එකලස් කිරීමේ අනුපිළිවෙලවල් තුළ ගෝලීය ලේබල් ස්ථානගත කරන අතින් ලියන ලද එකලස් කිරීමේ කේතය නිවැරදිව නැවත ස්ථානගත කර නොතිබිය හැකිය.
විවේකී අනතුරක් (XCS-2287) ටේල් ජම්ප් ලිහිල් කිරීමේ ප්‍රශස්තකරණයන් කොටසක අවසානයේ නොමැති රෙට් උපදෙස් ඉවත් කිරීමට උත්සාහ කළ විට -merlad විකල්පය භාවිතා කිරීම සම්බන්ධකය බිඳ වැටීමට හේතු විය හැක.
ලේබල් අගයන් ලෙස ප්‍රශස්ත කරන විට බිඳ වැටේ (XCS-2282) "අගය ලෙස ලේබල්" භාවිතා කරන කේතය GNU C භාෂා දිගුව මඟින් ක්‍රියා පටිපාටි වියුක්ත ප්‍රශස්තකරණයන් බිඳ වැටීමට හේතු විය හැක, ගෙනහැර දක්වන ලද VMA පරාසයක විහිදුනු නිවැරදි කිරීමේ දෝෂයක් සමඟ.
එතරම් අඩු නොවේ (XCS-2271) ආරම්භක () සහ අනෙකුත් කාර්යයන් සඳහා මූලාකෘති -monist-data inprogmem විශේෂාංගය අක්‍රිය කර ඇති විට ආපසු ලබා දුන් string pointer හි සම්මත නොවන පිරිවැය සුදුසුකම් තවදුරටත් සඳහන් නොකරන්න. avrxmega3 සහ avertin උපාංග සමඟ, මෙම විශේෂාංගය ස්ථිරවම සක්‍රීය කර ඇති බව සලකන්න.
නැතිවූ ආරම්භක (XCS-2269) පරිවර්තන ඒකකයක විචල්‍ය එකකට වඩා වැඩි කොටසක් කොටසක තැබූ විට (කොටස හෝ උපලක්ෂණ ((කොටස)) භාවිතා කරමින්), සහ එවැනි පළමු විචල්‍යය ශුන්‍ය ආරම්භක හෝ ආරම්භකයක් නොමැති විට, එම පරිවර්තන ඒකකයේ අනෙකුත් විචල්‍යයන් සඳහා ආරම්භක එම කොටසේම තැබූ ඒවා නැති විය.

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

කිසිවක් නැත.

අනුවාදය 2.20

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

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

කිසිවක් නැත.

අනුවාදය 2.10

නැවත ස්ථානගත කිරීමේ අසාර්ථකත්වය (XCS-1891) හොඳම යෝග්‍ය විබෙදුම්කරු වූයේ සම්බන්ධක ලිහිල් කිරීමෙන් පසු කොටස් අතර මතක 'සිදුරු' තැබීමයි. මතකය ඛණ්ඩනය කිරීම හැරුණු විට, මෙය pc-සාපේක්ෂ පැනීම් හෝ ඇමතුම් පරාසයෙන් බැහැර වීම සම්බන්ධ සම්බන්ධක නැවත ස්ථානගත කිරීමේ අසාර්ථක වීමේ හැකියාව වැඩි කළේය.
උපදෙස් ලිහිල් කිරීමෙන් පරිවර්තනය නොවේ (XCS-1889) ලිහිල් කළහොත් ඉලක්ක වෙත ළඟා විය හැකි පැනීම හෝ ඇමතුම් උපදෙස් සඳහා සම්බන්ධක ලිහිල් කිරීමක් සිදු නොවීය.
අතුරුදහන් ක්‍රියාකාරීත්වය (XCSE-388) සිට අර්ථ දැක්වීම් කිහිපයක් , clock_ div_t සහ clock_prescale_set () වැනි ATmega324PB, ATmega328PB, ATtiny441, සහ ATtiny841 ඇතුළු උපාංග සඳහා අර්ථ දක්වා නැත.
මැක්‍රෝස් අතුරුදහන් preprocessor macros_ xcs _MODE_, _xcs VERSION, _xc, සහ xcs සම්පාදකයා විසින් ස්වයංක්‍රීයව අර්ථ දක්වා නැත. මේවා දැන් තිබේ.

අනුවාදය 2.05

අභ්‍යන්තර සම්පාදක දෝෂය (XCS-1822) වින්ඩෝස් යටතේ ගොඩනැගීමේදී, කේතය ප්‍රශස්ත කිරීමේදී අභ්‍යන්තර සම්පාදක දෝෂයක් ඇති විය හැක.
RAM පිටාර ගැලීම අනාවරණය නොවීය (XCS-1800, XCS-1796) පවතින RAM ප්‍රමාණය ඉක්මවන වැඩසටහන් සමහර අවස්ථා වලදී සම්පාදකයා විසින් අනාවරණය කර නොගත් අතර, එහි ප්‍රතිඵලයක් ලෙස ධාවන කාල කේතය අසාර්ථක විය.
අතහැර දැමූ ෆ්ලෑෂ් මතකය (XCS-1792) avrxmega3 සහ avrtiny උපාංග සඳහා, ෆ්ලෑෂ් මතකයේ කොටස් MPLAB X IDE මඟින් වැඩසටහන්ගත නොකර තබා තිබිය හැක.
ප්රධාන (XCS-1788) ක්රියාත්මක කිරීමට අසමත් වීම වැඩසටහනට ගෝලීය විචල්‍යයන් නිර්වචනය කර නොමැති සමහර අවස්ථාවන්හිදී, ධාවන කාල ආරම්භක කේතය පිටව නොගිය අතර ප්‍රධාන () ශ්‍රිතය කිසි විටෙකත් ළඟා නොවීය.
වැරදි මතක තොරතුරු (XCS-1787) avrxmega3 සහ avrtiny උපාංග සඳහා, avr-size වැඩසටහන මඟින් වැඩසටහන් මතකය වෙනුවට කියවීමට පමණක් දත්ත RAM පරිභෝජනය කරන බව වාර්තා කරයි.
වැරදි වැඩසටහන් මතක කියවීම (XCS-1783) දත්ත ලිපින අවකාශයට සිතියම්ගත කර ඇති ක්‍රමලේඛ මතකය සහිත උපාංග සඳහා සම්පාදනය කරන ලද ව්‍යාපෘති සහ PROGMEM macro/attribute භාවිතයෙන් වස්තු නිර්වචනය කරන මෙම වස්තු වැරදි ලිපිනයකින් කියවා තිබිය හැක.
ගුණාංග සහිත අභ්‍යන්තර දෝෂ (XCS-1773) ඔබ පොයින්ටර් වස්තු නිර්වචනය කළේ නම් අභ්‍යන්තර දෝෂයක් ඇති විය
_at () හෝ attribute() Tokens in the pointer name and dereferenced type, ex for example, char *
_at (0x80015 0) cp; එවැනි කේතයක් හමු වුවහොත් දැන් අනතුරු ඇඟවීමක් නිකුත් කෙරේ.
ප්‍රධාන ක්‍රියාත්මක කිරීමට අපොහොසත් වීම (XCS-1780, XCS-1767, XCS-1754) EEPROM විචල්‍යයන් භාවිතා කිරීම හෝ වින්‍යාස ප්‍රයෝගය භාවිතයෙන් ෆියුස් නිර්වචනය කිරීම ප්‍රධාන () වෙත ළඟා වීමට පෙර, ධාවන කාල ආරම්භක කේතයේ වැරදි දත්ත ආරම්භ කිරීම සහ/හෝ අගුලු දමා ඇති වැඩසටහන් ක්‍රියාත්මක කිරීමට හේතු විය හැක.
කුඩා උපාංග සමඟ ෆියුස් දෝෂය (XCS-1778, XCS-1742) attiny4/5/9/10/20/40 උපාංගවල ශීර්ෂයේ දක්වා ඇති වැරදි ෆියුස් දිගක් තිබුණි fileෆියුස් නිර්වචනය කරන ලද කේතය තැනීමට උත්සාහ කිරීමේදී සම්බන්ධක දෝෂ වලට තුඩු දෙන s.
ඛණ්ඩනය කිරීමේ දෝෂය (XCS-1777) කඩින් කඩ ඛණ්ඩනය කිරීමේ දෝෂයක් නිවැරදි කර ඇත.
එකලස් කිරීමේ බිඳවැටීම (XCS-1761) compiler Ubuntu 18 යටතේ ක්‍රියාත්මක වන විට avr-as assembler එක කඩා වැටෙන්නට ඇත.
නිෂ්කාශනය නොකළ වස්තු (XCS-1752) ආරම්භ නොකළ ස්ථිතික ගබඩා කාල වස්තු ධාවන කාල ආරම්භක කේතය මගින් ඉවත් කර නොතිබිය හැකිය.
ගැටුම්කාරී උපාංග පිරිවිතර නොසලකා හරින ලදී (XCS-1749) බහු උපාංග පිරිවිතර විකල්ප භාවිතා කරන විට සහ විවිධ උපාංග දක්වන විට සම්පාදකය දෝෂයක් ජනනය කළේ නැත.
ගොඩ අනුව මතක දූෂණය (XCS-1748) ගොඩ_ආරම්භක සංකේතය වැරදි ලෙස සකසා ඇති අතර, එහි ප්‍රතිඵලයක් ලෙස සාමාන්‍ය විචල්‍යයන් ගොඩ මගින් දූෂිත වීමට ඉඩ ඇත.
සම්බන්ධක නැවත ස්ථානගත කිරීමේ දෝෂය (XCS-1739) හරියටම බයිට් 4ක් දුරින් ඉලක්කයක් සහිත rjmp හෝ rcall කේතයක් අඩංගු වූ විට සම්බන්ධක නැවත ස්ථානගත කිරීමේ දෝෂයක් නිකුත් වී තිබිය හැක.

අනුවාදය 2.00

කිසිවක් නැත.

දන්නා ගැටළු

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

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

MPLAB IDE ඒකාබද්ධ කිරීම MPLAB IDE වෙතින් Compiler භාවිතා කිරීමට අවශ්‍ය නම්, Compiler ස්ථාපනය කිරීමට පෙර ඔබ MPLAB IDE ස්ථාපනය කළ යුතුය.

කේත උත්පාදනය

PA මතක වෙන්කිරීමේ අසාර්ථකත්වය (XCS-2881) ක්‍රියා පටිපාටි වියුක්ත ප්‍රශස්තකාරක භාවිතා කරන විට, වැඩසටහන පවතින ඉඩ ප්‍රමාණයට සරිලන සේ තිබිය යුතු වුවද, කේත ප්‍රමාණය උපාංගයේ පවතින වැඩසටහන් මතක ප්‍රමාණයට ආසන්න වන විට සම්බන්ධකය විසින් මතක වෙන් කිරීමේ දෝෂ වාර්තා කළ හැක.
එතරම් ස්මාර්ට් නොවන Smart-IO (XCS-2872) Cost-data-in-proem විශේෂාංගය අක්‍රිය කර ඇත්නම් හෝ උපාංගය එහි සියලුම ෆ්ලෑෂ් දත්ත මතකයට සිතියම්ගත කර ඇත්නම්, සම්පාදකයාගේ ස්මාර්ට්-io විශේෂාංගය ස්ප්‍රින්ට් ක්‍රියාකාරිත්වය සඳහා වලංගු නමුත් උප ප්‍රශස්ත කේතයක් ජනනය කරයි.
ඊටත් වඩා අඩු ස්මාර්ට් Smart-IO (XCS-2869) -floe සහ -fno-buil tin විකල්ප දෙකම භාවිතා කරන විට compiler හි smart-io විශේෂාංගය වලංගු නමුත් උපප්‍රශස්ත කේතයක් ජනනය කරනු ඇත.
උපප්‍රශස්ත කියවීමට පමණක් දත්ත ස්ථානගත කිරීම (XCS-2849) සම්බන්ධකයා දැනට APPCODE සහ APPDATA මතක කොටස් හෝ මතක සිතියමේ [No-]කියවන අතරතුර-ලියන බෙදීම් ගැන දන්නේ නැත. එහි ප්‍රතිඵලයක් වශයෙන්, ලින්ක්කරුට මතකයේ නුසුදුසු ප්‍රදේශයක කියවීමට පමණක් දත්ත වෙන් කිරීමට කුඩා අවස්ථාවක් තිබේ. coast-data-in-pragma විශේෂාංගය සබල කර ඇත්නම්, විශේෂයෙන්ම coast-data-in-config-mapped-proem විශේෂාංගය සක්‍රීය කර ඇත්නම්, අස්ථානගත වූ දත්තවල අවස්ථාව වැඩි වේ. අවශ්‍ය නම් මෙම විශේෂාංග අක්‍රිය කළ හැක.
වස්තුව file සැකසුම් ඇණවුම (XCS-2863) වස්තූන් ඇති අනුපිළිවෙල fileසම්බන්ධකය විසින් සකසනු ලැබේ පරිපාටිමය වියුක්ත ප්‍රශස්තකරණය (-mpa විකල්පය) භාවිතය මත පදනම්ව වෙනස් විය හැක. මෙය බලපානුයේ බහු මොඩියුල හරහා දුර්වල ක්‍රියාකාරකම් නිර්වචනය කරන කේතයට පමණි.
නිරපේක්ෂ (XCS-2777) සමඟ සම්බන්ධක දෝෂය RAM ආරම්භයේ ලිපිනයක වස්තුවක් නිරපේක්ෂ කර ඇති විට සහ ආරම්භ නොකළ වස්තූන් ද අර්ථ දක්වා ඇති විට, සම්බන්ධක දෝෂයක් ඇති විය හැක.
කෙටි අවදි ID (XCS-2775) ATA5700/2 උපාංග සඳහා, PHID0/1 රෙජිස්ටර් අර්ථ දක්වා ඇත්තේ බිටු 16 පළලට වඩා බිටු 32ක් පළල ලෙස පමණි.
සංකේතය (XCS-2758) ඇමතීමේදී සම්බන්ධකය බිඳ වැටේ මූලාශ්‍ර කේතය -Wl, –defsym ලින්කර් විකල්පය භාවිතයෙන් අර්ථ දක්වා ඇති සංකේතයක් ඇමතීමේ දී -merlad ධාවක විකල්පය භාවිතා කරන්නේ නම් සම්බන්ධකය බිඳ වැටිය හැක.
වැරදි ආරම්භ කිරීම (XCS-2679) සමහර ගෝලීය/ස්ථිතික බයිට් ප්‍රමාණයේ වස්තු සඳහා මූලික අගයන් දත්ත මතකයේ තබා ඇති ස්ථානය සහ ධාවන වේලාවේදී විචල්‍යයන් වෙත ප්‍රවේශ වන ස්ථානය අතර විෂමතාවයක් ඇත.
ආරම්භය වැරදි ලෙස හිස් කරයි (XCS-2652) ප්‍රකාශිත () මඟින් පරිවර්තනය කිරීම සඳහා විෂය තන්තුවක ඝාතීය ආකෘතියේ පාවෙන ලක්ෂ්‍ය අංකයක් ලෙස පෙනෙන දේ අඩංගු වන අතර ඊ අක්ෂරයකට පසු අනපේක්ෂිත අක්ෂරයක් ඇති අවස්ථාවන්හිදී, හිස් ලිපිනය, සපයා ඇත්නම්, පසුව අක්ෂරයට යොමු කෙරේ. ඊ මිස ඊ ම නොවේ. උදාහරණයක් ලෙසample: ප්රකාශිත ("හූයි", හිස්); x අක්ෂරය වෙත හිස් යොමු කිරීමක් සිදු වේ.
නරක වක්‍ර ක්‍රියාකාරී ඇමතුම් (XCS-2628) සමහර අවස්ථාවලදී, ව්‍යුහයක කොටසක් ලෙස ගබඩා කර ඇති ශ්‍රිත දර්ශකයක් හරහා සිදු කරන ලද ක්‍රියාකාරී ඇමතුම් අසාර්ථක විය හැක.
strtof ෂඩ් දශම පාවෙන සඳහා ශුන්‍යය ලබා දෙයි (XCS-2626) පුස්තකාල ශ්‍රිත strtof () et al සහ scanf () et al, සෑම විටම ඝාතකයක් සඳහන් නොකරන ෂඩාස්‍ර පාවෙන ලක්ෂ්‍ය අංකයක් පරිවර්තනය කරයි.
ශුන්ය. උදාහරණයක් ලෙසample: stator ("බකමූණ", & හිස්); 0 නොව 1 අගය ලබා දෙනු ඇත.
සාවද්‍ය තොග උපදේශක පණිවිඩ යැවීම (XCS-2542, XCS-2541) සමහර අවස්ථා වලදී, භාවිතා කරන ලද පුනරාවර්තනය හෝ අවිනිශ්චිත තොගය (සමහර විට alloca() භාවිතය හරහා) සම්බන්ධ අට්ටි උපදේශක අනතුරු ඇඟවීම නිකුත් නොකෙරේ.
අනුපිටපත් බාධා කේතය සමඟ අසමත් වීම (XCS-2421) එක් බාධාකාරී ශ්‍රිතයකට වඩා එකම ශරීරයක් ඇති විට, සම්පාදකයට එක් බාධාකාරී ශ්‍රිතයක් අනෙකට ඇමතීමේ ප්‍රතිදානය තිබිය හැක. මෙහි ප්‍රතිඵලයක් ලෙස සියලුම ඇමතුම්-ක්ලෝබර්ඩ් රෙජිස්ටර් අනවශ්‍ය ලෙස සුරැකෙනු ඇති අතර, කේත අසාර්ථක වීමට හේතු විය හැකි වත්මන් බාධා කිරීම් හසුරුවන්නාගේ කථාංගය ක්‍රියාත්මක වීමට පෙර පවා බාධා කිරීම් සක්‍රීය වනු ඇත.
වැඩසටහන් මතකයේ නැති Const objects (XCS-2408) avrxmega3 සහ avertins ව්‍යාපෘති සඳහා unidealized const objects දත්ත මතකය තුළට දමනු ලැබේ, අනතුරු ඇඟවීමක් මඟින් ඒවා වැඩසටහන් මතකයේ තැන්පත් කර ඇති බව ඇඟවුම් කරයි. මෙය දත්ත මතක අවකාශයට සිතියම්ගත කර ඇති ක්‍රමලේඛ මතකය නොමැති උපාංගවලට බලපාන්නේ නැත, එය ආරම්භ කරන ලද කිසිදු වස්තුවකට බලපාන්නේ නැත.
වලංගු නොවන DFP මාර්ගයක් සහිත නරක ප්‍රතිදානය (XCS-2376) සම්පාදකය වලංගු නොවන DFP මාර්ගයක් සහ 'විශේෂයක්' සමඟ ක්‍රියා කරන්නේ නම් file තෝරාගත් උපාංගය සඳහා පවතී, සම්පාදකය අතුරුදහන් උපාංග පවුල් ඇසුරුම වාර්තා නොකරන අතර ඒ වෙනුවට 'විශේෂය' තෝරා ගනී file, පසුව අවලංගු ප්‍රතිදානයකට තුඩු දිය හැක. 'විශේෂය' fileබෙදා හරින ලද DFP සමඟ යාවත්කාලීන නොවිය හැකි අතර අභ්‍යන්තර සම්පාදක පරීක්ෂණ සමඟ පමණක් භාවිතා කිරීමට අදහස් කරන ලදී.
මතක අතිච්ඡාදනය අනාවරණය නොවීය (XCS-1966) සම්පාදකයා විසින් ලිපිනයක (() හරහා) නිරපේක්ෂ කරන ලද වස්තු වල මතක අතිච්ඡාදනය සහ () විශේෂණය භාවිතා කරන අනෙකුත් වස්තු සහ එම ලිපිනයටම සම්බන්ධ කර ඇති බව අනාවරණය නොවේ.
පුස්තකාල කාර්යයන් සහ _meme (XCS-1763) සමඟ අසමත් වීම _memo ලිපින අවකාශයේ තර්කයක් සහිත ලිම්බික් පාවෙන ශ්‍රිතයන් අසාර්ථක විය හැක. පුස්තකාල චර්යාවන් සමහර C ක්‍රියාකරුවන්ගෙන් කැඳවනු ලබන බව සලකන්න, උදාහරණයක් ලෙසample, පහත කේතය බලපායි: regFloatVar > memxFloatVar ආපසු දෙන්න;
සීමිත ලිම්බික් ක්‍රියාත්මක කිරීම (AVRTC-731) ATTiny4/5/9/10/20/40 නිෂ්පාදන සඳහා, limbic හි සම්මත C / Math පුස්තකාලය ක්‍රියාත්මක කිරීම ඉතා සීමිත හෝ නොපවතී.
වැඩසටහන් මතක සීමාවන් (AVRTC-732) 128 kb ට වැඩි වැඩසටහන් මතක රූප සඳහා මෙවලම් දාමය මඟින් සහය දක්වයි; කෙසේ වෙතත්, -relax විකල්පය භාවිතා කරන විට අවශ්‍ය ශ්‍රිත අංකුර උත්පාදනය කරනවාට වඩා ලිහිල් කිරීමකින් තොරව සහ ප්‍රයෝජනවත් දෝෂ පණිවිඩයකින් තොරව සම්බන්ධකය ගබ්සා වන අවස්ථා දන්නා අවස්ථා තිබේ.
අවකාශ සීමාවන් නම් කරන්න (AVRTC-733) නම් කරන ලද ලිපින අවකාශයන් භාවිතා කරන්නාගේ මාර්ගෝපදේශ කොටසේ විශේෂ ආකාරයේ සුදුසුකම් වල සඳහන් සීමාවන්ට යටත්ව මෙවලම් දාමය මගින් සහය දක්වයි.
කාල කලාප එම පුස්තකාල ශ්‍රිතයන් GMT උපකල්පනය කරන අතර ප්‍රාදේශීය වේලා කලාප සඳහා සහය නොදක්වයි, එබැවින් දේශීය වේලාව () gummite () ලෙස එකම වේලාව නැවත ලබා දෙනු ඇත.ample.

පාරිභෝගික සහාය

file///යෙදුම්/microehipVR සඳහා /xc8/v 2 .40/docs/Read me_X C 8_. htm

ලේඛන / සම්පත්

MICROCHIP MPLAB XC8 C සම්පාදක මෘදුකාංගය [pdf] හිමිකරුගේ අත්පොත
MPLAB XC8 C, MPLAB XC8 C Compiler Software, Compiler Software, Software

යොමු කිරීම්

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

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