{"id":574,"date":"2023-11-04T09:09:51","date_gmt":"2023-11-04T09:09:51","guid":{"rendered":"https:\/\/simulide.live\/p\/?page_id=574"},"modified":"2024-03-11T01:04:07","modified_gmt":"2024-03-11T01:04:07","slug":"compiler","status":"publish","type":"page","link":"https:\/\/simulide.com\/p\/compiler\/","title":{"rendered":"Compiler"},"content":{"rendered":"<style>.kb-row-layout-id574_1d6c01-9a > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id574_1d6c01-9a > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id574_1d6c01-9a > .kt-row-column-wrap{column-gap:var(--global-kb-gap-none, 0rem );row-gap:var(--global-kb-gap-none, 0rem );padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;grid-template-columns:minmax(0, calc(20% - ((var(--global-kb-gap-none, 0rem ) * 1 )\/2)))minmax(0, calc(80% - ((var(--global-kb-gap-none, 0rem ) * 1 )\/2)));}.kb-row-layout-id574_1d6c01-9a > .kt-row-layout-overlay{opacity:0.30;background-color:var(--global-palette9, #ffffff);}@media all and (max-width: 1024px){.kb-row-layout-id574_1d6c01-9a > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr) minmax(0, 2fr);}}@media all and (max-width: 767px){.kb-row-layout-id574_1d6c01-9a > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id574_1d6c01-9a alignnone kt-row-has-bg wp-block-kadence-rowlayout\"><div class=\"kt-row-layout-overlay kt-row-overlay-normal\"><\/div><div class=\"kt-row-column-wrap kt-has-2-columns kt-row-layout-right-golden kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>#wrapper.site{overflow:clip;}.kadence-column574_2d73b5-1d{--kb-section-setting-offset:50px;}.kadence-column574_2d73b5-1d > .kt-inside-inner-col,.kadence-column574_2d73b5-1d > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column574_2d73b5-1d > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column574_2d73b5-1d > .kt-inside-inner-col{flex-direction:column;}.kadence-column574_2d73b5-1d > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column574_2d73b5-1d > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column574_2d73b5-1d{position:relative;}@media all and (max-width: 1024px){.kadence-column574_2d73b5-1d > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column574_2d73b5-1d > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column574_2d73b5-1d kb-section-is-sticky\"><div class=\"kt-inside-inner-col\">\n<p class=\"has-medium-font-size\"><a href=\"https:\/\/simulide.com\/p\/simulidekb\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/simulidekb\/\"><strong>Index<\/strong><\/a><\/p>\n\n\n<style>.kt-accordion-id534_f8b077-cf .kt-accordion-inner-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:0px;}.kt-accordion-id534_f8b077-cf .kt-accordion-panel-inner{border-top:0px solid transparent;border-right:0px solid transparent;border-bottom:0px solid transparent;border-left:0px solid transparent;background:#ffffff;padding-top:0px;padding-right:0px;padding-bottom:var(--global-kb-spacing-xxs, 0.5rem);padding-left:0px;}.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:0px solid #f2f2f2;border-right:0px solid #f2f2f2;border-bottom:0px solid #f2f2f2;border-left:0px solid #f2f2f2;border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;background:#ffffff;font-size:var(--global-kb-font-size-sm, 0.9rem);font-weight:600;color:#444444;padding-top:6px;padding-right:30px;padding-bottom:0px;padding-left:0px;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger:before{background:#444444;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger{background:#444444;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-icon-trigger:before{background:#ffffff;}.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header:hover, \n\t\t\t\tbody:not(.hide-focus-outline) .kt-accordion-id534_f8b077-cf .kt-blocks-accordion-header:focus-visible{color:#444444;background:#ffffff;border-top-color:#eeeeee;border-top-style:solid;border-right-color:#eeeeee;border-right-style:solid;border-bottom-color:#eeeeee;border-bottom-style:solid;border-left-color:#eeeeee;border-left-style:solid;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:before, body:not(.hide-focus-outline) .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion--visible .kt-blocks-accordion-icon-trigger:after, body:not(.hide-focus-outline) .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle ) .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:before{background:#444444;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger, body:not(.hide-focus-outline) .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger{background:#444444;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger:before, body:not(.hide-focus-outline) .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:after, body:not(.hide-focus-outline) .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger:before{background:#ffffff;}.kt-accordion-id534_f8b077-cf .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{color:#333333;background:#ffffff;border-top-color:#0e9cd1;border-top-style:solid;border-right-color:#0e9cd1;border-right-style:solid;border-bottom-color:#0e9cd1;border-bottom-style:solid;border-left-color:#0e9cd1;border-left-style:solid;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basiccircle ):not( .kt-accodion-icon-style-xclosecircle ):not( .kt-accodion-icon-style-arrowcircle )  > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before{background:#333333;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger{background:#333333;}.kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:after, .kt-accordion-id534_f8b077-cf:not( .kt-accodion-icon-style-basic ):not( .kt-accodion-icon-style-xclose ):not( .kt-accodion-icon-style-arrow ) .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger:before{background:#ffffff;}@media all and (max-width: 1024px){.kt-accordion-id534_f8b077-cf .kt-accordion-panel-inner{border-top:0px solid transparent;border-right:0px solid transparent;border-bottom:0px solid transparent;border-left:0px solid transparent;}}@media all and (max-width: 1024px){.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:0px solid #f2f2f2;border-right:0px solid #f2f2f2;border-bottom:0px solid #f2f2f2;border-left:0px solid #f2f2f2;}}@media all and (max-width: 1024px){.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header:hover, \n\t\t\t\tbody:not(.hide-focus-outline) .kt-accordion-id534_f8b077-cf .kt-blocks-accordion-header:focus-visible{border-top-color:#eeeeee;border-top-style:solid;border-right-color:#eeeeee;border-right-style:solid;border-bottom-color:#eeeeee;border-bottom-style:solid;border-left-color:#eeeeee;border-left-style:solid;}}@media all and (max-width: 1024px){.kt-accordion-id534_f8b077-cf .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{border-top-color:#0e9cd1;border-top-style:solid;border-right-color:#0e9cd1;border-right-style:solid;border-bottom-color:#0e9cd1;border-bottom-style:solid;border-left-color:#0e9cd1;border-left-style:solid;}}@media all and (max-width: 767px){.kt-accordion-id534_f8b077-cf .kt-accordion-inner-wrap{display:block;}.kt-accordion-id534_f8b077-cf .kt-accordion-inner-wrap .kt-accordion-pane:not(:first-child){margin-top:0px;}.kt-accordion-id534_f8b077-cf .kt-accordion-panel-inner{border-top:0px solid transparent;border-right:0px solid transparent;border-bottom:0px solid transparent;border-left:0px solid transparent;}.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header{border-top:0px solid #f2f2f2;border-right:0px solid #f2f2f2;border-bottom:0px solid #f2f2f2;border-left:0px solid #f2f2f2;}.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header:hover, \n\t\t\t\tbody:not(.hide-focus-outline) .kt-accordion-id534_f8b077-cf .kt-blocks-accordion-header:focus-visible{border-top-color:#eeeeee;border-top-style:solid;border-right-color:#eeeeee;border-right-style:solid;border-bottom-color:#eeeeee;border-bottom-style:solid;border-left-color:#eeeeee;border-left-style:solid;}.kt-accordion-id534_f8b077-cf .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible,\n\t\t\t\t.kt-accordion-id534_f8b077-cf > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header.kt-accordion-panel-active{border-top-color:#0e9cd1;border-top-style:solid;border-right-color:#0e9cd1;border-right-style:solid;border-bottom-color:#0e9cd1;border-bottom-style:solid;border-left-color:#0e9cd1;border-left-style:solid;}}<\/style>\n<div class=\"wp-block-kadence-accordion alignnone\"><div class=\"kt-accordion-wrap kt-accordion-id534_f8b077-cf kt-accordion-has-7-panes kt-active-pane-1 kt-accordion-block kt-pane-header-alignment-left kt-accodion-icon-style-arrow kt-accodion-icon-side-left\" style=\"max-width:none\"><div class=\"kt-accordion-inner-wrap\" data-allow-multiple-open=\"true\" data-start-open=\"1\">\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-2 kt-pane534_97206f-18\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\">Application<\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<ul style=\"margin-right:0;margin-left:0;font-size:14px\" class=\"wp-block-list\">\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/basic-use\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/circuit-tool-bar\/\">Basic use.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/settings\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/circuit-canvas\/\">Settings.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/message-panel\/\">Message panels.<\/a><\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-3 kt-pane534_2578b0-9d\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\">Circuit<\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<ul style=\"font-size:14px\" class=\"wp-block-list\">\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/circuit-tool-bar\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/circuit-tool-bar\/\">Circuit tool bar.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/circuit-canvas\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/circuit-canvas\/\">Circuit canvas.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/circuit-animation\/\">Circuit animation.<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/simulide.com\/p\/info-panel\/\">Info panel.<\/a><\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-5 kt-pane534_8fa430-37\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\">Components<\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<ul style=\"font-size:14px\" class=\"wp-block-list\">\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/component\/\">Components.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/component-list\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/component-list\">Component list.<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/simulide.com\/p\/logic-components\/\">Logic Components.<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/simulide.com\/p\/mcus\/\">Microcontrollers.<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/simulide.com\/p\/scripted\/\">Scripted.<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/simulide.com\/p\/linking-components\/\">Linking Components<\/a>.<\/li>\n\n\n\n<li><a href=\"https:\/\/simulide.com\/p\/custom-components\/\">Custom Components.<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/simulide.com\/p\/subcircuits\/\">Subcircuits<\/a><\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-4 kt-pane534_59e65b-35\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\">Editor\/Compiler<\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<ul style=\"font-size:14px\" class=\"wp-block-list\">\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/code-editor\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/code-editor\/\">Code Editor.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/compiler\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/compiler\/\">Compiler.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/debugger\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/debugger\/\">Debugger.<\/a><\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-6 kt-pane534_d28897-c1\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\">Files<\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<ul style=\"font-size:14px\" class=\"wp-block-list\">\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/file-explorer\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/file-explorer\/\">File explorer.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/file-organization\/\">File organization.<\/a><\/li>\n<\/ul>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-kadence-pane kt-accordion-pane kt-accordion-pane-7 kt-pane534_ce48b7-34\"><div class=\"kt-accordion-header-wrap\"><button class=\"kt-blocks-accordion-header kt-acccordion-button-label-show\" type=\"button\"><span class=\"kt-blocks-accordion-title-wrap\"><span class=\"kt-blocks-accordion-title\">Development<\/span><\/span><span class=\"kt-blocks-accordion-icon-trigger\"><\/span><\/button><\/div><div class=\"kt-accordion-panel kt-accordion-panel-hidden\"><div class=\"kt-accordion-panel-inner\">\n<ul style=\"font-size:14px\" class=\"wp-block-list\">\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/source-code\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/source-code\/\">Source code.<\/a><\/li>\n\n\n\n<li style=\"font-style:normal;font-weight:400\"><a href=\"https:\/\/simulide.com\/p\/dependencies\/\" data-type=\"link\" data-id=\"https:\/\/simulide.live\/p\/dependencies\/\">Dependencies.<\/a><\/li>\n<\/ul>\n<\/div><\/div><\/div>\n<\/div><\/div><\/div>\n<\/div><\/div>\n\n\n<style>.kadence-column574_8b6757-cb > .kt-inside-inner-col{display:flex;}.kadence-column574_8b6757-cb > .kt-inside-inner-col,.kadence-column574_8b6757-cb > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column574_8b6757-cb > .kt-inside-inner-col{row-gap:20px;column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column574_8b6757-cb > .kt-inside-inner-col{flex-direction:column;}.kadence-column574_8b6757-cb > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column574_8b6757-cb > .kt-inside-inner-col{background-color:var(--global-palette9, #ffffff);}.kadence-column574_8b6757-cb > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column574_8b6757-cb{position:relative;}@media all and (max-width: 1024px){.kadence-column574_8b6757-cb > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column574_8b6757-cb > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column574_8b6757-cb\"><div class=\"kt-inside-inner-col\"><style>.wp-block-kadence-advancedheading.kt-adv-heading574_8fb06b-6c, .wp-block-kadence-advancedheading.kt-adv-heading574_8fb06b-6c[data-kb-block=\"kb-adv-heading574_8fb06b-6c\"]{text-align:center;font-style:normal;background-color:#f0f0d2;text-shadow:-1.2px 1.2px 1.1px rgba(0,0,0,0.3);border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.wp-block-kadence-advancedheading.kt-adv-heading574_8fb06b-6c mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading574_8fb06b-6c[data-kb-block=\"kb-adv-heading574_8fb06b-6c\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading574_8fb06b-6c img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading574_8fb06b-6c[data-kb-block=\"kb-adv-heading574_8fb06b-6c\"] img.kb-inline-image{width:150px;vertical-align:baseline;}@media all and (max-width: 1024px){.wp-block-kadence-advancedheading.kt-adv-heading574_8fb06b-6c, .wp-block-kadence-advancedheading.kt-adv-heading574_8fb06b-6c[data-kb-block=\"kb-adv-heading574_8fb06b-6c\"]{text-shadow:-1.2px 1.2px 1.1px rgba(0,0,0,0.3);}}@media all and (max-width: 767px){.wp-block-kadence-advancedheading.kt-adv-heading574_8fb06b-6c, .wp-block-kadence-advancedheading.kt-adv-heading574_8fb06b-6c[data-kb-block=\"kb-adv-heading574_8fb06b-6c\"]{text-shadow:-1.2px 1.2px 1.1px rgba(0,0,0,0.3);}}<\/style>\n<h1 class=\"kt-adv-heading574_8fb06b-6c wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading574_8fb06b-6c\">SimulIDE Knowledge Base<br>&#8211; COMPILERS &#8211;<\/h1>\n\n\n<div class=\"external-markdown\"><p>SimulIDE does not distribute any compiler.<br> To use a compiler it must be installed in your system and working properly.<br><\/p>\n<p>Then SimulIDE can use it by executing it\u2019s command and arguments.<br> This is achieved by configuring the compiler command and options in XML files located at SimulIDE\/data\/codeeditor\/compilers\/ or User_data_folder\/codeeditor\/compilers\/<br><\/p>\n<p>There are some compilers already configured included in SimulIDE, but you might need to tweak some settings within the XML file according to your compiler\u2019s specifications (e.g., altering the executable name or extension for Windows).<br> See <a href=\"#file-structure\">File Structure<\/a> below to know how these files work and how to edit them or <a href=\"#adding-compilers\">add new compilers<\/a>.<br> If you have any questions please ask in our <a href=\"https:\/\/simulide.forumotion.com\/\">forum<\/a><\/p>\n<p>Some compilers are automatically loaded for some file extensions, for example:<br> <strong>.ino<\/strong> : <a href=\"\/p\/arduino-compiler\">Arduino compiler<\/a>.<br> <strong>.gcb<\/strong>: <a href=\"\/p\/gcbasic-compiler\">GcBasic compiler<\/a>.<br> <strong>.as<\/strong> : <a href=\"\/p\/script-compiler\">Script compiler<\/a>. <br><\/p>\n<p>If your file has a different extension, you need to choose a compiler for that file or create a new one.<br><\/p>\n<hr \/>\n<h2 id=\"settings\">Settings:<\/h2>\n<p>In version 1.0.0, open \u201cCompiler Settings\u201d in the tool bar by selecting it from the <img decoding=\"async\" src=\"\/p\/images\/settings.svg\" alt=\"settings.svg\"> Settings menu and choose a compiler from the list.<br><\/p>\n<p>In version 1.1.0 first choose a compiler in \u201cFile Settings\u201d then configure the compiler in \u201cCompiler Settings\u201d.<br><\/p>\n<p>Once there, customize any options (like \u2018Tool Path\u2019) if necessary.<br><\/p>\n<p><img decoding=\"async\" src=\"\/p\/images\/comp_settings.png\" alt=\"comp_settings.png\"><\/p>\n<p>Options can be different for each compiler and will be added depending on the fields used in the configuration file.<\/p>\n<p><br><\/p>\n<hr \/>\n<h2 id=\"compiling\">Compiling:<\/h2>\n<p>Once the compiler is configured you can compile the file by clicking in the compile button in the tool bar: <img decoding=\"async\" src=\"\/p\/images\/compile.svg\" alt=\"compile.svg\"> <br> Have a look at the bottom panel to see the output of the compiling process and check if there is some error.<\/p>\n<p>If there are no errors you can upload the hex file generated to a microcontroller in the circuit by clicking the upload button in tool bar: <img decoding=\"async\" src=\"\/p\/images\/upload.svg\" alt=\"upload.svg\"> <br> If you click the upload button it will compile first and then upload.<\/p>\n<p><strong>Important!!<\/strong> <br> Note that if there is more than one microcontroller in the circuit, the hex file will be uploaded to the \u201cactive\u201d microcontroller, which is the one with a yellow dot:<\/p>\n<p><img decoding=\"async\" src=\"\/p\/images\/mainmcu.png\" alt=\"mainmcu.png\"><\/p>\n<p>To change the \u201cactive\u201d microcontroller, right-click on it to open context menu and select \u201cMain Mcu\u201d<\/p>\n<p><br><\/p>\n<hr \/>\n<h2 id=\"adding-compilers\">Adding Compilers:<\/h2>\n<p>Compilers are defined in xml files located at:<br> SimulIDE_1.x.x\/data\/codeeditor\/compilers\/compilers<br> SimulIDE_1.x.x\/data\/codeeditor\/compilers\/assemblers<\/p>\n<p>These xml files define the type of compiler, build path, build steps, syntax highlighting, and other atributes needed by be compiler.<\/p>\n<p>If the compiler you want is not included in the list, you can add new compilers.<\/p>\n<p>To add a compiler, just add an xml file in the folders mentioned above.<br> Your compiler will be added to the list in Compiler Settings dialog.<\/p>\n<p><br><\/p>\n<hr \/>\n<h2 id=\"file-structure\">File structure:<\/h2>\n<p>The structure of the xml file is like this:<\/p>\n<div class=\"sourceCode\" id=\"cb1\"><pre class=\"sourceCode xml\"><code class=\"sourceCode xml\"><span id=\"cb1-1\"><a href=\"#cb1-1\" aria-hidden=\"true\"><\/a><span class=\"kw\">&lt;compiler<\/span><span class=\"ot\"> name=<\/span><span class=\"st\">&quot;anyName&quot;<\/span><span class=\"ot\"> type=<\/span><span class=\"st\">&quot;xx&quot;<\/span><span class=\"ot\"> buildPath=<\/span><span class=\"st\">&quot;somePath&quot;<\/span><span class=\"ot\"> syntax=<\/span><span class=\"st\">&quot;f.syntax&quot;<\/span> <span class=\"kw\">&gt;<\/span><\/span>\n<span id=\"cb1-2\"><a href=\"#cb1-2\" aria-hidden=\"true\"><\/a>    <span class=\"kw\">&lt;step<\/span> <\/span>\n<span id=\"cb1-3\"><a href=\"#cb1-3\" aria-hidden=\"true\"><\/a><span class=\"ot\">        command=<\/span><span class=\"st\">&quot;executable&quot;<\/span><\/span>\n<span id=\"cb1-4\"><a href=\"#cb1-4\" aria-hidden=\"true\"><\/a><span class=\"ot\">        arguments=<\/span><span class=\"st\">&quot; arguments for executable&quot;<\/span><\/span>\n<span id=\"cb1-5\"><a href=\"#cb1-5\" aria-hidden=\"true\"><\/a><span class=\"ot\">        argsDebug=<\/span><span class=\"st\">&quot; arguments for executable in debug mode&quot;<\/span><\/span>\n<span id=\"cb1-6\"><a href=\"#cb1-6\" aria-hidden=\"true\"><\/a>    <span class=\"kw\">\/&gt;<\/span><\/span>\n<span id=\"cb1-7\"><a href=\"#cb1-7\" aria-hidden=\"true\"><\/a>    <span class=\"kw\">&lt;step<\/span> <\/span>\n<span id=\"cb1-8\"><a href=\"#cb1-8\" aria-hidden=\"true\"><\/a><span class=\"ot\">        command=<\/span><span class=\"st\">&quot;executable2&quot;<\/span><\/span>\n<span id=\"cb1-9\"><a href=\"#cb1-9\" aria-hidden=\"true\"><\/a><span class=\"ot\">        arguments=<\/span><span class=\"st\">&quot; arguments for executable2&quot;<\/span><\/span>\n<span id=\"cb1-10\"><a href=\"#cb1-10\" aria-hidden=\"true\"><\/a><span class=\"ot\">        argsDebug=<\/span><span class=\"st\">&quot; arguments for executable2 in debug mode&quot;<\/span><\/span>\n<span id=\"cb1-11\"><a href=\"#cb1-11\" aria-hidden=\"true\"><\/a>    <span class=\"kw\">\/&gt;<\/span><\/span>\n<span id=\"cb1-12\"><a href=\"#cb1-12\" aria-hidden=\"true\"><\/a><span class=\"kw\">&lt;\/compiler&gt;<\/span><\/span><\/code><\/pre><\/div>\n<p>First the compiler name, type and other characteristics are defined in the field \u201ccompiler\u201d.<br> Then you can add as many build steps as you want in fields \u201cstep\u201d.<\/p>\n<p><br><\/p>\n<hr \/>\n<h2 id=\"field-compiler\">Field \u201ccompiler\u201d:<\/h2>\n<div class=\"sourceCode\" id=\"cb2\"><pre class=\"sourceCode xml\"><code class=\"sourceCode xml\"><span id=\"cb2-1\"><a href=\"#cb2-1\" aria-hidden=\"true\"><\/a><span class=\"kw\">&lt;compiler<\/span><span class=\"ot\"> name=<\/span><span class=\"st\">&quot;anyName&quot;<\/span><span class=\"ot\"> type=<\/span><span class=\"st\">&quot;anyType&quot;<\/span><span class=\"ot\"> buildPath=<\/span><span class=\"st\">&quot;somePath&quot;<\/span><span class=\"ot\"> syntax=<\/span><span class=\"st\">&quot;syntaxFile&quot;<\/span> <span class=\"kw\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n<p><strong>name:<\/strong> This name will appear in the compiler list in Compiler Settings dialog.<\/p>\n<p><strong>type:<\/strong> can define certain characteristics of the debugger.<br> You can encode some characteristics in 2 numbers at the end, for example when type=\u201cmyType01\u201d<br> The key is in the last 2 numeric digits: \u201c01\u201d.<br> From left to right:<\/p>\n<p>First digit \"0*\" language level:<br> Value can be 0 or 1: 0 for asm, 1 for high level<\/p>\n<p>Second digit \"*1\" lst file type:<br> Value can be from 0 to 3:<br> - Bit 0: use \u201c:\u201d ?<br> 0 doesn\u2019t use \u201c:\u201d (gpasm ).<br> 1 uses \u201c:\u201d (avra, gavrasm)<br> - Bit 1: position of flash address (0 or 1)<\/p>\n<p><strong>buildPath:<\/strong> folder to be used as build path by the compiler.<br> You can use \u201csubstitutions\u201d, for example if the source file is: <br> And you define buildPath like this: buildPath=\u201cbuild_$fileName\u201d<br> Then a folder with name build_myfile will be created and used as build path.<\/p>\n<p>Note that you must use this path in your command arguments if needed (see example below).<\/p>\n<p><strong>syntax:<\/strong> syntax file used for highlighting.<br> Syntax files are located at: SimulIDE_1.x.x\/data\/codeeditor\/syntax\/<br> You can add your custom syntax files in that folder and use in your compiler definitions.<\/p>\n<p><br><\/p>\n<hr \/>\n<h2 id=\"build-steps\">Build steps:<\/h2>\n<p>You can add as many build steps as you want.<br> Each step need to have at least a \u201ccommand\u201d.<\/p>\n<div class=\"sourceCode\" id=\"cb3\"><pre class=\"sourceCode xml\"><code class=\"sourceCode xml\"><span id=\"cb3-1\"><a href=\"#cb3-1\" aria-hidden=\"true\"><\/a>    <span class=\"kw\">&lt;step<\/span> <\/span>\n<span id=\"cb3-2\"><a href=\"#cb3-2\" aria-hidden=\"true\"><\/a><span class=\"ot\">        command=<\/span><span class=\"st\">&quot;executable&quot;<\/span><\/span>\n<span id=\"cb3-3\"><a href=\"#cb3-3\" aria-hidden=\"true\"><\/a><span class=\"ot\">        arguments=<\/span><span class=\"st\">&quot; arguments for executable&quot;<\/span><\/span>\n<span id=\"cb3-4\"><a href=\"#cb3-4\" aria-hidden=\"true\"><\/a><span class=\"ot\">        argsDebug=<\/span><span class=\"st\">&quot; arguments for executable in debug mode&quot;<\/span><\/span>\n<span id=\"cb3-5\"><a href=\"#cb3-5\" aria-hidden=\"true\"><\/a>    <span class=\"kw\">\/&gt;<\/span><\/span><\/code><\/pre><\/div>\n<p><strong>command:<\/strong> command to execute.<br> <strong>arguments:<\/strong> arguments to add to the command when compiling.<br> <strong>argsDebug:<\/strong> arguments to add to the command when compiling for debug.<\/p>\n<p><br><\/p>\n<hr \/>\n<p><strong>Substitutions:<\/strong> You can use some substitutions in your command arguments and other values.<br> For example $FilePath will be replaced with the actual path to the source file.<\/p>\n<p>Let\u2019s say we have this source file: \/home\/user\/myfile.asm<br> Then we can use these substitutions:<\/p>\n<table>\n<thead>\n<tr class=\"header\">\n<th>Wildcard<\/th>\n<th style=\"text-align: center;\">Example<\/th>\n<th style=\"text-align: right;\">Replaced with<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"odd\">\n<td><strong>$filePath<\/strong><\/td>\n<td style=\"text-align: center;\">\/home\/user\/myfile.asm<\/td>\n<td style=\"text-align: right;\">complete file path<\/td>\n<\/tr>\n<tr class=\"even\">\n<td><strong>$fileDir<\/strong><\/td>\n<td style=\"text-align: center;\">\/home\/user\/<\/td>\n<td style=\"text-align: right;\">path to file folder<\/td>\n<\/tr>\n<tr class=\"odd\">\n<td><strong>$fileName<\/strong><\/td>\n<td style=\"text-align: center;\">myfile<\/td>\n<td style=\"text-align: right;\">file name (without extension)<\/td>\n<\/tr>\n<tr class=\"even\">\n<td><strong>$fileExt<\/strong><\/td>\n<td style=\"text-align: center;\">.asm<\/td>\n<td style=\"text-align: right;\">file extension (with dot)<\/td>\n<\/tr>\n<tr class=\"odd\">\n<td><strong>$buildPath<\/strong><\/td>\n<td style=\"text-align: center;\">-<\/td>\n<td style=\"text-align: right;\">build path (defined in xml file)<\/td>\n<\/tr>\n<tr class=\"even\">\n<td><strong>$inclPath<\/strong><\/td>\n<td style=\"text-align: center;\">-<\/td>\n<td style=\"text-align: right;\">include path (defined in Settings Dialog)<\/td>\n<\/tr>\n<tr class=\"odd\">\n<td><strong>$family<\/strong><\/td>\n<td style=\"text-align: center;\">-<\/td>\n<td style=\"text-align: right;\">device family (defined in Settings Dialog)<\/td>\n<\/tr>\n<tr class=\"even\">\n<td><strong>$device<\/strong><\/td>\n<td style=\"text-align: center;\">-<\/td>\n<td style=\"text-align: right;\">device model (defined i Settings Dialog)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><br><\/p>\n<hr \/>\n<h2 id=\"example\">Example:<\/h2>\n<p>This is a simplified version of the xml file for Avr gcc compiler:<\/p>\n<div class=\"sourceCode\" id=\"cb4\"><pre class=\"sourceCode xml\"><code class=\"sourceCode xml\"><span id=\"cb4-1\"><a href=\"#cb4-1\" aria-hidden=\"true\"><\/a><span class=\"kw\">&lt;compiler<\/span><span class=\"ot\"> name=<\/span><span class=\"st\">&quot;Avrgcc&quot;<\/span><span class=\"ot\"> type=<\/span><span class=\"st\">&quot;avrgcc&quot;<\/span><span class=\"ot\"> buildPath=<\/span><span class=\"st\">&quot;build_$fileName&quot;<\/span><span class=\"ot\"> useDevice=<\/span><span class=\"st\">&quot;true&quot;<\/span><span class=\"kw\">&gt;<\/span><\/span>\n<span id=\"cb4-2\"><a href=\"#cb4-2\" aria-hidden=\"true\"><\/a>  <span class=\"kw\">&lt;step<\/span> <\/span>\n<span id=\"cb4-3\"><a href=\"#cb4-3\" aria-hidden=\"true\"><\/a><span class=\"ot\">    command=<\/span><span class=\"st\">&quot;avr-gcc&quot;<\/span><\/span>\n<span id=\"cb4-4\"><a href=\"#cb4-4\" aria-hidden=\"true\"><\/a><span class=\"ot\">    arguments=<\/span><span class=\"st\">&quot; -mmcu=$device -Os -o $buildPath$fileName.elf $filePath&quot;<\/span><\/span>\n<span id=\"cb4-5\"><a href=\"#cb4-5\" aria-hidden=\"true\"><\/a><span class=\"ot\">    argsDebug=<\/span><span class=\"st\">&quot; -mmcu=$device -Og -o $buildPath$fileName.elf $filePath&quot;<\/span><\/span>\n<span id=\"cb4-6\"><a href=\"#cb4-6\" aria-hidden=\"true\"><\/a>  <span class=\"kw\">\/&gt;<\/span><\/span>\n<span id=\"cb4-7\"><a href=\"#cb4-7\" aria-hidden=\"true\"><\/a>  <span class=\"kw\">&lt;step<\/span> <\/span>\n<span id=\"cb4-8\"><a href=\"#cb4-8\" aria-hidden=\"true\"><\/a><span class=\"ot\">    command=<\/span><span class=\"st\">&quot;avr-objcopy&quot;<\/span><\/span>\n<span id=\"cb4-9\"><a href=\"#cb4-9\" aria-hidden=\"true\"><\/a><span class=\"ot\">    arguments=<\/span><span class=\"st\">&quot; ihex $buildPath$fileName.elf $buildPath$fileName.hex&quot;<\/span><\/span>\n<span id=\"cb4-10\"><a href=\"#cb4-10\" aria-hidden=\"true\"><\/a>  <span class=\"kw\">\/&gt;<\/span><\/span>\n<span id=\"cb4-11\"><a href=\"#cb4-11\" aria-hidden=\"true\"><\/a><span class=\"kw\">&lt;compiler\/&gt;<\/span><\/span><\/code><\/pre><\/div>\n<p>Let\u2019s say that we are compiling a file with path: <em>\/path\/toMyproject\/mycode.c<\/em><br> And we have these settings for the compiler:<br> <strong>Tool Path:<\/strong> <em>\/path\/to\/myCompiler\/<\/em><br> <strong>Device:<\/strong> <em>atmega8<\/em><\/p>\n<p>It will do these substitutions for the first build step:<\/p>\n<p>buildPath=\u201cbuild_<strong>$fileName<\/strong>\u201d is changed to: buildPath=\u201c\/path\/toMyproject\/build_<strong>mycode<\/strong>\u201d<\/p>\n<p>-mmcu=<strong>$device<\/strong> is changed to: -mmcu=<strong>atmega8<\/strong><\/p>\n<p><strong><span class=\"math inline\"><em>b<\/em><em>u<\/em><em>i<\/em><em>l<\/em><em>d<\/em><em>P<\/em><em>a<\/em><em>t<\/em><em>h<\/em>\u2005*\u2005\u2005*\u2005<em>i<\/em><em>s<\/em><em>c<\/em><em>h<\/em><em>a<\/em><em>n<\/em><em>g<\/em><em>e<\/em><em>d<\/em><em>t<\/em><em>o<\/em>\u2004:\u2004\u2005*\u2005\u2005*\u2005\/<em>p<\/em><em>a<\/em><em>t<\/em><em>h<\/em>\/<em>t<\/em><em>o<\/em><em>M<\/em><em>y<\/em><em>p<\/em><em>r<\/em><em>o<\/em><em>j<\/em><em>e<\/em><em>c<\/em><em>t<\/em>\/<em>b<\/em><em>u<\/em><em>i<\/em><em>l<\/em><em>d<\/em><sub><em>m<\/em><\/sub><em>y<\/em><em>c<\/em><em>o<\/em><em>d<\/em><em>e<\/em>\/\u2005*\u2005\u2005*\u2005\u2004&lt;\u2004<em>b<\/em><em>r<\/em>\u2004&gt;\u2004\u2005*\u2005*<\/span>fileName<\/strong> is changed to: <strong>mycode<\/strong><br> So <strong>$buildPath$fileName<\/strong>.elf becomes: <strong>\/path\/toMyproject\/build_mycode\/mycode<\/strong>.elf<\/p>\n<p><strong>$filePath<\/strong> is changed to: <strong>\/path\/toMyproject\/mycode.c<\/strong> <br><\/p>\n<p>In this case, because we indicated a buildPath, it will automatically create the build folder: <br> <em>\/path\/toMyproject\/build_mycode<\/em><\/p>\n<p>And the complete command it will execute for the first build step is this (all in one line):<\/p>\n<div class=\"sourceCode\" id=\"cb5\"><pre class=\"sourceCode xml\"><code class=\"sourceCode xml\"><span id=\"cb5-1\"><a href=\"#cb5-1\" aria-hidden=\"true\"><\/a>&quot;\/path\/to\/myCompiler\/avr-gcc&quot; -mmcu=atmega8 -Os -o \/path\/toMyproject\/build_mycode\/mycode.elf &quot;\/path\/toMyproject\/mycode.c&quot;<\/span><\/code><\/pre><\/div>\n<p><br><\/p>\n<hr \/>\n<h2 id=\"resources\">Resources:<\/h2>\n<h3 id=\"videos\">Videos:<\/h3>\n<ul>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=BHAbOa2GAIs\">New custom compilers: avr-gcc with and without Makefile<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=tnMongIYvsA\">SDCC Compiler &amp; Debugger<\/a><\/li>\n<\/ul>\n<hr \/>\n<\/div>\n<\/div><\/div>\n\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>SimulIDE Knowledge Base&#8211; COMPILERS &#8211;<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"class_list":["post-574","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/pages\/574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/comments?post=574"}],"version-history":[{"count":4,"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/pages\/574\/revisions"}],"predecessor-version":[{"id":3199,"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/pages\/574\/revisions\/3199"}],"wp:attachment":[{"href":"https:\/\/simulide.com\/p\/wp-json\/wp\/v2\/media?parent=574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}