MICROCHIP MPLAB XC8 C કમ્પાઇલર સોફ્ટવેર 

MICROCHIP MPLAB XC8 C કમ્પાઇલર સોફ્ટવેર

આ દસ્તાવેજમાં માઈક્રોચિપ AVR ઉપકરણોને લક્ષ્યાંકિત કરતી વખતે MPLAB XC8 C કમ્પાઈલરને લગતી મહત્વપૂર્ણ માહિતી શામેલ છે.
કૃપા કરીને આ સોફ્ટવેર ચલાવતા પહેલા તેને વાંચો. જો તમે 8-બીટ PIC ઉપકરણો માટે કમ્પાઇલરનો ઉપયોગ કરી રહ્યાં હોવ તો 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 હેઠળના સાધનો માટેનો સ્રોત કોડ માઇક્રોચિપમાંથી અલગથી ડાઉનલોડ કરી શકાય છે webસાઇટ તમે આમાં GNU GPL વાંચી શકો છો file તમારી ઇન્સ્ટોલ ડિરેક્ટરીની સબડિરેક્ટરી સ્થિત થયેલ છે. GPL અંતર્ગત સિદ્ધાંતોની સામાન્ય ચર્ચા અહીં મળી શકે છે. હેડર માટે સપોર્ટ કોડ આપવામાં આવ્યો છે files, લિંકર સ્ક્રિપ્ટો અને રનટાઇમ લાઇબ્રેરીઓ માલિકીનો કોડ છે અને GPL હેઠળ આવરી લેવામાં આવતો નથી.

આ કમ્પાઈલર GCC સંસ્કરણ 5.4.0, binutils સંસ્કરણ 2.26 નું અમલીકરણ છે અને avr-libc સંસ્કરણ 2.0.0 નો ઉપયોગ કરે છે.

સિસ્ટમ જરૂરીયાતો

MPLAB XC8 C કમ્પાઈલર અને તે જે લાઇસન્સિંગ સોફ્ટવેરનો ઉપયોગ કરે છે તે વિવિધ ઓપરેટિંગ સિસ્ટમ્સ માટે ઉપલબ્ધ છે, જેમાં નીચેનાના 64-બીટ વર્ઝનનો સમાવેશ થાય છે: Microsoft Windows 10 ની વ્યાવસાયિક આવૃત્તિઓ; ઉબુન્ટુ 18.04; અને macOS 10.15.5. વિન્ડોઝ માટે દ્વિસંગી કોડ-સાઈન કરેલ છે. મેક ઓએસ માટે દ્વિસંગી કોડ-સાઇન અને નોટરાઇઝ્ડ છે.

જો તમે નેટવર્ક લાયસન્સ સર્વર ચલાવી રહ્યા હોવ, તો લાયસન્સ સર્વરને હોસ્ટ કરવા માટે માત્ર કમ્પાઈલર્સ દ્વારા સપોર્ટેડ ઓપરેટિંગ સિસ્ટમવાળા કોમ્પ્યુટરોનો ઉપયોગ થઈ શકે છે. xclm સંસ્કરણ 2.0 મુજબ, નેટવર્ક લાયસન્સ સર્વર Microsoft Windows સર્વર પ્લેટફોર્મ પર ઇન્સ્ટોલ કરી શકાય છે, પરંતુ લાયસન્સ સર્વરને ઑપરેટિંગ સિસ્ટમના સર્વર સંસ્કરણ પર ચલાવવાની જરૂર નથી.

ઉપકરણો સપોર્ટેડ છે

આ કમ્પાઈલર રીલીઝ સમયે જાણીતા તમામ 8-બીટ AVR MCU ઉપકરણોને સપોર્ટ કરે છે. બધા સમર્થિત ઉપકરણોની સૂચિ માટે (કમ્પાઈલરની દસ્તાવેજ નિર્દેશિકામાં) જુઓ. આ files દરેક ઉપકરણ માટે રૂપરેખાંકન બીટ સેટિંગ્સને પણ સૂચિબદ્ધ કરે છે.

આવૃત્તિઓ અને લાઇસન્સ અપગ્રેડ

MPLAB XC8 કમ્પાઈલરને લાઇસન્સ પ્રાપ્ત (PRO) અથવા લાઇસન્સ વિનાના (મફત) ઉત્પાદન તરીકે સક્રિય કરી શકાય છે. તમારા કમ્પાઈલરને લાઇસન્સ આપવા માટે તમારે સક્રિયકરણ કી ખરીદવાની જરૂર છે. લાઇસન્સ ફ્રી પ્રોડક્ટની સરખામણીમાં ઉચ્ચ સ્તરના ઑપ્ટિમાઇઝેશન માટે પરવાનગી આપે છે. લાઇસન્સ વિનાનું કમ્પાઇલર લાયસન્સ વિના અનિશ્ચિત સમય માટે ચલાવી શકાય છે.

એક MPLAB XC8 ફંક્શનલ સેફ્ટી કમ્પાઇલર માઇક્રોચિપમાંથી ખરીદેલ કાર્યાત્મક સલામતી લાયસન્સ સાથે સક્રિય હોવું આવશ્યક છે. કમ્પાઇલર આ લાયસન્સ વિના કામ કરશે નહીં. એકવાર સક્રિય થઈ ગયા પછી, તમે કોઈપણ ઓપ્ટિમાઇઝેશન સ્તર પસંદ કરી શકો છો અને તમામ કમ્પાઇલર સુવિધાઓનો ઉપયોગ કરી શકો છો. MPLAB XC ફંક્શનલ સેફ્ટી કમ્પાઈલરનું આ પ્રકાશન નેટવર્ક સર્વર લાયસન્સનું સમર્થન કરે છે.
લાયસન્સ પ્રકારો અને લાઇસન્સ સાથે કમ્પાઇલરના ઇન્સ્ટોલેશન વિશેની માહિતી માટે MPLAB XC C કમ્પાઇલર્સ (DS50002059) ઇન્સ્ટોલ અને લાઇસન્સિંગ દસ્તાવેજ જુઓ.

સ્થાપન અને સક્રિયકરણ

આ કમ્પાઈલર સાથે સમાવિષ્ટ નવીનતમ લાઇસન્સ મેનેજર વિશે મહત્વપૂર્ણ માહિતી માટે સ્થળાંતર મુદ્દાઓ અને મર્યાદાઓ વિભાગો પણ જુઓ.
જો MPLAB IDE નો ઉપયોગ કરી રહ્યા હોવ, તો આ ટૂલ ઇન્સ્ટોલ કરતા પહેલા નવીનતમ MPLAB X IDE વર્ઝન 5.0 અથવા પછીનું ઇન્સ્ટોલ કરવાનું સુનિશ્ચિત કરો. કમ્પાઇલર ઇન્સ્ટોલ કરતા પહેલા IDE છોડો. .exe (Windows), .run (Linux) અથવા એપ (macOS) કમ્પાઈલર ઈન્સ્ટોલર એપ્લિકેશન ચલાવો, દા.ત. XC8-1.00.11403-windows.exe અને સ્ક્રીન પરના નિર્દેશોને અનુસરો.
ડિફૉલ્ટ ઇન્સ્ટોલેશન ડિરેક્ટરીની ભલામણ કરવામાં આવે છે. જો તમે Linux વાપરી રહ્યા હોવ, તો તમારે ટર્મિનલનો ઉપયોગ કરીને અને રૂટ ખાતામાંથી કમ્પાઈલર સ્થાપિત કરવું પડશે. એડમિનિસ્ટ્રેટર વિશેષાધિકારો સાથે macOS એકાઉન્ટનો ઉપયોગ કરીને ઇન્સ્ટોલ કરો.

સક્રિયકરણ હવે સ્થાપન માટે અલગથી હાથ ધરવામાં આવે છે. વધુ માહિતી માટે MPLAB® XC C Compilers (DS52059) માટે દસ્તાવેજ લાઇસન્સ મેનેજર જુઓ.

જો તમે મૂલ્યાંકન લાઇસન્સ હેઠળ કમ્પાઇલર ચલાવવાનું પસંદ કરો છો, તો હવે જ્યારે તમે તમારી મૂલ્યાંકન અવધિ સમાપ્ત થયાના 14 દિવસની અંદર હોવ ત્યારે તમને સંકલન દરમિયાન ચેતવણી મળશે. જો તમે તમારું HPA સબ્સ્ક્રિપ્શન સમાપ્ત થયાના 14 દિવસની અંદર હોવ તો સમાન ચેતવણી જારી કરવામાં આવે છે.

XC નેટવર્ક લાઇસન્સ સર્વર એક અલગ ઇન્સ્ટોલર છે અને તે સિંગલ-યુઝર કમ્પાઇલર ઇન્સ્ટોલરમાં શામેલ નથી.

XC લાઇસન્સ મેનેજર હવે ફ્લોટિંગ નેટવર્ક લાયસન્સના રોમિંગને સપોર્ટ કરે છે. મોબાઇલ વપરાશકર્તાઓને ધ્યાનમાં રાખીને, આ સુવિધા ફ્લોટિંગ લાયસન્સ ટૂંકા ગાળા માટે નેટવર્કથી દૂર રહેવાની મંજૂરી આપે છે. આ સુવિધાનો ઉપયોગ કરીને, તમે નેટવર્કથી ડિસ્કનેક્ટ કરી શકો છો અને હજુ પણ તમારા MPLAB XC કમ્પાઇલરનો ઉપયોગ કરી શકો છો. આ સુવિધા પર વધુ માટે XCLM ઇન્સ્ટોલનું દસ્તાવેજ ફોલ્ડર જુઓ. MPLAB X IDE માં રોમિંગને દૃષ્ટિની રીતે સંચાલિત કરવા માટે લાયસન્સ વિન્ડો (ટૂલ્સ > લાઇસન્સ) શામેલ છે.

ઇન્સ્ટોલેશન સમસ્યાઓનું નિરાકરણ

જો તમને કોઈપણ Windows ઓપરેટિંગ સિસ્ટમ હેઠળ કમ્પાઈલર ઇન્સ્ટોલ કરવામાં મુશ્કેલીઓનો અનુભવ થાય છે, તો નીચેના સૂચનો અજમાવી જુઓ.

  • એડમિનિસ્ટ્રેટર તરીકે ઇન્સ્ટોલ ચલાવો.
  • ઇન્સ્ટોલર એપ્લિકેશનની પરવાનગીઓને 'સંપૂર્ણ નિયંત્રણ' પર સેટ કરો. (જમણું-ક્લિક કરો file, ગુણધર્મો પસંદ કરો, સુરક્ષા ટેબ, વપરાશકર્તા પસંદ કરો, સંપાદિત કરો.)
  • ટેમ્પ ફોલ્ડરની પરવાનગીઓને "સંપૂર્ણ નિયંત્રણ!

ટેમ્પ ફોલ્ડરનું સ્થાન નક્કી કરવા માટે, Run આદેશમાં %temp% લખો (Windows logo key + R). આ ખુલશે a file એક્સપ્લોરર ડાયરેક્ટરી દર્શાવે છે અને તમને તે ફોલ્ડરનો પાથ નક્કી કરવા દેશે.

કમ્પાઇલર દસ્તાવેજીકરણ

સ્ક્રીનશૉટમાં દર્શાવ્યા મુજબ MPLAB X IDE ડેશબોર્ડમાં બ્લુ હેલ્પ બટનને ક્લિક કરતી વખતે તમારા બ્રાઉઝરમાં ખુલતા HTML પેજ પરથી કમ્પાઇલરની વપરાશકર્તા માર્ગદર્શિકાઓ ખોલી શકાય છે.

કમ્પાઇલર દસ્તાવેજીકરણ
જો તમે 8-બીટ AVR લક્ષ્યો માટે નિર્માણ કરી રહ્યાં છો, તો AVR® MCU માટે MPLAB® XC8 C કમ્પાઈલર વપરાશકર્તા માર્ગદર્શિકામાં તે કમ્પાઈલર વિકલ્પો અને સુવિધાઓ વિશેની માહિતી છે જે આ આર્કિટેક્ચરને લાગુ પડે છે.

ગ્રાહક આધાર

માઈક્રોચિપ આ કમ્પાઈલર વર્ઝન સંબંધિત બગ રિપોર્ટ્સ, સૂચનો અથવા ટિપ્પણીઓનું સ્વાગત કરે છે. કૃપા કરીને સપોર્ટ સિસ્ટમ દ્વારા કોઈપણ બગ રિપોર્ટ્સ અથવા ફીચર વિનંતીઓને નિર્દેશિત કરો.

દસ્તાવેજીકરણ અપડેટ્સ

MPLAB XC8 દસ્તાવેજીકરણના ઓન-લાઈન અને અદ્યતન સંસ્કરણો માટે, કૃપા કરીને માઈક્રોચિપના ઓનલાઈન ટેકનિકલ દસ્તાવેજોની મુલાકાત લો webસાઇટ

આ પ્રકાશનમાં નવું અથવા અપડેટ કરેલ AVR દસ્તાવેજીકરણ:

  • MUSL કૉપિરાઇટ સૂચના
  • MPLAB XC C કમ્પાઇલર્સ ઇન્સ્ટોલ અને લાઇસન્સિંગ (રિવિઝન M)
  • એમ્બેડેડ એન્જિનિયર્સ માટે MPLAB XC8 વપરાશકર્તાની માર્ગદર્શિકા - AVR MCUs (રિવિઝન A)
  • MPLAB XC8 C કમ્પાઇલર વપરાશકર્તાની માર્ગદર્શિકા AVR MCU (રીવિઝન F) માટે
  • માઇક્રોચિપ યુનિફાઇડ સ્ટાન્ડર્ડ લાઇબ્રેરી સંદર્ભ માર્ગદર્શિકા (પુનરાવર્તન B)

માઇક્રોચિપ યુનિફાઇડ સ્ટાન્ડર્ડ લાઇબ્રેરી સંદર્ભ માર્ગદર્શિકા માઇક્રોચિપ યુનિફાઇડ સ્ટાન્ડર્ડ લાઇબ્રેરી દ્વારા વ્યાખ્યાયિત કાર્યોની વર્તણૂક અને ઇન્ટરફેસ તેમજ લાઇબ્રેરી પ્રકારો અને મેક્રોના હેતુપૂર્વક ઉપયોગનું વર્ણન કરે છે. આમાંની કેટલીક માહિતી અગાઉ AVR® MCU માટે MPLAB® XC8 C કમ્પાઈલર વપરાશકર્તાની માર્ગદર્શિકામાં સમાવિષ્ટ હતી. ઉપકરણ-વિશિષ્ટ લાઇબ્રેરી માહિતી હજુ પણ આ કમ્પાઇલર માર્ગદર્શિકામાં સમાયેલ છે.

જો તમે હમણાં જ 8-બીટ ઉપકરણો અને MPLAB XC8 C કમ્પાઈલરથી શરૂઆત કરી રહ્યાં છો, તો MPLAB® XC8 વપરાશકર્તાની માર્ગદર્શિકા એમ્બેડેડ એન્જિનિયર્સ માટે - AVR® MCUs (DS50003108) પાસે MPLAB X IDE અને કોડ લખવા માટે પ્રોજેક્ટ્સ સેટ કરવા વિશેની માહિતી છે. તમારા પ્રથમ MPLAB XC8 C પ્રોજેક્ટ માટે. આ માર્ગદર્શિકા હવે કમ્પાઈલર સાથે વિતરિત કરવામાં આવી છે.

હેમેટ વપરાશકર્તા માર્ગદર્શિકા આ ​​પ્રકાશનમાં દસ્તાવેજ નિર્દેશિકામાં સમાવવામાં આવેલ છે. આ માર્ગદર્શિકા એકલા એપ્લિકેશન તરીકે હેમેટ ચલાવનારાઓ માટે બનાવાયેલ છે.

નવું શું છે

નીચેના નવા AVR-લક્ષ્ય લક્ષણો છે જેને કમ્પાઇલર હવે સપોર્ટ કરે છે. સબહેડિંગ્સમાં વર્ઝન નંબર એ અનુસરતી સુવિધાઓને સપોર્ટ કરવા માટે પ્રથમ કમ્પાઇલર સંસ્કરણ સૂચવે છે.

સંસ્કરણ 2.40

નવું ઉપકરણ સપોર્ટ સપોર્ટ હવે નીચેના AVR ભાગો માટે ઉપલબ્ધ છે: AT90PWM3, AVR16DD14, AVR16DD20, AVR16DD28, AVR16DD32, AVR32DD14, AVR32DD20, AVR32DD28, AVR32DD32, AVR64, AVR28, AVR64, AVR32 AVR64EA48.
સુધારેલ પ્રક્રિયાગત અમૂર્તતા પ્રોસિજરલ એબ્સ્ટ્રેક્શન (PA) ઓપ્ટિમાઇઝેશન ટૂલ સુધારવામાં આવ્યું છે જેથી ફંક્શન કોલ ઇન્સ્ટ્રક્શન (કોલ રિકોલ ) ) ધરાવતા કોડને રૂપરેખા આપી શકાય. આ ફક્ત ત્યારે જ થશે જો સ્ટેકનો ઉપયોગ ફંક્શનમાંથી વળતર મૂલ્ય મેળવવા અથવા દલીલો પસાર કરવા માટે ન થાય. વેરિયેબલ આર્ગ્યુમેન્ટ લિસ્ટ સાથે ફંક્શનને કૉલ કરતી વખતે અથવા આ હેતુ માટે નિયુક્ત રજિસ્ટર કરતાં વધુ દલીલો લેતા ફંક્શનને કૉલ કરતી વખતે સ્ટેકનો ઉપયોગ થાય છે. આ સુવિધાને સાધુ-પા-આઉટલાઇન-કોલ્સ વિકલ્પનો ઉપયોગ કરીને અક્ષમ કરી શકાય છે, અથવા ઑબ્જેક્ટ માટે પ્રક્રિયાગત એબ્સ્ટ્રેક્શન સંપૂર્ણપણે અક્ષમ કરી શકાય છે. file અથવા -સાધુ-પા-ઓન-નો ઉપયોગ કરીને કાર્યfile અને -મો.-પા-ઓન-ફંક્શન અનુક્રમે, અથવા નીપા એટ્રિબ્યુટ ( નીપા સ્પેસિફાયર) નો ઉપયોગ કરીને ફંક્શન્સ સાથે પસંદગીપૂર્વક

કોડ કવરેજ મેક્રો કમ્પાઈલર હવે મેક્રો __CODECOV ને વ્યાખ્યાયિત કરે છે જો માન્ય mcodecov વિકલ્પ સ્પષ્ટ કરેલ હોય.

મેમરી આરક્ષણ વિકલ્પ xc8-cc ડ્રાઇવર હવે -mreserve=space@start: end વિકલ્પને સ્વીકારશે જ્યારે AVR લક્ષ્યો માટે નિર્માણ કરવામાં આવશે. આ વિકલ્પ ડેટા અથવા પ્રોગ્રામ મેમરી સ્પેસમાં ઉલ્લેખિત મેમરી રેન્જને આરક્ષિત કરે છે, લિંકરને આ વિસ્તારમાં કોડ અથવા ઑબ્જેક્ટ્સ બનાવતા અટકાવે છે.

વધુ સ્માર્ટ સ્માર્ટ IO સ્માર્ટ IO ફંક્શનમાં ઘણા સુધારાઓ કરવામાં આવ્યા છે, જેમાં પ્રિન્ટએફ કોર કોડમાં સામાન્ય ટ્વીક્સ, %n કન્વર્ઝન સ્પેસિફાયરને સ્વતંત્ર વેરિઅન્ટ તરીકે ગણવા, માંગ પર વરાર્ગ પોપ રૂટીનમાં લિંક કરવા, 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-proem વિકલ્પનો ઉપયોગ એક 32k વિભાગમાં તમામ વિપક્ષ લાયકાત ધરાવતા ડેટાને લિંકર મૂકવા માટે કરી શકાય છે અને આ ડેટા ડેટા મેમરી સ્પેસમાં મેપ થયેલ છે તેની ખાતરી કરવા માટે સંબંધિત SFR રજિસ્ટરને આપમેળે પ્રારંભ કરી શકાય છે. , જ્યાં તેને વધુ અસરકારક રીતે એક્સેસ કરવામાં આવશે.

માઇક્રોચિપ યુનિફાઇડ સ્ટાન્ડર્ડ લાઇબ્રેરીઓ બધા MPLAB XC કમ્પાઇલર્સ માઇક્રોચિપ યુનિફાઇડ સ્ટાન્ડર્ડ લાઇબ્રેરી શેર કરશે, જે હવે MPLAB XC8 ના આ પ્રકાશન સાથે ઉપલબ્ધ છે. MPLAB® XC8 C કમ્પાઈલર વપરાશકર્તા માર્ગદર્શિકા/અથવા AVR® MCU માં હવે આ પ્રમાણભૂત કાર્યો માટેના દસ્તાવેજોનો સમાવેશ થતો નથી. આ માહિતી હવે માઇક્રોચિપ યુનિફાઇડ સ્ટાન્ડર્ડ લાઇબ્રેરી સંદર્ભ માર્ગદર્શિકામાં મળી શકે છે. નોંધ કરો કે avr-libc દ્વારા અગાઉ વ્યાખ્યાયિત કરાયેલ કેટલીક કાર્યક્ષમતા હવે ઉપલબ્ધ નથી. (ગ્રંથાલય જુઓ):'. કાર્યક્ષમતા...)

સ્માર્ટ IO નવી યુનિફાઇડ લાઇબ્રેરીઓના ભાગરૂપે, પ્રિન્ટ અને સ્કેન ફેમિલીમાં IO ફંક્શન હવે દરેક બિલ્ડ પર કસ્ટમ જનરેટ થાય છે, આ ફંક્શનનો પ્રોગ્રામમાં કેવી રીતે ઉપયોગ થાય છે તેના આધારે. આ પ્રોગ્રામ દ્વારા ઉપયોગમાં લેવાતા સંસાધનોને નોંધપાત્ર રીતે ઘટાડી શકે છે.
સ્માર્ટ IO સહાય વિકલ્પ સ્માર્ટ IO ફંક્શન્સ (જેમ કે printf () અથવા scanf () ) માટેના કૉલનું વિશ્લેષણ કરતી વખતે, કમ્પાઇલર હંમેશા ફોર્મેટ સ્ટ્રિંગ પરથી નિર્ધારિત કરી શકતું નથી અથવા કૉલ દ્વારા જરૂરી રૂપાંતરણ સ્પષ્ટીકરણકર્તાઓની દલીલોમાંથી અનુમાન કરી શકતું નથી. અગાઉ, કમ્પાઈલર હંમેશા કોઈ ધારણાઓ ન રાખતા અને ખાતરી કરે છે કે સંપૂર્ણ કાર્યકારી IO કાર્યો અંતિમ પ્રોગ્રામ ઈમેજ સાથે જોડાયેલા છે. એક નવો – msmart-io-format=fmt વિકલ્પ ઉમેરવામાં આવ્યો છે જેથી કમ્પાઈલરને તેના બદલે સ્માર્ટ IO ફંક્શન્સ દ્વારા ઉપયોગમાં લેવાતા રૂપાંતરણ સ્પષ્ટીકરણોની વપરાશકર્તા દ્વારા જાણ કરી શકાય કે જેનો ઉપયોગ અસ્પષ્ટ છે, જે વધુ પડતા લાંબા IO રૂટિન્સને લિંક થવાથી અટકાવે છે. (વધુ વિગતો માટે smart-io-format વિકલ્પ જુઓ.)

કસ્ટમ વિભાગો મૂકીને પહેલાં, -Wl, -section-start વિકલ્પ માત્ર ઉલ્લેખિત વિભાગને વિનંતી કરેલ સરનામા પર મૂકતો હતો જ્યારે લિંકર સ્ક્રિપ્ટ સમાન નામ સાથે આઉટપુટ વિભાગને વ્યાખ્યાયિત કરે છે. જ્યારે તે કેસ ન હતો, ત્યારે વિભાગને લિંકર દ્વારા પસંદ કરાયેલ સરનામા પર મૂકવામાં આવ્યો હતો અને વિકલ્પને આવશ્યકપણે અવગણવામાં આવ્યો હતો. હવે વિકલ્પને બધા કસ્ટમ વિભાગો માટે સન્માનિત કરવામાં આવશે, ભલે લિંકર સ્ક્રિપ્ટ વિભાગને વ્યાખ્યાયિત કરતી ન હોય. જો કે, નોંધ કરો કે પ્રમાણભૂત વિભાગો માટે, જેમ કે . ટેક્સ્ટ, . bss અથવા. ડેટા, શ્રેષ્ઠ યોગ્ય ફાળવણીકર્તા પાસે હજુ પણ તેમના પ્લેસમેન્ટ પર સંપૂર્ણ નિયંત્રણ રહેશે, અને વિકલ્પની કોઈ અસર થશે નહીં. વપરાશકર્તાની માર્ગદર્શિકામાં વર્ણવ્યા મુજબ -Wl, -Tsection=add વિકલ્પનો ઉપયોગ કરો.

સંસ્કરણ 2.32

સ્ટેક માર્ગદર્શન PRO કમ્પાઈલર લાયસન્સ સાથે ઉપલબ્ધ, કમ્પાઈલરની સ્ટેક ગાઈડન્સ ફીચરનો ઉપયોગ પ્રોગ્રામ દ્વારા ઉપયોગમાં લેવાતા કોઈપણ સ્ટેકની મહત્તમ ઊંડાઈનો અંદાજ કાઢવા માટે કરી શકાય છે. તે પ્રોગ્રામના કોલ ગ્રાફનું નિર્માણ અને વિશ્લેષણ કરે છે, દરેક ફંક્શનનો સ્ટેક ઉપયોગ નક્કી કરે છે અને એક રિપોર્ટ બનાવે છે, જેના પરથી પ્રોગ્રામ દ્વારા ઉપયોગમાં લેવાતા સ્ટેક્સની ઊંડાઈનો અંદાજ લગાવી શકાય છે. આ સુવિધા -mchp-stack-usage કમાન્ડ-લાઇન વિકલ્પ દ્વારા સક્ષમ કરેલ છે. એક્ઝેક્યુશન પછી સ્ટેક વપરાશનો સારાંશ છાપવામાં આવે છે. નકશામાં વિગતવાર સ્ટેક રિપોર્ટ ઉપલબ્ધ છે file, જે સામાન્ય રીતે વિનંતી કરી શકાય છે.

નવું ઉપકરણ સપોર્ટ સપોર્ટ નીચેના AVR ભાગો માટે ઉપલબ્ધ છે: ATTINY 427, ATTINY 424, ATTINY 426, ATTINY827, ATTINY824, ATTINY826, AVR32DB32, AVR64DB48, AVR64DB64, AVR64DB28, AVR32DB28, AVR64DB32 અને AVR32DB48.

પાછું ખેંચાયેલ ઉપકરણ સપોર્ટ સપોર્ટ નીચેના AVR ભાગો માટે હવે ઉપલબ્ધ નથી: AVR16DA28, AVR16DA32 અને, AVR16DA48.

સંસ્કરણ 2.31

કોઈ નહિ.

સંસ્કરણ 2.30

ડેટા આરંભ અટકાવવા માટે નવો વિકલ્પ નવો -mno-data-ini t ડ્રાઈવર વિકલ્પ ડેટાના આરંભ અને bss વિભાગોને સાફ કરવાનું અટકાવે છે. તે એસેમ્બલીમાં do_ copy_ ડેટા અને d o_ clear_ bss પ્રતીકોના આઉટપુટને દબાવીને કામ કરે છે files, જે બદલામાં લિંકર દ્વારા તે દિનચર્યાઓના સમાવેશને અટકાવશે.

ઉન્નત ઑપ્ટિમાઇઝેશન્સ અસંખ્ય ઑપ્ટિમાઇઝેશન સુધારાઓ કરવામાં આવ્યા છે, જેમાં રીડન્ડન્ટ રીટર્ન સૂચનાઓને દૂર કરવી, સ્કીપ-ઇફ-બીટ-ઇઝ સૂચનાને પગલે કેટલાક કૂદકા દૂર કરવા અને પ્રક્રિયાગત અમૂર્તતા અને આ પ્રક્રિયાને પુનરાવર્તિત કરવાની ક્ષમતામાં સુધારો કરવામાં આવ્યો છે.

આમાંના કેટલાક ઑપ્ટિમાઇઝેશનને નિયંત્રિત કરવા માટે વધારાના વિકલ્પો હવે ઉપલબ્ધ છે, ખાસ કરીને -f સેક્શન એન્કર, જે એક પ્રતીકની સાપેક્ષમાં સ્ટેટિક ઑબ્જેક્ટ્સની ઍક્સેસ કરવા માટે પરવાનગી આપે છે; -mpai derations=n, જે ડિફોલ્ટ 2 થી પ્રક્રિયાગત અમૂર્ત પુનરાવર્તનની સંખ્યા બદલવાની મંજૂરી આપે છે; અને, -mpa- કૉલ કોસ્ટ- શોર્ટકોલ, જે વધુ આક્રમક પ્રક્રિયાગત એબ્સ્ટ્રેક્શન કરે છે, એવી આશામાં કે લિંકર લાંબા કૉલ્સને આરામ આપી શકે છે. જો અંતર્ગત ધારણાઓ સાકાર ન થાય તો આ છેલ્લો વિકલ્પ કોડનું કદ વધારી શકે છે.

નવું ઉપકરણ સપોર્ટ નીચેના AVR ભાગો માટે સપોર્ટ ઉપલબ્ધ છે: AVR16DA28, AVR16DA32,
AVR16DA48, AVR32DA28, AVR32DA32, AVR32DA48, AVR64DA28, AVR64DA32, AVR64DA48, AVR64DA64, AVR128DB28, AVR128DB32, AVR128DB48, AVR128DB64, AVRXNUMXDAVXNUMX.

ઉપકરણ સમર્થન પાછું ખેંચ્યું નીચેના AVR ભાગો માટે સપોર્ટ હવે ઉપલબ્ધ નથી: ATA5272, ATA5790, ATA5790N,ATA5791,ATA5795,ATA6285,ATA6286,ATA6612C,ATA6613C,ATA6614Q, ATA6616C, ATA6617C, ATA664251C, ATAXNUMXQ.

સંસ્કરણ 2.29 (કાર્યકારી સલામતી પ્રકાશન)

હેડર file કમ્પાઇલર બિલ્ટ-ઇન્સ માટે કમ્પાઇલર MISRA જેવા ભાષાના વિશિષ્ટતાઓને અનુરૂપ થઈ શકે તેની ખાતરી કરવા માટે, હેડર file, જે આપમેળે દ્વારા સમાવવામાં આવેલ છે , અપડેટ કરવામાં આવ્યું છે. આ હેડરમાં _buil tin _avrnop () અને _buil tin_ avr delay_ cycles () જેવા તમામ ઇન-બિલ્ટ ફંક્શન માટે પ્રોટોટાઇપ છે. કેટલાક બિલ્ટ-ઇન્સ MISRA સુસંગત ન પણ હોય; કમ્પાઇલર કમાન્ડ લાઇનમાં વ્યાખ્યાયિત _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 કમ્પાઈલર દ્વારા આધારભૂત તમામ ઉપકરણોની યાદી આપે છે. ઉપકરણના નામ પર ક્લિક કરો, અને તે એક પૃષ્ઠ ખોલશે જે તે ઉપકરણ માટે તમામ માન્ય ગોઠવણી બીટ સેટિંગ/મૂલ્ય જોડીઓ દર્શાવે છે, જેમાં ભૂતપૂર્વampલેસ

પ્રક્રિયાગત અમૂર્તતા પ્રક્રિયાગત એબ્સ્ટ્રેક્શન ઓપ્ટિમાઇઝેશન, જે એસેમ્બલી કોડના સામાન્ય બ્લોકને તે બ્લોકની એક્સ્ટ્રેક્ટેડ કોપી માટેના કોલ સાથે બદલે છે, તે કમ્પાઇલરમાં ઉમેરવામાં આવ્યા છે. આ એક અલગ એપ્લિકેશન દ્વારા કરવામાં આવે છે, જે લેવલ 2, 3 અથવા ઑપ્ટિમાઇઝેશન પસંદ કરતી વખતે કમ્પાઇલર દ્વારા આપમેળે બોલાવવામાં આવે છે. આ ઑપ્ટિમાઇઝેશન કોડનું કદ ઘટાડે છે, પરંતુ તેઓ એક્ઝેક્યુશન સ્પીડ અને કોડ ડિબગબિલિટી ઘટાડી શકે છે.
-mno-pa વિકલ્પનો ઉપયોગ કરીને ઉચ્ચ ઓપ્ટિમાઇઝેશન સ્તરે પ્રક્રિયાગત એબ્સ્ટ્રેક્શનને અક્ષમ કરી શકાય છે અથવા -mpa નો ઉપયોગ કરીને નીચા ઓપ્ટિમાઇઝેશન સ્તરે (તમારા લાયસન્સને આધીન) સક્ષમ કરી શકાય છે. તે ઑબ્જેક્ટ માટે અક્ષમ કરી શકાય છે file -mno-pa-on- નો ઉપયોગ કરીનેfile=fileનામ, અથવા function= function પર -mno-pa નો ઉપયોગ કરીને ફંક્શન માટે નિષ્ક્રિય.
તમારા સોર્સ કોડની અંદર, ફંક્શનની વ્યાખ્યા સાથે _attribute_ ( (nopa)) નો ઉપયોગ કરીને અથવા _nopa નો ઉપયોગ કરીને કાર્ય માટે પ્રક્રિયાગત એબ્સ્ટ્રેક્શનને અક્ષમ કરી શકાય છે, જે એટ્રિબ્યુટ ( (nopa, noinline)) સુધી વિસ્તરે છે અને આમ ફંક્શન ઇનલાઇનિંગને થતું અટકાવે છે. અને ઇનલાઇન કોડનું એબ્સ્ટ્રેક્શન છે.
pragma માં લોક બીટ આધાર #pragma રૂપરેખા હવે AVR લોક બિટ્સ તેમજ અન્ય રૂપરેખાંકન બિટ્સનો ઉલ્લેખ કરવા માટે ઉપયોગ કરી શકાય છે. avr ચિપ માહિતી તપાસો. html file (ઉપર ઉલ્લેખિત) સેટિંગ/મૂલ્ય જોડી માટે આ વ્યવહાર સાથે વાપરવા માટે.
નવું ઉપકરણ સપોર્ટ નીચેના ભાગો માટે સપોર્ટ ઉપલબ્ધ છે: AVR28DA128, AVR64DA128, AVR32DA128, અને AVR48DA128.

સંસ્કરણ 2.05

તમારા પૈસા માટે વધુ બિટ્સ આ કમ્પાઇલર અને લાયસન્સ મેનેજરનું macOS વર્ઝન હવે 64-બીટ એપ્લિકેશન છે. આ સુનિશ્ચિત કરશે કે કમ્પાઇલર macOS ના તાજેતરના સંસ્કરણો પર ચેતવણી વિના ઇન્સ્ટોલ અને ચાલશે.
પ્રોગ્રામ મેમરીમાં કોન્સ્ટ ઓબ્જેક્ટો કમ્પાઈલર હવે કોન્સ્ટ-ક્વોલિફાઈડ ઓબ્જેક્ટ્સને પ્રોગ્રામ ફ્લેશ મેમરીમાં મૂકી શકે છે, તેને RAM માં સ્થિત રાખવાને બદલે. કમ્પાઇલરમાં ફેરફાર કરવામાં આવ્યો છે જેથી કોન્સ્ટ-ક્વોલિફાઇડ વૈશ્વિક ડેટા પ્રોગ્રામ ફ્લેશ મેમરીમાં સંગ્રહિત થાય અને આ ડેટાને યોગ્ય પ્રોગ્રામ-મેમરી સૂચનાઓનો ઉપયોગ કરીને પ્રત્યક્ષ અને પરોક્ષ રીતે એક્સેસ કરી શકાય. આ નવી સુવિધા મૂળભૂત રીતે સક્ષમ છે પરંતુ -mno-const-data-in-progmem વિકલ્પનો ઉપયોગ કરીને નિષ્ક્રિય કરી શકાય છે. avrxmega3 અને avrtiny આર્કિટેક્ચર્સ માટે, આ સુવિધા જરૂરી નથી અને હંમેશા અક્ષમ રહે છે, કારણ કે પ્રોગ્રામ મેમરીને આ ઉપકરણો માટે ડેટા સરનામાંની જગ્યામાં મેપ કરવામાં આવે છે.
મફતમાં ધોરણ આ કમ્પાઈલરના લાઇસન્સ વિનાના (મફત) સંસ્કરણો હવે સ્તર 2 સુધી અને તેમાં સમાવિષ્ટ ઑપ્ટિમાઇઝેશનને મંજૂરી આપે છે. આ પ્રમાણભૂત લાઇસન્સનો ઉપયોગ કરીને અગાઉ જે શક્ય હતું તેના આઉટપુટને સમાન, સમાન ન હોવા છતાં, પરવાનગી આપશે.
AVRASM2 સ્વાગત છે 2-બીટ ઉપકરણો માટે AVRASM8 એસેમ્બલર હવે XC8 કમ્પાઇલર ઇન્સ્ટોલરમાં સમાવવામાં આવેલ છે. આ એસેમ્બલર XC8 કમ્પાઇલર દ્વારા ઉપયોગમાં લેવાતું નથી, પરંતુ હસ્તલિખિત એસેમ્બલી સ્ત્રોત પર આધારિત પ્રોજેક્ટ્સ માટે ઉપલબ્ધ છે.
નવું ઉપકરણ સપોર્ટ નીચેના ભાગો માટે સપોર્ટ ઉપલબ્ધ છે: ATMEGA1608, ATMEGA1609, ATMEGA808, અને ATMEGA809.

સંસ્કરણ 2.00

ટોપ લેવલ ડ્રાઈવર નવું ડ્રાઇવર, જેને xc8-cc કહેવાય છે, હવે પહેલાના avr-gcc ડ્રાઇવર અને xc8 ડ્રાઇવરની ઉપર બેસે છે, અને તે લક્ષ્ય ઉપકરણની પસંદગીના આધારે યોગ્ય કમ્પાઇલરને કૉલ કરી શકે છે. આ ડ્રાઇવર GCC-શૈલી વિકલ્પોને સ્વીકારે છે, જે ક્યાં તો કમ્પાઇલરને ચલાવવામાં આવે છે તેના માટે ભાષાંતરિત અથવા પસાર કરવામાં આવે છે. આ ડ્રાઈવર કોઈપણ AVR અથવા PIC ટાર્ગેટ સાથે સમાન સિમેન્ટિક્સ સાથેના વિકલ્પોના સમાન સેટનો ઉપયોગ કરવાની મંજૂરી આપે છે અને આ રીતે કમ્પાઈલરનો ઉપયોગ કરવાની ભલામણ કરેલ રીત છે. જો જરૂરી હોય તો, જૂના avr-gcc ડ્રાઇવરને જૂના-શૈલીના વિકલ્પોનો ઉપયોગ કરીને સીધો કૉલ કરી શકાય છે જે તેણે અગાઉના કમ્પાઇલર સંસ્કરણોમાં સ્વીકાર્યો હતો.

સામાન્ય સી ઈન્ટરફેસ આ કમ્પાઈલર હવે MPLAB કોમન સી ઈન્ટરફેસને અનુરૂપ થઈ શકે છે, જેનાથી તમામ MPLAB XC કમ્પાઈલરમાં સોર્સ કોડ વધુ સરળતાથી પોર્ટ થઈ શકે છે. -mext=cci વિકલ્પ આ સુવિધાની વિનંતી કરે છે, ઘણા ભાષા એક્સ્ટેન્શન્સ માટે વૈકલ્પિક વાક્યરચના સક્રિય કરે છે.

નવો ગ્રંથપાલ ડ્રાઈવર નવા લાઇબ્રેરિયન ડ્રાઇવરને અગાઉના PIC લાઇબ્રેર લાઇબ્રેરિયન અને AVR avr-ar લાઇબ્રેરિયનની ઉપર મૂકવામાં આવે છે. આ ડ્રાઇવર GCC-આર્કાઇવર-શૈલી વિકલ્પોને સ્વીકારે છે, જે ક્યાં તો લાઇબ્રેરીયનને ચલાવવામાં આવે છે તેના માટે અનુવાદ કરવામાં આવે છે અથવા તેને પસાર કરવામાં આવે છે. નવો ડ્રાઇવર કોઈપણ PIC અથવા AVR લાઇબ્રેરી બનાવવા અથવા ચાલાકી કરવા માટે સમાન સિમેન્ટિક્સ સાથે સમાન વિકલ્પોના સેટનો ઉપયોગ કરવાની મંજૂરી આપે છે. file અને આ રીતે ગ્રંથપાલને બોલાવવાની ભલામણ કરેલ રીત છે. જો લેગસી પ્રોજેક્ટ્સ માટે જરૂરી હોય, તો અગાઉના ગ્રંથપાલને જૂના-શૈલીના વિકલ્પોનો ઉપયોગ કરીને સીધો કૉલ કરી શકાય છે જે તેણે અગાઉના કમ્પાઇલર સંસ્કરણોમાં સ્વીકાર્યો હતો.

સ્થળાંતર મુદ્દાઓ

નીચે આપેલા લક્ષણો છે જે હવે કમ્પાઈલર દ્વારા અલગ રીતે હેન્ડલ કરવામાં આવે છે. જો આ કમ્પાઈલર વર્ઝનમાં કોડ પોર્ટીંગ કરવામાં આવે તો આ ફેરફારોને તમારા સોર્સ કોડમાં ફેરફારની જરૂર પડી શકે છે. સબહેડિંગ્સમાં વર્ઝન નંબર પ્રથમ કમ્પાઇલર વર્ઝન સૂચવે છે જે અનુસરતા ફેરફારોને સમર્થન આપે છે.

સંસ્કરણ 2.40

કોઈ નહિ.

સંસ્કરણ 2.39 (કાર્યકારી સલામતી પ્રકાશન)

કોઈ નહિ.

સંસ્કરણ 2.36

કોઈ નહિ.

સંસ્કરણ 2.35

સ્ટ્રિંગ-ટુ બેઝનું હેન્ડલિંગ (XCS-2420) અન્ય XC કમ્પાઇલરો સાથે સુસંગતતા સુનિશ્ચિત કરવા માટે, XC8 સ્ટ્રિંગ-ટુ ફંક્શન્સ, જેમ કે strtol () વગેરે, જો સ્પષ્ટ કરેલ આધાર 36 કરતા મોટો હોય તો ઇનપુટ સ્ટ્રિંગને કન્વર્ટ કરવાનો પ્રયાસ કરશે નહીં અને તેના બદલે EINVAL પર errno સેટ કરશે. જ્યારે આ બેઝ વેલ્યુ ઓળંગાઈ જાય ત્યારે C સ્ટાન્ડર્ડ ફંક્શનના વર્તનને સ્પષ્ટ કરતું નથી.

અયોગ્ય ઝડપ ઑપ્ટિમાઇઝેશન લેવલ 3 ઑપ્ટિમાઇઝેશન (-03) પસંદ કરતી વખતે પ્રક્રિયાગત એબ્સ્ટ્રેક્શન ઑપ્ટિમાઇઝેશનને સક્ષમ કરવામાં આવી રહ્યું હતું. આ ઑપ્ટિમાઇઝેશન કોડ સ્પીડના ખર્ચે કોડનું કદ ઘટાડે છે, તેથી કરવામાં આવવું ન જોઈએ. આ ઑપ્ટિમાઇઝેશન લેવલનો ઉપયોગ કરતા પ્રોજેક્ટ્સ જ્યારે આ રિલીઝ સાથે બનાવવામાં આવે ત્યારે કોડના કદ અને અમલની ઝડપમાં તફાવત જોઈ શકે છે.

પુસ્તકાલય કાર્યક્ષમતા સ્ટાન્ડર્ડ C લાઇબ્રેરીના ઘણા ફંક્શન્સ માટેનો કોડ હવે માઇક્રોચિપની યુનિફાઇડ સ્ટાન્ડર્ડ લાઇબ્રેરીમાંથી આવે છે, જે અગાઉની avr-libc લાઇબ્રેરી દ્વારા પૂરી પાડવામાં આવેલી સરખામણીમાં અમુક સંજોગોમાં અલગ વર્તન પ્રદર્શિત કરી શકે છે. માજી માટેample, lprintf_flt લાઇબ્રેરી (-print _flt વિકલ્પ) માં float-format specifiers માટે ફોર્મેટ કરેલ IO આધારને ચાલુ કરવા માટે તે હવે જરૂરી નથી. માઇક્રોચિપ યુનિફાઇડ સ્ટાન્ડર્ડ લાઇબ્રેરીની સ્માર્ટ આઇઓ સુવિધાઓ આ વિકલ્પને બિનજરૂરી બનાવે છે. વધુમાં, સ્ટ્રિંગ અને મેમરી ફંક્શન્સ (દા.ત. strcpy_P () વગેરે .. ) માટે _p પ્રત્યયવાળા રૂટિનનો ઉપયોગ જે ફ્લેશમાં કોન્સ્ટ સ્ટ્રીંગ્સ પર કામ કરે છે તે હવે જરૂરી નથી. સ્ટાન્ડર્ડ C રૂટિન (દા.ત. strcpy ()) આવા ડેટા સાથે યોગ્ય રીતે કામ કરશે જ્યારે const-data-in-program-memory સુવિધા સક્ષમ હશે.

સંસ્કરણ 2.32

કોઈ નહિ.

સંસ્કરણ 2.31

કોઈ નહિ.

સંસ્કરણ 2.30

કોઈ નહિ.

સંસ્કરણ 2.29 (કાર્યકારી સલામતી પ્રકાશન)

કોઈ નહિ.

સંસ્કરણ 2.20

બદલાયેલ DFP લેઆઉટ કમ્પાઈલર હવે DFPs (ડિવાઈસ ફેમિલી પેક્સ) દ્વારા ઉપયોગમાં લેવાતા અલગ લેઆઉટને ધારે છે. આનો અર્થ એ થશે કે જૂની DFP કદાચ આ પ્રકાશન સાથે કામ કરશે નહીં, અને જૂના કમ્પાઇલરો નવીનતમ DFP નો ઉપયોગ કરી શકશે નહીં.

સંસ્કરણ 2.19 (કાર્યકારી સલામતી પ્રકાશન)

કોઈ નહિ.

સંસ્કરણ 2.10

કોઈ નહિ

સંસ્કરણ 2.05

પ્રોગ્રામ મેમરીમાં કોન્સ્ટ ઑબ્જેક્ટ્સ નોંધ કરો કે મૂળભૂત રીતે, કોન્સ્ટ-ક્વોલિફાઇડ ઑબ્જેક્ટ્સ પ્રોગ્રામ મેમરીમાં મૂકવામાં આવશે અને ઍક્સેસ કરવામાં આવશે (અહીં વર્ણવ્યા પ્રમાણે). આ તમારા પ્રોજેક્ટના કદ અને અમલની ઝડપને અસર કરશે, પરંતુ રેમનો વપરાશ ઘટાડવો જોઈએ. જો જરૂરી હોય તો, -mnoconst-da ta-in-progmem વિકલ્પનો ઉપયોગ કરીને આ સુવિધાને અક્ષમ કરી શકાય છે.

સંસ્કરણ 2.00

રૂપરેખાંકન ફ્યુઝ ઉપકરણ રૂપરેખાંકન ફ્યુઝ હવે રૂપરેખા પ્રાગ્માનો ઉપયોગ કરીને પ્રોગ્રામ કરી શકે છે અને ફ્યુઝ સ્થિતિને સ્પષ્ટ કરવા માટે સેટિંગ-વેલ્યુ જોડી દ્વારા અનુસરવામાં આવે છે, દા.ત.
#pragma રૂપરેખા WDT0N = SET
#pragma રૂપરેખા B0DLEVEL = B0DLEVEL_4V3
સંપૂર્ણ પદાર્થો અને કાર્યો ઑબ્જેક્ટ્સ અને ફંક્શન્સને હવે CCI _at (સરનામું) સ્પષ્ટકર્તાનો ઉપયોગ કરીને મેમરીમાં ચોક્કસ સરનામાં પર મૂકી શકાય છે, ભૂતપૂર્વ માટેample: # સમાવેશ થાય છે int foobar at(Ox800100); char at(Ox250) get ID(int offset) { … } આ સ્પષ્ટીકરણકર્તાની દલીલ એક સ્થિર હોવી જોઈએ જે સરનામું રજૂ કરે છે કે જેના પર પ્રથમ બાઈટ અથવા સૂચના મૂકવામાં આવશે. RAM સરનામાંઓ 0x800000 ના ઑફસેટનો ઉપયોગ કરીને સૂચવવામાં આવે છે. આ સુવિધાનો ઉપયોગ કરવા માટે CCI ને સક્ષમ કરો.
નવું ઇન્ટરપ્ટ ફંક્શન સિન્ટેક્સ કમ્પાઇલર હવે CCI ઇન્ટરપ્ટ (નંમ) સ્પષ્ટીકરણ સ્વીકારે છે તે દર્શાવવા માટે કે C ફંક્શન્સ ઇન્ટરપ્ટ હેન્ડલર્સ છે. સ્પષ્ટકર્તા ઇન્ટરપ્ટ નંબર લે છે, ઉદાહરણ તરીકેample: # સમાવેશ થાય છે void interrupt(SPI STC_ vect _num) spi Isr(void) { … }

સ્થિર મુદ્દાઓ

નીચેના સુધારાઓ છે જે કમ્પાઈલરમાં કરવામાં આવ્યા છે. આ જનરેટ કરેલા કોડમાં બગ્સને ઠીક કરી શકે છે અથવા કમ્પાઇલરના ઑપરેશનમાં ફેરફાર કરી શકે છે જેનો હેતુ વપરાશકર્તાની માર્ગદર્શિકા દ્વારા નિર્દિષ્ટ કરવામાં આવ્યો હતો. સબહેડિંગ્સમાં વર્ઝન નંબર પ્રથમ કમ્પાઇલર વર્ઝન સૂચવે છે જે અનુસરતી સમસ્યાઓ માટે ફિક્સેસ ધરાવે છે. શીર્ષકમાં કૌંસિત લેબલ (ઓ) ટ્રેકિંગ ડેટાબેઝમાં તે મુદ્દાની ઓળખ છે. જો તમારે સપોર્ટનો સંપર્ક કરવાની જરૂર હોય તો આ ઉપયોગી થઈ શકે છે.

નોંધ કરો કે ઉપકરણ સાથે સંકળાયેલ ઉપકરણ ફેમિલી પૅક (DFP) માં કેટલીક ઉપકરણ-વિશિષ્ટ સમસ્યાઓ સુધારવામાં આવી છે. DFP માં થયેલા ફેરફારો વિશેની માહિતી માટે અને નવીનતમ પેક ડાઉનલોડ કરવા માટે MPLAB પેક મેનેજરને જુઓ.

સંસ્કરણ 2.40

ખૂબ હળવા (XCS-2876) -mrelax વિકલ્પનો ઉપયોગ કરતી વખતે, કમ્પાઈલર કેટલાક વિભાગોને એકસાથે ફાળવી રહ્યું ન હતું, પરિણામે ઓછા શ્રેષ્ઠ કોડ માપમાં પરિણમે છે. આ નવી MUSL લાઇબ્રેરીઓનો ઉપયોગ કરતા કોડ સાથે અથવા નબળા પ્રતીકો સાથે થયું હોઈ શકે છે.
ચેતવણીમાં જણાવ્યા મુજબ મેપિંગ સુવિધા અક્ષમ નથી (XCS-2875) કોસ્ટ-ડેટા-ઇન-કોન્ફિગમેપ મેપ્ડપ્રોગ્મેમ ફીચર કોસ્ટ-ડેટા-ઇન-પ્રોમ ફીચરને સક્ષમ કરવા પર નિર્ભર છે. જો વિકલ્પનો ઉપયોગ કરીને ખર્ચ-ડેટા-આઇપકોન્ફિગ-મેપ્ડ-પ્રોએમ સુવિધા સ્પષ્ટપણે સક્ષમ કરવામાં આવી હતી અને ખર્ચ-ડેટા-ઇનપ્રોગ્મેમ સુવિધાને અક્ષમ કરવામાં આવી હતી, તો એક ચેતવણી સંદેશ જણાવવા છતાં, લિંક પગલું નિષ્ફળ ગયું proem લક્ષણ આપોઆપ નિષ્ક્રિય કરવામાં આવ્યું હતું, જે સંપૂર્ણપણે સાચું ન હતું. const-data-in-config-mapped-proem લક્ષણ હવે આ પરિસ્થિતિમાં સંપૂર્ણપણે નિષ્ક્રિય છે.
NVMCTRL (XCS-2848) ને યોગ્ય રીતે ઍક્સેસ કરવા માટે DFP ફેરફારો AVR64EA ઉપકરણો દ્વારા ઉપયોગમાં લેવાતો રનટાઈમ સ્ટાર્ટઅપ કોડ ધ્યાનમાં લેતો ન હતો કે NVMCTRL રજિસ્ટર કન્ફિગરેશન ચેન્જ પ્રોટેક્શન (સીસીપી) હેઠળ હતું અને કોન્સ્ટ-ડેટા-ઇન configmapped-પ્રોમ કમ્પાઈલર દ્વારા ઉપયોગમાં લેવાતા પૃષ્ઠ પર IO SFR સેટ કરવામાં સક્ષમ ન હતું. લક્ષણ AVR-Ex_DFP સંસ્કરણ 2.2.55 માં કરેલા ફેરફારો રનટાઇમ સ્ટાર્ટઅપ કોડને આ રજિસ્ટર પર યોગ્ય રીતે લખવાની મંજૂરી આપશે.
ફ્લેશ મેપિંગ ટાળવા માટે DFP ફેરફારો (XCS-2847) AVR128DA28/32/48/64 સિલિકોન ત્રુટિસૂચી (DS80000882) માં રિપોર્ટ કરાયેલ ફ્લેશ મેપિંગ ઉપકરણ સુવિધા સાથેની સમસ્યા માટે વર્ક-અરાઉન્ડ અમલમાં મૂકવામાં આવ્યો છે. const-data-in-config-mapped-proem કમ્પાઈલર સુવિધા અસરગ્રસ્ત ઉપકરણો માટે ડિફોલ્ટ રૂપે લાગુ કરવામાં આવશે નહીં, અને આ ફેરફાર AVR-Ex_DFP સંસ્કરણ 2.2.160 માં દેખાશે.
sinhf અથવા coshf (XCS-2834) સાથે ભૂલ બનાવો sinhf () અથવા coshf () લાઇબ્રેરી ફંક્શનનો ઉપયોગ કરવાના પ્રયાસોથી એક અવ્યાખ્યાયિત સંદર્ભનું વર્ણન કરતી લિંક ભૂલ આવી. સંદર્ભિત ગુમ થયેલ કાર્ય હવે કમ્પાઈલર વિતરણમાં સમાવવામાં આવેલ છે.
નોપા (XCS-2833) સાથે ભૂલો બનાવો નોપા એટ્રીબ્યુટનો ઉપયોગ એવા ફંક્શન સાથે કે જેમાં તેનું એસેમ્બલર નામ () તરીકે નો ઉપયોગ કરીને એસેમ્બલર તરફથી ટ્રિગર થયેલ ભૂલ સંદેશાઓનો ઉલ્લેખ કરવામાં આવ્યો હોય. આ સંયોજન શક્ય નથી.
નિર્દેશક દલીલો સાથે વિવિધ કાર્ય નિષ્ફળતા (XCS-2755, XCS-2731) દલીલોની ચલ સંખ્યા સાથેના કાર્યો વેરિયેબલ દલીલ સૂચિમાં 24-બીટ (_મેમો પ્રકાર) પોઇન્ટર પસાર થવાની અપેક્ષા રાખે છે જ્યારે કિંમત-ડેટા-ઇન-પ્રોમ સુવિધા સક્ષમ હોય. દલીલો કે જે ડેટા મેમરીના નિર્દેશક હતા તે 16-બીટ ઑબ્જેક્ટ તરીકે પસાર કરવામાં આવી રહ્યા હતા, જેના કારણે કોડ નિષ્ફળતા થઈ જ્યારે તેઓ આખરે વાંચવામાં આવ્યા. જ્યારે વિપક્ષ ડેટા-ઇન-પ્રોઇમ સુવિધા સક્ષમ હોય, ત્યારે તમામ 16-બીટ પોઇન્ટર દલીલો હવે 24-બીટ પોઇન્ટરમાં રૂપાંતરિત થાય છે. strtoxxx લાઇબ્રેરી ફંક્શન્સ ફેઇલિંગ (XCS-2620) જ્યારે const-data-in-proem સુવિધા સક્ષમ હતી, ત્યારે strtoxxx લાઇબ્રેરી ફંક્શન્સમાં એન્ટર પેરામીટર પ્રોગ્રામ મેમરીમાં ન હોય તેવા સ્ત્રોત સ્ટ્રિંગ દલીલો માટે યોગ્ય રીતે અપડેટ કરવામાં આવ્યું ન હતું.
અમાન્ય કાસ્ટ માટે ચેતવણીઓ (XCS-2612) જો કોસ્ટ-ઇન-પ્રોમ સુવિધા સક્ષમ હોય અને સ્ટ્રિંગ લિટરલનું સરનામું સ્પષ્ટપણે ડેટા એડ્રેસ સ્પેસ (કોન્સ્ટ ક્વોલિફાયરને ડ્રોપ કરીને) પર કાસ્ટ કરવામાં આવે તો કમ્પાઈલર હવે ભૂલ રજૂ કરશે.ample, (uint8 t *) “હેલો વર્લ્ડ!”. જો કોન્સ્ટ ડેટા પોઇન્ટર ડેટા એડ્રેસ સ્પેસ પર સ્પષ્ટપણે કાસ્ટ કરવામાં આવે ત્યારે એડ્રેસ અમાન્ય હોઈ શકે તો ચેતવણી એક મુદ્દો છે.
બિનપ્રારંભિક કોન્સ્ટ ઑબ્જેક્ટનું પ્લેસમેન્ટ (XCS-2408) અપ્રારંભિક કોન્સ્ટ અને કોન્સ્ટ v ઓલેટાઈલ ઓબ્જેક્ટો એવા ઉપકરણો પર પ્રોગ્રામ મેમરીમાં મૂકવામાં આવતા ન હતા કે જે તેમની પ્રોગ્રામ મેમરીનો આખો ભાગ અથવા ડેટા એડ્રેસ સ્પેસમાં મેપ કરે છે. આ ઉપકરણો માટે, આવા ઑબ્જેક્ટ્સ હવે પ્રોગ્રામ મેમરીમાં મૂકવામાં આવે છે, જે તેમની કામગીરીને અન્ય ઉપકરણો સાથે સુસંગત બનાવે છે.

સંસ્કરણ 2.39 (કાર્યકારી સલામતી પ્રકાશન)

કોઈ નહિ.

સંસ્કરણ 2.36

વિલંબ કરતી વખતે ભૂલ (XCS-2774) ડિફૉલ્ટ ફ્રી મોડ ઑપ્ટિમાઇઝેશનમાં નાના ફેરફારો, બિલ્ટ-ઇન ફંક્શનમાં વિલંબમાં ઑપરેન્ડ અભિવ્યક્તિઓના સતત ફોલ્ડિંગને અટકાવે છે, પરિણામે તેમને બિન-સંપર્ક તરીકે ગણવામાં આવે છે અને ભૂલને ટ્રિગર કરે છે: _buil tin avr delay_ cycles AC ઓમ્પિલની અપેક્ષા રાખે છે. સમય પૂર્ણાંક સ્થિરાંક.

સંસ્કરણ 2.35

_at (XCS-2653) નો ઉપયોગ કરીને સતત ફાળવણી એક જ નામ સાથે વિભાગમાં બહુવિધ ઑબ્જેક્ટ સ્થાનોની સતત ફાળવણી અને () નો ઉપયોગ યોગ્ય રીતે કામ કરતું નથી. માજી માટેample: constchararrl [ ] at tri butte (sect on(“.misses”))) at (Ox50 0 ) = {Oxo , Ox CD} ; કિંમત char arr2[ ] at tri butte ((વિભાગ(“.my s eke”)))) = {Oxen, Ox FE}; aril પછી તરત જ arr2 મૂકવો જોઈએ.
વિભાગના પ્રારંભ સરનામાંનો ઉલ્લેખ કરવો (XCS-2650) -Wal, -section-start વિકલ્પ નામાંકિત શરૂઆતના સરનામા પર વિભાગો મૂકવા માટે ચૂપચાપ નિષ્ફળ રહ્યો હતો. આ સમસ્યા કોઈપણ કસ્ટમ નામવાળા વિભાગો માટે ઠીક કરવામાં આવી છે; જો કે, તે કોઈપણ પ્રમાણભૂત વિભાગો માટે કામ કરશે નહીં, જેમ કે. ટેક્સ્ટ અથવા. bss, જે -Wl, -T વિકલ્પનો ઉપયોગ કરીને મૂકવો આવશ્યક છે.
આરામ કરતી વખતે લિંકર ક્રેશ થાય છે (XCS-2647) જ્યારે -relax ઑપ્ટિમાઇઝેશન સક્ષમ કરવામાં આવ્યું હતું અને ત્યાં કોડ અથવા ડેટા વિભાગો હતા જે ઉપલબ્ધ મેમરીમાં ફિટ ન હતા, લિંકર ક્રેશ થયું હતું. હવે આવા સંજોગોમાં તેના બદલે એરર મેસેજ જારી કરવામાં આવે છે.
ખરાબ EEPROM એક્સેસ (XCS-2629) લેપ્રોમા _read_ બ્લોક રૂટિન મેગા ઉપકરણો પર યોગ્ય રીતે કામ કરતું ન હતું જ્યારે -monist-data-in-proem વિકલ્પ સક્ષમ હતો (જે ડિફોલ્ટ સ્થિતિ છે), પરિણામે EEPROM મેમરી યોગ્ય રીતે વાંચવામાં આવતી નથી.
અમાન્ય મેમરી ફાળવણી (XCS-2593, XCS-2651) જ્યારે -ટેક્સ્ટ અથવા -ટાટા લિંકર વિકલ્પ (દા.તample એ -Wl ડ્રાઇવર વિકલ્પનો ઉપયોગ કરીને પસાર થાય છે) ઉલ્લેખિત છે, અનુરૂપ ટેક્સ્ટ/ડેટા ક્ષેત્ર મૂળ અપડેટ કરવામાં આવ્યું હતું; જો કે, અંતિમ સરનામું તે મુજબ એડજસ્ટ કરવામાં આવ્યું ન હતું, જેના કારણે પ્રદેશ લક્ષ્ય ઉપકરણની મેમરી રેન્જને ઓળંગી શકે છે.
અમાન્ય ATtiny ઇન્ટરપ્ટ કોડ (XCS-2465) જ્યારે ટાટિન ઉપકરણો અને ઑપ્ટિમાઇઝેશન્સ અક્ષમ કરવામાં આવ્યાં હતાં (-00), ત્યારે ઇન્ટરપ્ટ ફંક્શન્સ ઓપરેન્ડને રેન્જ એસેમ્બલર સંદેશાઓની બહાર ટ્રિગર કરી શકે છે.
વિકલ્પો પસાર થતા નથી (XCS-2452) બહુવિધ, અલ્પવિરામથી અલગ કરેલ લિંકર વિકલ્પો સાથે -Wl વિકલ્પનો ઉપયોગ કરતી વખતે, બધા લિંકર વિકલ્પો લિંકરને પસાર કરવામાં આવતા ન હતા.
પ્રોગ્રામ મેમરી (XCS-2450) વાંચવામાં પરોક્ષ રીતે ભૂલ કેટલાક કિસ્સાઓમાં, કમ્પાઈલરે પોઈન્ટરથી પ્રોગ્રામ મેમરીમાં બે બાઈટ વેલ્યુ વાંચતી વખતે આંતરિક ભૂલ (ઓળખી ન શકાય તેવી insn) પેદા કરી હતી.

સંસ્કરણ 2.32

પુસ્તકાલયની બીજી ઍક્સેસ નિષ્ફળ જાય છે (XCS-2381) xc8-ar ના વિન્ડોઝ વર્ઝનનો ઉપયોગ કરવો. exe લાઇબ્રેરી આર્કાઇવર બીજી વખત અસ્તિત્વમાં છે તે લાઇબ્રેરી આર્કાઇવને ઍક્સેસ કરવા માટે ભૂલ સંદેશનું નામ બદલવામાં અસમર્થતા સાથે નિષ્ફળ થઈ શકે છે.

સંસ્કરણ 2.31

અસ્પષ્ટ કમ્પાઇલર નિષ્ફળતાઓ (XCS-2367) જ્યારે વિન્ડોઝ પ્લેટફોર્મ્સ પર ચાલી રહ્યું હોય કે જેમાં સિસ્ટમ અસ્થાયી ડિરેક્ટરી એવા પાથ પર સેટ હોય જેમાં ડોટ' શામેલ હોય.' અક્ષર, કમ્પાઈલર ચલાવવામાં નિષ્ફળ થઈ શકે છે.

સંસ્કરણ 2.30

રૂપરેખા (XCS-2299) પછી વૈશ્વિક લેબલ્સ ખોવાઈ ગયા હાથથી લખાયેલ એસેમ્બલી કોડ કે જે એસેમ્બલી સિક્વન્સમાં વૈશ્વિક લેબલ્સ મૂકે છે જે પ્રક્રિયાગત અમૂર્તતા દ્વારા પરિબળ છે તે કદાચ યોગ્ય રીતે સ્થાનાંતરિત કરવામાં આવ્યું નથી.
આરામ આપનારો અકસ્માત (XCS-2287) -મેરલાડ વિકલ્પનો ઉપયોગ કરવાથી લિંકર ક્રેશ થવાનું કારણ બની શકે છે જ્યારે ટેલ જમ્પ રિલેક્સેશન ઑપ્ટિમાઇઝેશન્સે વિભાગના અંતમાં ન હોય તેવા ret સૂચનાને દૂર કરવાનો પ્રયાસ કર્યો હતો.
લેબલ્સને મૂલ્યો તરીકે ઑપ્ટિમાઇઝ કરતી વખતે ક્રેશ (XCS-2282) "મૂલ્યો તરીકે લેબલ્સ" નો ઉપયોગ કરીને કોડ GNU C ભાષા એક્સ્ટેંશનને કારણે પ્રક્રિયાગત એબ્સ્ટ્રેક્શન ઑપ્ટિમાઇઝેશન ક્રેશ થઈ શકે છે, જેમાં આઉટલાઈન કરેલ VMA રેન્જ સ્પેન્સ ફિક્સઅપ ભૂલ છે.
એટલા કોન્સ્ટ નથી (XCS-2271) શરૂઆત માટે પ્રોટોટાઇપ () અને અન્ય કાર્યો જ્યારે -monist-data inprogmem લક્ષણ નિષ્ક્રિય હોય ત્યારે પરત કરેલા સ્ટ્રિંગ પોઇન્ટર પર બિન-માનક કિંમત ક્વોલિફાયરનો હવે ઉલ્લેખ કરશો નહીં. નોંધ કરો કે avrxmega3 અને avertin ઉપકરણો સાથે, આ સુવિધા કાયમ માટે સક્ષમ છે.
લોસ્ટ ઇનિશિયલાઇઝર્સ (XCS-2269) જ્યારે અનુવાદ એકમમાં એક કરતાં વધુ ચલોને વિભાગમાં મૂકવામાં આવ્યા હતા (વિભાગ અથવા વિશેષતા ((વિભાગ)) નો ઉપયોગ કરીને), અને આવા પ્રથમ ચલ શૂન્ય આરંભીકૃત હતા અથવા તેમાં ઇનિશિયલાઈઝર નહોતું, સમાન અનુવાદ એકમમાં અન્ય ચલો માટે પ્રારંભિક જે સમાન વિભાગમાં મૂકવામાં આવ્યા હતા તે ખોવાઈ ગયા હતા.

સંસ્કરણ 2.29 (કાર્યકારી સલામતી પ્રકાશન)

કોઈ નહિ.

સંસ્કરણ 2.20

લાંબા આદેશો સાથે ભૂલ (XCS-1983) AVR લક્ષ્યનો ઉપયોગ કરતી વખતે, કમ્પાઈલર એ સાથે બંધ થઈ ગયું હોઈ શકે છે file ભૂલ મળી નથી, જો આદેશ વાક્ય અત્યંત મોટી હોય અને તેમાં વિશિષ્ટ અક્ષરો હોય જેમ કે અવતરણ, બેકસ્લેશ વગેરે.
અસાઇન કરેલ રોડેટા વિભાગ (XCS-1920) AVR લિંકર avrxmega3 અને avrtiny આર્કિટેક્ચર્સ માટે નિર્માણ કરતી વખતે કસ્ટમ રોડાટા વિભાગો માટે મેમરી સોંપવામાં નિષ્ફળ થયું, સંભવિત રીતે મેમરી ઓવરલેપ ભૂલો ઉત્પન્ન કરે છે

સંસ્કરણ 2.19 (કાર્યકારી સલામતી પ્રકાશન)

કોઈ નહિ.

સંસ્કરણ 2.10

રિલોકેશન નિષ્ફળતાઓ (XCS-1891) લિન્કર છૂટછાટ પછી વિભાગો વચ્ચેના ભાગમાં મેમરી 'છિદ્રો' છોડીને શ્રેષ્ઠ ફિટ એલોકટર. ફ્રેગમેન્ટિંગ મેમરી સિવાય, આનાથી પીસી-રિલેટિવ જમ્પ્સ અથવા કૉલ્સ રેન્જની બહાર થઈ જવા સંબંધિત લિંકર રિલોકેશન નિષ્ફળતાઓની શક્યતા વધી ગઈ છે.
સૂચનાઓ છૂટછાટ દ્વારા બદલાતી નથી (XCS-1889) જમ્પ અથવા કૉલ સૂચનાઓ માટે લિંકર છૂટછાટ આવી ન હતી જેના લક્ષ્યો હળવા હોય તો પહોંચી શકાય છે.
ખૂટે છે કાર્યક્ષમતા (XCSE-388) થી અનેક વ્યાખ્યાઓ , જેમ કે clock_ div_t અને clock_prescale_set (), ATmega324PB, ATmega328PB, ATtiny441, અને ATtiny841 સહિતના ઉપકરણો માટે વ્યાખ્યાયિત કરવામાં આવ્યાં નથી.
મેક્રો ખૂટે છે પ્રીપ્રોસેસર મેક્રો_ xcs _MODE_, _xcs VERSION, _xc, અને xcs કમ્પાઇલર દ્વારા આપમેળે વ્યાખ્યાયિત કરવામાં આવ્યાં નથી. આ હવે ઉપલબ્ધ છે.

સંસ્કરણ 2.05

આંતરિક કમ્પાઇલર ભૂલ (XCS-1822) વિન્ડોઝ હેઠળ બિલ્ડ કરતી વખતે, કોડને ઑપ્ટિમાઇઝ કરતી વખતે આંતરિક કમ્પાઇલર ભૂલ ઉત્પન્ન થઈ શકે છે.
રેમ ઓવરફ્લો મળી નથી (XCS-1800, XCS-1796) પ્રોગ્રામ્સ કે જે ઉપલબ્ધ RAM કરતાં વધી ગયા હતા તે કમ્પાઇલર દ્વારા કેટલીક પરિસ્થિતિઓમાં શોધી કાઢવામાં આવ્યા ન હતા, પરિણામે રનટાઇમ કોડ નિષ્ફળતામાં પરિણમે છે.
છોડેલી ફ્લેશ મેમરી (XCS-1792) avrxmega3 અને avrtiny ઉપકરણો માટે, ફ્લેશ મેમરીના ભાગો MPLAB X IDE દ્વારા અન-પ્રોગ્રામ કરેલા છોડી દેવામાં આવ્યા હશે.
મુખ્ય ચલાવવામાં નિષ્ફળતા (XCS-1788) કેટલીક પરિસ્થિતિઓમાં જ્યાં પ્રોગ્રામમાં કોઈ વૈશ્વિક ચલો વ્યાખ્યાયિત ન હતા, રનટાઇમ સ્ટાર્ટઅપ કોડ બહાર નીકળ્યો ન હતો અને મુખ્ય () ફંક્શન ક્યારેય પહોંચી શક્યું ન હતું.
ખોટી મેમરી માહિતી (XCS-1787) avrxmega3 અને avrtiny ઉપકરણો માટે, avr-સાઇઝ પ્રોગ્રામ રિપોર્ટ કરી રહ્યો હતો કે પ્રોગ્રામ મેમરીને બદલે ફક્ત વાંચવા માટેનો ડેટા RAM નો ઉપયોગ કરી રહ્યો છે.
ખોટી પ્રોગ્રામ મેમરી રીડ (XCS-1783) ડેટા એડ્રેસ સ્પેસમાં મેપ કરેલ પ્રોગ્રામ મેમરી સાથેના ઉપકરણો માટે કમ્પાઈલ કરાયેલ પ્રોજેક્ટ્સ અને જે PROGMEM મેક્રો/એટ્રિબ્યુટનો ઉપયોગ કરીને ઑબ્જેક્ટ્સને વ્યાખ્યાયિત કરે છે તે આ ઑબ્જેક્ટ્સને ખોટા સરનામાં પરથી વાંચી શકે છે.
વિશેષતાઓ સાથે આંતરિક ભૂલ (XCS-1773) જો તમે પોઇન્ટર ઑબ્જેક્ટને સાથે વ્યાખ્યાયિત કર્યું હોય તો આંતરિક ભૂલ આવી
_at() અથવા એટ્રિબ્યુટ() ટોકન્સ પોઇન્ટર નામ અને સંદર્ભિત પ્રકાર વચ્ચે, ભૂતપૂર્વ માટેampલે, ચાર*
_at ( 0x80015 0) cp; જો આવા કોડનો સામનો કરવો પડે તો હવે ચેતવણી જારી કરવામાં આવે છે.
મુખ્ય ચલાવવામાં નિષ્ફળતા (XCS-1780, XCS-1767, XCS-1754) EEPROM ચલોનો ઉપયોગ કરવો અથવા રૂપરેખા પ્રાગ્માનો ઉપયોગ કરીને ફ્યુઝને વ્યાખ્યાયિત કરવાથી મુખ્ય () સુધી પહોંચતા પહેલા, રનટાઇમ સ્ટાર્ટઅપ કોડમાં ખોટો ડેટા પ્રારંભ અને/અથવા લોકઅપ પ્રોગ્રામ એક્ઝેક્યુશનનું કારણ બની શકે છે.
નાના ઉપકરણો સાથે ફ્યુઝ ભૂલ (XCS-1778, XCS-1742) એટીની 4/5/9/10/20/40 ઉપકરણોમાં તેમના હેડરમાં ઉલ્લેખિત ફ્યુઝની ખોટી લંબાઈ હતી files જે ફ્યુઝને વ્યાખ્યાયિત કરતા કોડ બનાવવાનો પ્રયાસ કરતી વખતે લિંકર ભૂલો તરફ દોરી જાય છે.
સેગમેન્ટેશન ફોલ્ટ (XCS-1777) તૂટક તૂટક વિભાજનની ખામી સુધારાઈ છે.
એસેમ્બલર ક્રેશ (XCS-1761) જ્યારે ઉબુન્ટુ 18 હેઠળ કમ્પાઈલર ચલાવવામાં આવ્યું ત્યારે avr-as એસેમ્બલર ક્રેશ થઈ શકે છે.
ઑબ્જેક્ટ્સ સાફ નથી (XCS-1752) રનટાઇમ સ્ટાર્ટઅપ કોડ દ્વારા અપ્રારંભ ન કરાયેલ સ્ટેટિક સ્ટોરેજ અવધિના ઑબ્જેક્ટ્સ કદાચ ક્લિયર ન થયા હોય.
વિરોધાભાસી ઉપકરણ સ્પષ્ટીકરણ અવગણવામાં આવ્યું (XCS-1749) જ્યારે બહુવિધ ઉપકરણ સ્પષ્ટીકરણ વિકલ્પોનો ઉપયોગ કરવામાં આવ્યો હતો અને વિવિધ ઉપકરણો સૂચવવામાં આવ્યા હતા ત્યારે કમ્પાઇલર ભૂલ પેદા કરતું ન હતું.
ઢગલા દ્વારા મેમરી કરપ્શન (XCS-1748) હીપ_સ્ટાર્ટ સિમ્બોલ ખોટી રીતે સેટ કરવામાં આવ્યું હતું, જેના પરિણામે સામાન્ય વેરીએબલ્સ હીપ દ્વારા દૂષિત થવાની સંભાવના છે.
લિંકર રિલોકેશન ભૂલ (XCS-1739) જ્યારે કોડમાં 4k બાઇટ્સ દૂરના લક્ષ્ય સાથે rjmp અથવા rcall હોય ત્યારે લિંકર રિલોકેશન ભૂલ ઉત્સર્જિત થઈ શકે છે.

સંસ્કરણ 2.00

કોઈ નહિ.

જાણીતા મુદ્દાઓ

કમ્પાઈલરની કામગીરીમાં નીચેની મર્યાદાઓ છે. આ સામાન્ય કોડિંગ પ્રતિબંધો હોઈ શકે છે, અથવા
વપરાશકર્તાના માર્ગદર્શિકામાં સમાવિષ્ટ માહિતીમાંથી વિચલનો. શીર્ષકમાં કૌંસિત લેબલ (ઓ) ટ્રેકિંગ ડેટાબેઝમાં તે મુદ્દાની ઓળખ છે. જો તમારે સપોર્ટનો સંપર્ક કરવાની જરૂર હોય તો આ ફાયદાકારક હોઈ શકે છે. જે વસ્તુઓમાં લેબલ નથી તે મર્યાદાઓ છે જે મોડ ઓપરેન્ડીનું વર્ણન કરે છે અને જે કાયમી ધોરણે અમલમાં રહેવાની શક્યતા છે.

MPLAB X IDE એકીકરણ

MPLAB IDE એકીકરણ જો કમ્પાઈલરનો ઉપયોગ MPLAB IDE માંથી કરવાનો હોય, તો તમારે Compiler સ્થાપિત કરતા પહેલા MPLAB IDE ઈન્સ્ટોલ કરવું પડશે.

કોડ જનરેશન

PA મેમરી ફાળવણી નિષ્ફળતા (XCS-2881) પ્રક્રિયાગત એબ્સ્ટ્રેક્શન ઑપ્ટિમાઇઝર્સનો ઉપયોગ કરતી વખતે, જ્યારે કોડનું કદ ઉપકરણ પર ઉપલબ્ધ પ્રોગ્રામ મેમરીની માત્રાની નજીક હોય ત્યારે લિંકર મેમરી ફાળવણીની ભૂલોની જાણ કરી શકે છે, તેમ છતાં પ્રોગ્રામ ઉપલબ્ધ જગ્યામાં ફિટ થવા માટે સક્ષમ હોવો જોઈએ.
એટલું સ્માર્ટ સ્માર્ટ-IO (XCS-2872) નથી જો કોસ્ટ-ડેટા-ઇન-પ્રોમ સુવિધા અક્ષમ કરી દેવામાં આવી હોય અથવા જો ઉપકરણમાં તેની તમામ ફ્લેશ ડેટા મેમરીમાં મેપ કરેલી હોય, તો કમ્પાઈલરની સ્માર્ટ-io સુવિધા સ્પ્રિન્ટ ફંક્શન માટે માન્ય પરંતુ સબ ઑપ્ટિમલ કોડ જનરેટ કરશે.
તેનાથી પણ ઓછા સ્માર્ટ સ્માર્ટ-IO (XCS-2869) જ્યારે -floe અને -fno-buil ટીન વિકલ્પો બંનેનો ઉપયોગ કરવામાં આવે ત્યારે કમ્પાઈલરની સ્માર્ટ-io સુવિધા માન્ય પરંતુ સબઓપ્ટીમલ કોડ જનરેટ કરશે.
સબઓપ્ટીમલ રીડ-ઓન્લી ડેટા પ્લેસમેન્ટ (XCS-2849) લિંકર હાલમાં APPCODE અને APPDATA મેમરી વિભાગોથી વાકેફ નથી, કે મેમરી નકશામાં [No-]Read-While-Right Divisions વિશે. પરિણામે, ત્યાં એક નાની તક છે કે લિંકર મેમરીના અયોગ્ય વિસ્તારમાં ફક્ત વાંચવા માટેનો ડેટા ફાળવી શકે છે. જો કોસ્ટ-ડેટા-ઇન-પ્રાગ્મા સુવિધા સક્ષમ હોય તો ખોટા ડેટાની તક વધે છે, ખાસ કરીને જો કોસ્ટ-ડેટા-ઇન-કોન્ફિગ-મેપ-પ્રોમ સુવિધા પણ સક્ષમ હોય. જો જરૂરી હોય તો આ સુવિધાઓને અક્ષમ કરી શકાય છે.
ઑબ્જેક્ટ file પ્રોસેસિંગ ઓર્ડર (XCS-2863) જે ક્રમમાં વસ્તુઓ files ની પ્રક્રિયા લિંકર દ્વારા કરવામાં આવશે પ્રક્રિયાગત એબ્સ્ટ્રેક્શન ઓપ્ટિમાઇઝેશન (-mpa વિકલ્પ) ના ઉપયોગના આધારે અલગ હોઈ શકે છે. આ ફક્ત કોડને અસર કરશે જે બહુવિધ મોડ્યુલોમાં નબળા કાર્યોને વ્યાખ્યાયિત કરે છે.
સંપૂર્ણ (XCS-2777) સાથે લિંકર ભૂલ જ્યારે RAM ની શરૂઆતમાં સરનામાં પર ઑબ્જેક્ટ નિરપેક્ષ બનાવવામાં આવે છે અને બિન-પ્રારંભિક ઑબ્જેક્ટ પણ વ્યાખ્યાયિત કરવામાં આવે છે, ત્યારે લિંકર ભૂલ ટ્રિગર થઈ શકે છે.
શોર્ટ વેક-અપ ID (XCS-2775) ATA5700/2 ઉપકરણો માટે, PHID0/1 રજિસ્ટરને 16 બિટ્સ પહોળા કરતાં માત્ર 32 બિટ્સ પહોળા તરીકે વ્યાખ્યાયિત કરવામાં આવે છે.
સિમ્બોલ (XCS-2758)ને કૉલ કરતી વખતે લિંકર ક્રેશ લિંકર ક્રેશ થઈ શકે છે જો -મેરલાડ ડ્રાઈવર વિકલ્પનો ઉપયોગ કરવામાં આવે જ્યારે સ્રોત કોડ એવા પ્રતીકને કૉલ કરે છે જે -Wl, -defsym લિંકર વિકલ્પનો ઉપયોગ કરીને વ્યાખ્યાયિત થયેલ છે.
ખોટો પ્રારંભ (XCS-2679) કેટલાક વૈશ્વિક/સ્થિર બાઇટ-કદના ઑબ્જેક્ટ્સ માટે પ્રારંભિક મૂલ્યો ડેટા મેમરીમાં ક્યાં મૂકવામાં આવે છે અને રનટાઇમ સમયે વેરિયેબલ્સ ક્યાં એક્સેસ કરવામાં આવશે તે વચ્ચે વિસંગતતા છે.
ખોટી રીતે શરૂ કરેલ સેટ ખાલી (XCS-2652) ઉદાહરણોમાં જ્યાં જણાવ્યું () દ્વારા રૂપાંતરણ માટે વિષયની સ્ટ્રિંગમાં ઘાતાંકીય ફોર્મેટમાં ફ્લોટિંગ-પોઇન્ટ નંબર જે દેખાય છે તે સમાવિષ્ટ છે અને e અક્ષર પછી અનપેક્ષિત અક્ષર છે, તો ખાલી સરનામું, જો પ્રદાન કરવામાં આવે છે, તો તે પછીના અક્ષર તરફ નિર્દેશ કરશે e અને e પોતે નહીં. માજી માટેample: જણાવ્યું ("hooey", ખાલી); x અક્ષર માટે ખાલી પોઇન્ટિંગમાં પરિણમશે.
ખરાબ પરોક્ષ કાર્ય કૉલ્સ (XCS-2628) કેટલાક કિસ્સાઓમાં, સ્ટ્રક્ચરના ભાગ રૂપે સંગ્રહિત ફંક્શન પોઇન્ટર દ્વારા કરવામાં આવેલ ફંક્શન કોલ્સ નિષ્ફળ થઈ શકે છે.
હેક્સાડેસિમલ ફ્લોટ્સ માટે strtof શૂન્ય પરત કરે છે (XCS-2626) લાઇબ્રેરી ફંક્શન્સ strtof () et al અને scanf () et al, હંમેશા હેક્સાડેસિમલ ફ્લોટિંગ-પોઇન્ટ નંબરને કન્વર્ટ કરશે જે ઘાતાંકનો ઉલ્લેખ કરતું નથી
શૂન્ય માજી માટેample: સ્ટેટર("ઘુવડ", અને ખાલી); મૂલ્ય 0 પરત કરશે, 1 નહીં.
અચોક્કસ સ્ટેક એડવાઈઝર મેસેજિંગ (XCS-2542, XCS-2541) કેટલાક કિસ્સાઓમાં, પુનરાવર્તિત અથવા અનિશ્ચિત સ્ટેક (સંભવતઃ alloca() ના ઉપયોગ દ્વારા) વપરાયેલી સ્ટેક સલાહકાર ચેતવણી બહાર પાડવામાં આવતી નથી.
ડુપ્લિકેટ ઇન્ટરપ્ટ કોડ (XCS-2421) સાથે નિષ્ફળતા જ્યાં એક કરતાં વધુ ઈન્ટરપ્ટ ફંક્શન સમાન બોડી ધરાવે છે, ત્યાં કમ્પાઈલર પાસે એક ઈન્ટરપ્ટ ફંક્શન માટેનું આઉટપુટ હોઈ શકે છે જે બીજાને કૉલ કરે છે. આના પરિણામે તમામ કૉલ-ક્લોબરેડ રજિસ્ટર બિનજરૂરી રીતે સાચવવામાં આવશે, અને વર્તમાન ઇન્ટરપ્ટ હેન્ડલરનો ઉપસંહાર ચાલે તે પહેલાં જ વિક્ષેપો સક્ષમ થઈ જશે, જે કોડ નિષ્ફળતા તરફ દોરી શકે છે.
કોન્સ્ટ ઑબ્જેક્ટ્સ પ્રોગ્રામ મેમરીમાં નથી (XCS-2408) avrxmega3 અને avertins પ્રોજેક્ટ્સ માટે undealized const ઑબ્જેક્ટ્સ ડેટા મેમરીમાં મૂકવામાં આવે છે, તેમ છતાં ચેતવણી સૂચવે છે કે તેઓ પ્રોગ્રામ મેમરીમાં મૂકવામાં આવ્યા છે. આ ડેટા મેમરી સ્પેસમાં પ્રોગ્રામ મેમરી મેપ કરેલ ન હોય તેવા ઉપકરણોને અસર કરશે નહીં, કે તે કોઈપણ ઑબ્જેક્ટને અસર કરશે નહીં કે જે પ્રારંભ થયેલ છે.
અમાન્ય DFP પાથ (XCS-2376) સાથે ખરાબ આઉટપુટ જો કમ્પાઈલરને અમાન્ય DFP પાથ અને 'સ્પેક' સાથે બોલાવવામાં આવે તો file પસંદ કરેલ ઉપકરણ માટે અસ્તિત્વમાં છે, કમ્પાઈલર ગુમ થયેલ ઉપકરણ ફેમિલી પેકની જાણ કરતું નથી અને તેના બદલે 'સ્પેક' પસંદ કરે છે file, જે પછી અમાન્ય આઉટપુટ તરફ દોરી શકે છે. 'સ્પેક' files વિતરિત DFPs સાથે અદ્યતન ન હોઈ શકે અને તે ફક્ત આંતરિક કમ્પાઇલર પરીક્ષણ સાથે ઉપયોગ કરવા માટે બનાવાયેલ છે.
મેમરી ઓવરલેપ શોધાયેલ નથી (XCS-1966) કમ્પાઈલર સરનામું (એટ () દ્વારા) અને વિભાગ () સ્પષ્ટકર્તાનો ઉપયોગ કરીને અને તે જ સરનામાં સાથે જોડાયેલા અન્ય ઑબ્જેક્ટ્સ પર નિરપેક્ષ બનાવેલ ઑબ્જેક્ટ્સના મેમરી ઓવરલેપને શોધી શકતું નથી.
લાઇબ્રેરી કાર્યો અને _meme (XCS-1763) સાથે નિષ્ફળતા _memo એડ્રેસ સ્પેસમાં દલીલ સાથે કહેવાતા લિમ્બિક ફ્લોટ ફંક્શન્સ નિષ્ફળ થઈ શકે છે. નોંધ કરો કે લાઇબ્રેરી દિનચર્યા કેટલાક C ઓપરેટરો પાસેથી મંગાવવામાં આવે છે, તેથી, ઉદાહરણ તરીકેample, નીચેનો કોડ અસરગ્રસ્ત છે: regFloatVar > memxFloatVar પરત કરો;
મર્યાદિત લિમ્બિક અમલીકરણ (AVRTC-731) ATTiny4/5/9/10/20/40 ઉત્પાદનો માટે, લિમ્બિકમાં પ્રમાણભૂત C/ગણિત લાઇબ્રેરી અમલીકરણ ખૂબ મર્યાદિત છે અથવા હાજર નથી.
પ્રોગ્રામ મેમરી મર્યાદાઓ (AVRTC-732) 128 kb થી વધુની પ્રોગ્રામ મેમરી ઇમેજ ટૂલચેન દ્વારા સપોર્ટેડ છે; જો કે, જ્યારે -relax વિકલ્પનો ઉપયોગ કરવામાં આવે ત્યારે જરૂરી ફંક્શન સ્ટબ જનરેટ કરવાને બદલે છૂટછાટ વિના અને મદદરૂપ ભૂલ સંદેશા વિના લિંકર એબોર્ટ થવાના જાણીતા ઉદાહરણો છે.
નામ જગ્યા મર્યાદાઓ (AVRTC-733) નામવાળી સરનામાં જગ્યાઓ ટૂલચેન દ્વારા સમર્થિત છે, જે વપરાશકર્તાના માર્ગદર્શિકા વિભાગમાં ઉલ્લેખિત મર્યાદાઓને આધીન છે ખાસ પ્રકાર ક્વોલિફાયર.
સમય ઝોન આ લાઇબ્રેરી ફંક્શન્સ GMT ધારે છે અને સ્થાનિક સમય ઝોનને સપોર્ટ કરતા નથી, આમ સ્થાનિક સમય () gummite () જેવો જ સમય આપશેample

ગ્રાહક આધાર

file:///Applications/microehipA VR માટે /xc8/v 2 .40/docs/Read me_X C 8_. htm

દસ્તાવેજો / સંસાધનો

MICROCHIP MPLAB XC8 C કમ્પાઇલર સોફ્ટવેર [પીડીએફ] માલિકનું માર્ગદર્શિકા
MPLAB XC8 C, MPLAB XC8 C કમ્પાઇલર સૉફ્ટવેર, કમ્પાઇલર સૉફ્ટવેર, સૉફ્ટવેર

સંદર્ભો

એક ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. જરૂરી ક્ષેત્રો ચિહ્નિત થયેલ છે *