The#pragmaoptionsdirectivespecifiescompileroptionsforyoursourceprogram.SyntaxNotesBydefault,pragmaoptionsgenerallyapplytotheentiresourceprogram.Somepragmasmustbespecifiedbeforeanyprogramsourcestatements.Forthedocumentationformoreinformationonpragmaoptions.Tospecifymorethanonecompileroptionwiththe#pragmaoptionsdirective,separatetheoptionsusingablankspace.Forexample:#pragmaoptionslanglvl=stdc89halt=sspill=1024sourceMost#pragmaoptionsdirectivesmustcomebeforeanystatementsinyoursourceprogram;onlycomments,blanklines,andother#pragmaspecificationscanprecedethem.Forexample,thefirstfewlinesofyourprogramcanbeacommentfollowedbythe#pragmaoptionsdirective:/*Thefollowingisanexampleofa#pragmaoptionsdirective:*/#pragmaoptionslanglvl=stdc89halt=sspill=1024source/*Therestofthesourcefollows...*/Optionsspecifiedbeforeanycodeinyoursourceprogramapplytoyourentireprogramsourcecode.Youcanuseother#pragmadirectivesthroughoutyourprogramtoturnanoptiononforaselectedblockofsourcecode.Forexample,youcanrequestthatpartsofyoursourcecodebeincludedinyourcompilerlisting:#pragmaoptionssource/*Sourcecodebetweenthesourceandnosource#pragmaoptionsisincludedinthecompilerlisting*/#pragmaoptionsnosourceThesettingsinthetablebelowarevalidoptionsfor#pragmaoptions.Formoreinformation,refertothepagesoftheequivalentcompileroption.LanguageApplicationValidsettingsfor#pragmaoptionsoption_keywordCompileroptionequivalentDescriptionalign=option-qalignSpecifieswhataggregatealignmentrulesthecompilerusesforfilecompilation.[no]ansialias-qaliasSpecifieswhethertype-basedaliasingistobeusedduringoptimization.assert=option-qaliasInstructsthecompilertoapplyaliasingassertionstoyourcompilationunit.[no]attrattr=full-qattrProducesanattributelistingcontainingallnames.chars=option-qcharsSeealso#pragmacharsInstructsthecompilertotreatallvariablesoftypecharaseithersignedorunsigned.[no]check-qcheckGeneratescodewhichperformscertaintypesofrun-timechecking.[no]compact-qcompactWhenusedwithoptimization,reducescodesizewherepossible,attheexpenseofexecutionspeed.[no]dbcs-qmbcs,dbcsStringliteralsandcommentscancontainmultibytecharacters.[no]dbxextra-qdbxextraGeneratessymboltableinformationforunreferencedvariables.[no]digraph-qdigraphAllowsspecialdigraphandkeywordoperators.[no]dollar-qdollarAllowsthe$symboltobeusedinthenamesofidentifiers.enum=option-qenumSeealso#pragmaenumSpecifiestheamountofstorageoccupiedbytheenumerations.flag=option-qflagSpecifiestheminimumseveritylevelofdiagnosticmessagestobereported.Severitylevelscanalsobespecifiedwith:#pragmaoptionsflag=i=#pragmareport(level,I)#pragmaoptionsflag=w=#pragmareport(level,W)#pragmaoptionsflag=e,s,u=#pragmareport(level,E)float=[no]option-qfloatSpecifiesvariousfloatingpointoptionstospeeduporimprovetheaccuracyoffloatingpointoperations.[no]flttrap=option-qflttrapGeneratesextrainstructionstodetectandtrapfloatingpointexceptions.[no]fullpath-qfullpathSpecifiesthepathinformationstoredforfilesfordbxstabstrings.halt-qhaltStopscompilerwhenerrorsofthespecifiedseveritydetected.[no]idirfirst-qidirfirstSpecifiessearchorderforuserincludefiles.[no]ignerrno-qignerrnoAllowsthecompilertoperformoptimizationsthatassumeerrnoisnotmodifiedbysystemcalls.[no]ignprag-qignpragInstructsthecompilertoignorecertainpragmastatements.[no]info=option-qinfoSeealso#pragmainfoProducesinformationalmessages.initauto=value-qinitautoInitializesautomaticstoragetoaspecifiedhexadecimalbytevalue.isolated_call=names-qisolated_callSeealso#pragmaisolated_callSpecifiesfunctionsinthesourcefilethathavenosideeffects.langlvl-qlanglvlSpecifiesdifferentlanguagelevels.Thisdirectivecandynamicallyalterpreprocessorbehavior.Asaresult,compilingwiththe-Ecompileroptionmayproduceresultsdifferentfromthoseproducedwhennotcompilingwiththe-Eoption.[no]libansi-qlibansiAssumesthatallfunctionswiththenameofanANSIClibraryfunctionareinfactthesystemfunctions.[no]list-qlistProducesacompilerlistingthatincludesanobjectlisting.[no]longlong-qlonglongAllowslonglongtypesinyourprogram.[no]macpstr-qmacpstrConvertsPascalstringliteralsintonull-terminatedstringswherethefirstbytecontainsthelengthofthestring.[no]maxmem=number-qmaxmemInstructsthecompilertohaltcompilationwhenaspecifiednumberoferrorsofspecifiedorgreaterseverityisreached.[no]mbcs-qmbcs,dbcsStringliteralsandcommentscancontainmultibytecharacters.[no]optimizeoptimize=number-O,optimizeSpecifiestheoptimizationleveltoapplytoasectionofprogramcode.Thecompilerwillacceptthefollowingvaluesfornumber:0-setslevel0optimization2-setslevel2optimization3-setslevel3optimizationIfnovalueisspecifiedfornumber,thecompilerassumeslevel2optimization.priority=number-qprioritySeealso#pragmaprioritySpecifiestheprioritylevelfortheinitializationofstaticconstructors[no]proto-qprotoIfthisoptionisset,thecompilerassumesthatallfunctionsareprototyped.[no]ro-qroSpecifiesthestoragetypeforstringliterals.[no]roconst-qroconstSpecifiesthestoragelocationforconstantvalues.[no]showinc-qshowincIfusedwith-qsource,allincludefilesareincludedinthesourcelisting.[no]source-qsourceProducesasourcelisting.spill=number-qspi