Page MenuHomec4science

compilation_steps.svg
No OneTemporary

File Metadata

Created
Sun, Nov 24, 09:45

compilation_steps.svg

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="34.999905cm"
height="19.559225cm"
viewBox="0 0 349.99907 195.59225"
version="1.1"
id="svg8"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="compilation_steps.svg"
inkscape:export-filename="/home/lanti/bitmap.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300">
<defs
id="defs2">
<marker
style="overflow:visible"
id="marker2230"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Mend"
inkscape:isstock="true">
<path
transform="matrix(-0.4,0,0,-0.4,-4,0)"
style="fill:#0000aa;fill-opacity:1;fill-rule:evenodd;stroke:#0000aa;stroke-width:1pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path2228" />
</marker>
<marker
style="overflow:visible"
id="marker1772"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Mend"
inkscape:isstock="true">
<path
transform="matrix(-0.4,0,0,-0.4,-4,0)"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path1770" />
</marker>
<marker
style="overflow:visible"
id="marker1720"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Mend"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="matrix(-0.4,0,0,-0.4,-4,0)"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path1718" />
</marker>
<marker
style="overflow:visible"
id="Arrow1Mend"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Mend"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="matrix(-0.4,0,0,-0.4,-4,0)"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path866" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="625.9512"
inkscape:cy="371.95027"
inkscape:document-units="mm"
inkscape:current-layer="layer4"
inkscape:document-rotation="0"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1016"
inkscape:window-x="160"
inkscape:window-y="1467"
inkscape:window-maximized="1"
fit-margin-top="0.1"
fit-margin-left="0.1"
fit-margin-right="0.1"
fit-margin-bottom="0.1"
units="cm"
inkscape:pagecheckerboard="false">
<inkscape:grid
type="xygrid"
id="grid851"
originx="-8.77411"
originy="-26.387171" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Everything"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-8.774109,-26.387169)"
style="display:inline">
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.529167;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect853"
width="105.83333"
height="30.556581"
x="23.8125"
y="27.651752"
ry="7.9374995"
rx="7.937499" />
<path
style="fill:none;stroke:#000000;stroke-width:0.529167;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
d="M 76.729164,58.208333 V 80.697916"
id="path855" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.65;font-family:'Noto Mono';-inkscape-font-specification:'Noto Mono';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="76.818733"
y="38.778713"
id="text1207"><tspan
sodipodi:role="line"
id="tspan1205"
x="76.818733"
y="38.778713"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.76111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.264583">Preprocessor</tspan><tspan
sodipodi:role="line"
x="76.818733"
y="51.04427"
style="font-size:7.05556px;text-align:center;text-anchor:middle;stroke-width:0.264583"
id="tspan1209">gcc -E file.c -o file.i</tspan></text>
<rect
style="fill:#ffffff;stroke:#000000;stroke-width:0.529167;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1662"
width="133.38095"
height="30.556581"
x="10.038692"
y="190.15825"
ry="7.9374995"
rx="7.937499" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.65;font-family:'Noto Mono';-inkscape-font-specification:'Noto Mono';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="76.818733"
y="201.28522"
id="text1670"><tspan
sodipodi:role="line"
id="tspan1666"
x="76.818733"
y="201.28522"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.76111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.264583">Linker</tspan><tspan
sodipodi:role="line"
x="76.818733"
y="213.55077"
style="font-size:7.05556px;text-align:center;text-anchor:middle;stroke-width:0.264583"
id="tspan1668">gcc file.o -lexample -o file</tspan></text>
<rect
style="fill:#ffffff;stroke:#000000;stroke-width:0.529167;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1706"
width="105.83333"
height="30.556581"
x="23.8125"
y="135.93565"
ry="7.9374995"
rx="7.937499" />
<path
style="fill:none;stroke:#000000;stroke-width:0.529167;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1720)"
d="m 76.729164,166.49223 v 22.48959"
id="path1708" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.65;font-family:'Noto Mono';-inkscape-font-specification:'Noto Mono';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="76.818733"
y="147.06261"
id="text1714"><tspan
sodipodi:role="line"
id="tspan1710"
x="76.818733"
y="147.06261"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.76111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.264583">Assembler</tspan><tspan
sodipodi:role="line"
x="76.818733"
y="159.32816"
style="font-size:7.05556px;text-align:center;text-anchor:middle;stroke-width:0.264583"
id="tspan1712">gcc -c file.s -o file.o</tspan></text>
<rect
style="fill:#ffffff;stroke:#000000;stroke-width:0.529167;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1758"
width="105.83333"
height="30.556581"
x="23.8125"
y="81.729248"
ry="7.9374995"
rx="7.937499" />
<path
style="fill:none;stroke:#000000;stroke-width:0.529167;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1772)"
d="m 76.729164,112.28583 v 22.48958"
id="path1760" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.65;font-family:'Noto Mono';-inkscape-font-specification:'Noto Mono';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="76.818733"
y="92.856209"
id="text1766"><tspan
sodipodi:role="line"
id="tspan1762"
x="76.818733"
y="92.856209"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.76111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.264583">Compiler</tspan><tspan
sodipodi:role="line"
x="76.818733"
y="105.12177"
style="font-size:7.05556px;text-align:center;text-anchor:middle;stroke-width:0.264583"
id="tspan1764">gcc -S file.i -o file.s</tspan></text>
<rect
style="fill:#ffffff;stroke:#0000aa;stroke-width:0.529167;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2218"
width="105.83333"
height="30.556581"
x="147.04004"
y="135.93565"
ry="7.9374995"
rx="7.937499" />
<path
style="fill:none;stroke:#0000aa;stroke-width:0.529;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.587, 1.587;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker2230)"
d="m 199.9567,166.49223 -55.51775,38.82992"
id="path2220"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.65;font-family:'Noto Mono';-inkscape-font-specification:'Noto Mono';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="200.04626"
y="147.06261"
id="text2226"><tspan
sodipodi:role="line"
id="tspan2222"
x="200.04626"
y="147.06261"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:7.76111px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#0000aa;fill-opacity:1;stroke-width:0.264583">External Library</tspan><tspan
sodipodi:role="line"
x="200.04626"
y="159.32816"
style="font-size:7.05556px;text-align:center;text-anchor:middle;fill:#0000aa;fill-opacity:1;stroke-width:0.264583"
id="tspan2224">libexample.so</tspan></text>
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Code"
style="display:none">
<g
id="g997-7"
style="display:inline"
transform="translate(-8.7741098,-26.38717)">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:'Noto Mono';-inkscape-font-specification:'Noto Mono';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="218.04663"
y="62.466034"
id="text972-5"><tspan
sodipodi:role="line"
id="tspan970-3"
x="218.04663"
y="62.466034"
style="font-size:6.35px;stroke-width:0.264583">#include &lt;stdio.h&gt;</tspan><tspan
sodipodi:role="line"
x="218.04663"
y="70.403534"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan986-5">// This is my main function</tspan><tspan
sodipodi:role="line"
x="218.04663"
y="78.341034"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan974-6">int main(void) {</tspan><tspan
sodipodi:role="line"
x="218.04663"
y="86.278534"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan976-2"> // I declare i to be equal to 2</tspan><tspan
sodipodi:role="line"
x="218.04663"
y="94.216034"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan978-9"> int i = 2;</tspan><tspan
sodipodi:role="line"
x="218.04663"
y="102.15353"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan980-1">}</tspan><tspan
sodipodi:role="line"
x="218.04663"
y="110.09103"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan982-2" /></text>
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.529167;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect984-7"
width="153.66956"
height="59.933525"
x="203.83904"
y="49.905041"
ry="0"
rx="0" />
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Preprocessor"
style="display:none">
<rect
style="fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:1.05833;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect853-3"
width="105.83333"
height="30.556581"
x="15.038391"
y="1.2645835"
ry="7.9374995"
rx="7.937499" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:'Noto Mono';-inkscape-font-specification:'Noto Mono';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="209.27252"
y="36.078865"
id="text972"><tspan
sodipodi:role="line"
x="209.27252"
y="36.078865"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1220" /></text>
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.529167;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect984"
width="153.66956"
height="59.933525"
x="195.06493"
y="23.51787"
ry="0"
rx="0" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:'Noto Mono';-inkscape-font-specification:'Noto Mono';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="204.05423"
y="31.436367"
id="text1301"><tspan
sodipodi:role="line"
id="tspan1299"
x="204.05423"
y="31.436367"
style="font-size:6.35px;stroke-width:0.264583">[...]</tspan><tspan
sodipodi:role="line"
x="204.05423"
y="39.373867"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1337">extern int __uflow (FILE *);</tspan><tspan
sodipodi:role="line"
x="204.05423"
y="47.311367"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1303">extern int __overflow (FILE *, int);</tspan><tspan
sodipodi:role="line"
x="204.05423"
y="55.248867"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1315" /><tspan
sodipodi:role="line"
x="204.05423"
y="63.186367"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1319">int main(void) {</tspan><tspan
sodipodi:role="line"
x="204.05423"
y="71.123863"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1321"> int i = 2;</tspan><tspan
sodipodi:role="line"
x="204.05423"
y="79.061363"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1323">}</tspan><tspan
sodipodi:role="line"
x="204.05423"
y="86.998863"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1325" /></text>
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Compiler"
style="display:none">
<rect
style="display:inline;fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:1.05833;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect910"
width="105.83333"
height="30.556581"
x="15.038391"
y="55.342079"
ry="7.9374995"
rx="7.937499" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:'Noto Mono';-inkscape-font-specification:'Noto Mono';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="214.94099"
y="31.312344"
id="text972-9"><tspan
sodipodi:role="line"
x="214.94099"
y="31.312344"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan982-7">main:</tspan><tspan
sodipodi:role="line"
x="214.94099"
y="39.249844"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1368">.LFB0:</tspan><tspan
sodipodi:role="line"
x="214.94099"
y="47.187344"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1402"> pushq %rbp</tspan><tspan
sodipodi:role="line"
x="214.94099"
y="55.124844"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1404"> movq %rsp, %rbp</tspan><tspan
sodipodi:role="line"
x="214.94099"
y="63.062344"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1408"> movl $2, -4(%rbp)</tspan><tspan
sodipodi:role="line"
x="214.94099"
y="70.99984"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1410"> movl $0, %eax</tspan><tspan
sodipodi:role="line"
x="214.94099"
y="78.93734"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1412"> popq %rbp</tspan><tspan
sodipodi:role="line"
x="214.94099"
y="86.87484"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1414" /><tspan
sodipodi:role="line"
x="214.94099"
y="94.81234"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1382"> </tspan><tspan
sodipodi:role="line"
x="214.94099"
y="102.74984"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1384" /></text>
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.529167;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect984-9"
width="115.3289"
height="59.933525"
x="195.06493"
y="23.51787"
ry="0"
rx="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Assembler"
style="display:none">
<rect
style="display:inline;fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:1.05833;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect910-6"
width="105.83333"
height="30.556581"
x="15.038391"
y="109.54848"
ry="7.9374995"
rx="7.937499" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.35px;line-height:1.25;font-family:'Noto Mono';-inkscape-font-specification:'Noto Mono';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="203.19287"
y="35.998878"
id="text972-5-0"><tspan
sodipodi:role="line"
x="203.19287"
y="35.998878"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan982-2-2">0000000000000000 &lt;main&gt;:</tspan><tspan
sodipodi:role="line"
x="203.19287"
y="43.936378"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1526"> 0: 55 </tspan><tspan
sodipodi:role="line"
x="203.19287"
y="51.873878"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1528"> 1: 48 89 e5 </tspan><tspan
sodipodi:role="line"
x="203.19287"
y="59.811378"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1530"> 4: c7 45 fc 02 00 00 00 </tspan><tspan
sodipodi:role="line"
x="203.19287"
y="67.748878"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1532"> b: b8 00 00 00 00 </tspan><tspan
sodipodi:role="line"
x="203.19287"
y="75.686378"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1534"> 10: 5d </tspan><tspan
sodipodi:role="line"
x="203.19287"
y="83.623878"
style="font-size:6.35px;stroke-width:0.264583"
id="tspan1536" /></text>
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.529167;stroke-linecap:square;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect984-7-8"
width="115.3289"
height="59.933525"
x="195.06493"
y="23.51787"
ry="0"
rx="0" />
</g>
</svg>

Event Timeline