Files
Modern-CPP-Programming/htmls/14.Translation_Units_II.html
2026-01-06 09:09:47 -08:00

1249 lines
535 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<!-- Created by pdf2htmlEX (https://github.com/pdf2htmlEX/pdf2htmlEX) -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<meta name="generator" content="pdf2htmlEX"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<style type="text/css">
/*!
* Base CSS for pdf2htmlEX
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
* https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/#sidebar{position:absolute;top:0;left:0;bottom:0;width:250px;padding:0;margin:0;overflow:auto}#page-container{position:absolute;top:0;left:0;margin:0;padding:0;border:0}@media screen{#sidebar.opened+#page-container{left:250px}#page-container{bottom:0;right:0;overflow:auto}.loading-indicator{display:none}.loading-indicator.active{display:block;position:absolute;width:64px;height:64px;top:50%;left:50%;margin-top:-32px;margin-left:-32px}.loading-indicator img{position:absolute;top:0;left:0;bottom:0;right:0}}@media print{@page{margin:0}html{margin:0}body{margin:0;-webkit-print-color-adjust:exact}#sidebar{display:none}#page-container{width:auto;height:auto;overflow:visible;background-color:transparent}.d{display:none}}.pf{position:relative;background-color:white;overflow:hidden;margin:0;border:0}.pc{position:absolute;border:0;padding:0;margin:0;top:0;left:0;width:100%;height:100%;overflow:hidden;display:block;transform-origin:0 0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0}.pc.opened{display:block}.bf{position:absolute;border:0;margin:0;top:0;bottom:0;width:100%;height:100%;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}.bi{position:absolute;border:0;margin:0;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}@media print{.pf{margin:0;box-shadow:none;page-break-after:always;page-break-inside:avoid}@-moz-document url-prefix(){.pf{overflow:visible;border:1px solid #fff}.pc{overflow:visible}}}.c{position:absolute;border:0;padding:0;margin:0;overflow:hidden;display:block}.t{position:absolute;white-space:pre;font-size:1px;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%;unicode-bidi:bidi-override;-moz-font-feature-settings:"liga" 0}.t:after{content:''}.t:before{content:'';display:inline-block}.t span{position:relative;unicode-bidi:bidi-override}._{display:inline-block;color:transparent;z-index:-1}::selection{background:rgba(127,255,255,0.4)}::-moz-selection{background:rgba(127,255,255,0.4)}.pi{display:none}.d{position:absolute;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%}.it{border:0;background-color:rgba(255,255,255,0.0)}.ir:hover{cursor:pointer}</style>
<style type="text/css">
/*!
* Fancy styles for pdf2htmlEX
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
* https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes swing{0{transform:rotate(0)}10%{transform:rotate(0)}90%{transform:rotate(720deg)}100%{transform:rotate(720deg)}}@-webkit-keyframes swing{0{-webkit-transform:rotate(0)}10%{-webkit-transform:rotate(0)}90%{-webkit-transform:rotate(720deg)}100%{-webkit-transform:rotate(720deg)}}@media screen{#sidebar{background-color:#2f3236;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjNDAzYzNmIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDBMNCA0Wk00IDBMMCA0WiIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2U9IiMxZTI5MmQiPjwvcGF0aD4KPC9zdmc+")}#outline{font-family:Georgia,Times,"Times New Roman",serif;font-size:13px;margin:2em 1em}#outline ul{padding:0}#outline li{list-style-type:none;margin:1em 0}#outline li>ul{margin-left:1em}#outline a,#outline a:visited,#outline a:hover,#outline a:active{line-height:1.2;color:#e8e8e8;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;display:block;overflow:hidden;outline:0}#outline a:hover{color:#0cf}#page-container{background-color:#9e9e9e;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPgo8cmVjdCB3aWR0aD0iNSIgaGVpZ2h0PSI1IiBmaWxsPSIjOWU5ZTllIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDVMNSAwWk02IDRMNCA2Wk0tMSAxTDEgLTFaIiBzdHJva2U9IiM4ODgiIHN0cm9rZS13aWR0aD0iMSI+PC9wYXRoPgo8L3N2Zz4=");-webkit-transition:left 500ms;transition:left 500ms}.pf{margin:13px auto;box-shadow:1px 1px 3px 1px #333;border-collapse:separate}.pc.opened{-webkit-animation:fadein 100ms;animation:fadein 100ms}.loading-indicator.active{-webkit-animation:swing 1.5s ease-in-out .01s infinite alternate none;animation:swing 1.5s ease-in-out .01s infinite alternate none}.checked{background:no-repeat url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3goQDSYgDiGofgAAAslJREFUOMvtlM9LFGEYx7/vvOPM6ywuuyPFihWFBUsdNnA6KLIh+QPx4KWExULdHQ/9A9EfUodYmATDYg/iRewQzklFWxcEBcGgEplDkDtI6sw4PzrIbrOuedBb9MALD7zv+3m+z4/3Bf7bZS2bzQIAcrmcMDExcTeXy10DAFVVAQDksgFUVZ1ljD3yfd+0LOuFpmnvVVW9GHhkZAQcxwkNDQ2FSCQyRMgJxnVdy7KstKZpn7nwha6urqqfTqfPBAJAuVymlNLXoigOhfd5nmeiKL5TVTV+lmIKwAOA7u5u6Lped2BsbOwjY6yf4zgQQkAIAcedaPR9H67r3uYBQFEUFItFtLe332lpaVkUBOHK3t5eRtf1DwAwODiIubk5DA8PM8bYW1EU+wEgCIJqsCAIQAiB7/u253k2BQDDMJBKpa4mEon5eDx+UxAESJL0uK2t7XosFlvSdf0QAEmlUnlRFJ9Waho2Qghc1/U9z3uWz+eX+Wr+lL6SZfleEAQIggA8z6OpqSknimIvYyybSCReMsZ6TislhCAIAti2Dc/zejVNWwCAavN8339j27YbTg0AGGM3WltbP4WhlRWq6Q/btrs1TVsYHx+vNgqKoqBUKn2NRqPFxsbGJzzP05puUlpt0ukyOI6z7zjOwNTU1OLo6CgmJyf/gA3DgKIoWF1d/cIY24/FYgOU0pp0z/Ityzo8Pj5OTk9PbwHA+vp6zWghDC+VSiuRSOQgGo32UErJ38CO42wdHR09LBQK3zKZDDY2NupmFmF4R0cHVlZWlmRZ/iVJUn9FeWWcCCE4ODjYtG27Z2Zm5juAOmgdGAB2d3cBADs7O8uSJN2SZfl+WKlpmpumaT6Yn58vn/fs6XmbhmHMNjc3tzDGFI7jYJrm5vb29sDa2trPC/9aiqJUy5pOp4f6+vqeJ5PJBAB0dnZe/t8NBajx/z37Df5OGX8d13xzAAAAAElFTkSuQmCC)}}</style>
<style type="text/css">
.ff0{font-family:sans-serif;visibility:hidden;}
@font-face{font-family:ff1;src:url('data:application/font-woff;base64,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')format("woff");}.ff1{font-family:ff1;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff2;src:url('data:application/font-woff;base64,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')format("woff");}.ff2{font-family:ff2;line-height:0.898000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff3;src:url('data:application/font-woff;base64,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')format("woff");}.ff3{font-family:ff3;line-height:0.704000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff4;src:url('data:application/font-woff;base64,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')format("woff");}.ff4{font-family:ff4;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff5;src:url('data:application/font-woff;base64,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')format("woff");}.ff5{font-family:ff5;line-height:0.915000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff6;src:url('data:application/font-woff;base64,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')format("woff");}.ff6{font-family:ff6;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff7;src:url('data:application/font-woff;base64,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')format("woff");}.ff7{font-family:ff7;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff8;src:url('data:application/font-woff;base64,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')format("woff");}.ff8{font-family:ff8;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff9;src:url('data:application/font-woff;base64,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')format("woff");}.ff9{font-family:ff9;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffa;src:url('data:application/font-woff;base64,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')format("woff");}.ffa{font-family:ffa;line-height:0.898000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffb;src:url('data:application/font-woff;base64,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')format("woff");}.ffb{font-family:ffb;line-height:0.833000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffc;src:url('data:application/font-woff;base64,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')format("woff");}.ffc{font-family:ffc;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffd;src:url('data:application/font-woff;base64,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')format("woff");}.ffd{font-family:ffd;line-height:0.910000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffe;src:url('data:application/font-woff;base64,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')format("woff");}.ffe{font-family:ffe;line-height:0.923000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:fff;src:url('data:application/font-woff;base64,d09GRgABAAAAAATAAA0AAAAABtgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEpAAAABoAAAAcpiahWEdERUYAAASIAAAAGwAAAB4AJwALT1MvMgAAAZwAAAA/AAAAVlVXVldjbWFwAAAB8AAAAEYAAAFKzKIgqGdhc3AAAASAAAAACAAAAAj//wADZ2x5ZgAAAkQAAADSAAAA4MubV/JoZWFkAAABMAAAADAAAAA2LgwbW2hoZWEAAAFgAAAAGQAAACQHQgPuaG10eAAAAdwAAAAUAAAAFAcqAD5sb2NhAAACOAAAAAwAAAAMACgAmG1heHAAAAF8AAAAHQAAACAASQBDbmFtZQAAAxgAAAFGAAACZKcJF/pwb3N0AAAEYAAAAB4AAAA0TLakpHicY2BkYGBgZHBUn3LpXTy/zVcGbuYXQBGGp02v85Bp5hfMkUCKg4EJxAMAdAQMJXicY2BkYGCOZAAC5hdQkpEBFbACADPuAjoAAAB4nGNgZGBgYGVwYGBiAAEQycgAEnMA8xkACS4AjQAAAHicY2Bk/MI4gYGVgYGpi2kPAwNDD4RmfMBgyMgEFGVgZWaAAUYBBgQISHNNAVIKz8KZI0F8CMnACCIA6SYJUgAB9AA+AAAAAAFNAAAAAQAAA+gAAHicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUnoX//w/kg+n/jyXXQtUDASMbA5zDyAQkmBhQASPEiuEMACjNCjEAAAAAABQAFAAUABQAcHicHcsxCsJAEIXhmSxMJAHDxmw6hRg3lopuYiEaIUewskkRW3ttPIC9d7C38BxWNmIlgmcQWVwzxcCD/wML5gB4YStgYANMxjxmPOL7zyfH3dx6fF9s9T0BWGCOvU0nITdCBBRH3STlKhtHozYGZpHgQWhWNkOVTXEUtripugNEMi9J1QT7Sd2HzC8LPSzKssAD53or01TiVSqn0Ws4N+E13UofqUk5EW7WjvCw7QlcnmtxLUq/5yuph392tl0X7/rpidrQgsg2qHI6QsAPxO4tjgAAeJyNkD1Ow0AQhd/mT4JIiAKlnorOxnbhIlRWoqShChIlYMkrJ1LijdZRopTcAHEKREHFAag4F8+blUhBEVur+Wbn7+0AuMAnFA7fDZ49K/Tx7rmFLr49t3Gtrjx30Ff3nru4VC+ee7z/YKbqnNF7dFUNKwzw6rmFc3x5buMOP547GKhbz12IevLc4/0bRjBYYw+LBUrMsYFgjBxbaNKUVKFgXJAgQowUITnDkr8cVdXO07SatqkumImRWe/topxvZJxvtUzzqthLEsVpKNlyKS5Ui9W1tltdsGBCPRX7Zdi5bgYrWkxMtcl2ujYrOjN32yjDzKzy6q+qsZaKtNMbUrFgyPN/10MsRcB3Be59CT03a2JsqSUJIxnK0Wx6aRAHSZSkp0l9cOuouaYmVziiWWLorTBB23phKomiOOSRk9r+AvZ2Z2sAAHicY2BiwA9YgZiRgYmBmZGJvTQv09XM1BwAC8ICSwAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQhYwBvEYAAPKADMAeJxjYGBgZACC2wqnqkH006bXeTAaAE7MB8IAAA==')format("woff");}.fff{font-family:fff;line-height:0.857000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff10;src:url('data:application/font-woff;base64,d09GRgABAAAAAAVMAA0AAAAAB8AAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFMAAAABoAAAAcpiahZkdERUYAAAUUAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABGAAAAVlRpgi5jbWFwAAACBAAAAEcAAAFSIaspMGdhc3AAAAUMAAAACAAAAAj//wADZ2x5ZgAAAlwAAAC3AAAAvElOqQdoZWFkAAABMAAAADMAAAA2Lgwah2hoZWEAAAFkAAAAIAAAACQFyQRHaG10eAAAAewAAAAYAAAAGA0/AG9sb2NhAAACTAAAAA4AAAAOAF4ALG1heHAAAAGEAAAAHQAAACAASQAkbmFtZQAAAxQAAAG+AAADTjuk55Zwb3N0AAAE1AAAADYAAABBOM+48XicY2BkYGBgYjhS8fKvczy/zVcGbuYXQBGGp02vS+G0+f+vzOsZ/wO5HEC1QAAAu8UPcwB4nGNgZGBg/P//KwMD8wsGIGBez5DCIMmADNgAhTsFFnicY2BkYGBgY1BkANEMDExAzAhmO4D5DAAGKwBuAAAAeJxjYGSexziBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQJwA4wSkuaYAKQUlG8b//78CJf8zcEPVMAAAY/8NYgAAARgAAAAAAAABTQAAA+gAAAPoADcDCgA4eJxjYGBgZoBgGQZGBhDwAfIYwXwWBgMgzQGETEBaQXGSks3//wjW/8f3iu6ehOoCA0Y2BjiXEaSHiQEVMEKsGs4AAGw6DB4AAAAAAAAAAAAAAAAsAF4AAHicY2BkMP//lXk9438GaQYGBhF2PkZ2Nm1GJVMzc0UlE2NFNXUTa0YjcTlGceb1HIF5fEycQtySZX+5RUWZvpZJcgtxMvHlBTIyCTDJNoZw8vaHaoT283KGNMoyMDJYMLQyXWTMZ1BgYGAUYVNWUtdjVFbiY2IHsU1NzIxBphobmZkDWUwXY7zcQh3dtMW0tWWY2Nn5oFzjEGZmbj5GP98aHysdASV7TVYhBTDb30OKgQEAsmQiLQB4nK1Sy2rbQBQ9o9iGQkkXXXRTyt0UEoqELFNDsoyJQ03kBCsu3o5j2Ra2NUFSMP6DfEwp/af+SI9G0y68aDeV0Nxzz33MPTMCcIrvUGier3+wwhv10WEPHTVw+ASR+uFwC++8tw63cep9cbhD/oWZqvWK3jdbVWOFD6rtsIfX6rPDJ1iokcMtBOqnw2289z453EHgzTCAwRMOKJBhhTUqCCKEfHvw+Tb4guycWYIrBFxH0HjEhrV7lLQZOY0cCxsLENussY03mXXGGf3cdkq5k8YWS3rGrg/kZrRTJLjGhKvghvaOzD29c3bEwDwdimy1riQKw57vc72Q+UGuAhnpx43Zl5tMdL6QURAHMjZ7kpmcmVzm6Vpvl2KW8pDOZJpcTxK5mdxN75Nz9r3lwDEHqjhWQpk7jmg4XokuxeM2jnW1Tg67udmWXRK1sIJZtQSMTbHTtEOrrrK24Fmm9iQDNhBc8vv7Jj61pqx6JqNZ39T0yXfdLUT0MDR5NTTFKpUoCOVSjkbzJ+nqeasLRvp+l+cT9f+l7njjY7W/W9a/csp4yatsrrERV/8owmBalBkPmmOFPflvm/4CNuCU5QAAeJxjYGJg+P/x2+7/TQwaDNgAGxAzMjAxMDMyMTJzJRYV5ZcXZaZnlLAXZ+Zm5iQWAQB/TgyrAAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCViBmAfMYAAPVADR4nGNgYGBkAILbCqeqQfTTptelMBoATxIH0AAA')format("woff");}.ff10{font-family:ff10;line-height:0.522000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff11;src:url('data:application/font-woff;base64,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')format("woff");}.ff11{font-family:ff11;line-height:0.823000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff12;src:url('data:application/font-woff;base64,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')format("woff");}.ff12{font-family:ff12;line-height:0.845000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff13;src:url('data:application/font-woff;base64,d09GRgABAAAAAATQAA0AAAAAB0gAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEtAAAABoAAAAcpiahmEdERUYAAASYAAAAGwAAAB4AJwALT1MvMgAAAaQAAABBAAAAVlOyf6BjbWFwAAAB/AAAAEYAAAFKRGzkw2dhc3AAAASQAAAACAAAAAj//wADZ2x5ZgAAAlAAAABcAAAAcJpimDFoZWFkAAABMAAAADIAAAA2LUMauWhoZWEAAAFkAAAAHgAAACQEcwOIaG10eAAAAegAAAAUAAAAFAWFADlsb2NhAAACRAAAAAwAAAAMAAAAOG1heHAAAAGEAAAAHQAAACAASAApbmFtZQAAAqwAAAG2AAADQt/+T5Zwb3N0AAAEZAAAACkAAAA0cGzCxHicY2BkYGBgYjjyXv8sQzy/zVcGbuYXQBGGp02v++C0JUMD01PGEiCXA6gWCACHgA0nAAB4nGNgZGBgLGEAAmZ5EMn0lCGFQZIBGbACACsPAgIAAHicY2BkYGBgZVBjANEMDExAzAhmO4D5DAAGjQByAAAAeJxjYGScwDiBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQOwA4wSkuaYAKQUlG8YSsGQJXA0DACxLCh0AAAABGAAAAAAAAAFNAAAAAQAAAx8AOXicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlGz+/wfywfT/x3dPQNUDASMbA5zDyAQkmBhQASPEiuEMACp9CVIAAAAAAAAAAAAAAAAAOHicY2BksGRoYHrKWMKgysDAKMKmrKSmrseorMTHzA5km5qYGRuJicsxGhvZMZsD2UxP4/z0/UyMPDX4FNQVxJmYePkxBBgD/JoMDHS12UWVrNUklJE5DADJcRG5eJytUstq20AUPaPYhtDiZVZZXNpNApGQZTAkq5IQG0xkBysO2Y4S2Ra2NUFSMF70ixLyR/2XHknTQkvJqhp077nvxwyALt6h0Hz3v7FCV3212EFHfbP4AD31anELR84ni9voOr98OtR/p6dqHVJ6q6MqrHCs2hY7+KwCiw8Qq5HFLZypHxa3cex8sbiDM2eKKxg8Y48cKZZYoYQggM/Th8vT4HNqY3oJLuGRjqHxiDVjdyjIU+o0MjzVNg9h7TWp7Y1n5XFCOaszJaykscGCkqnpHXUP5HNEuMaMVDAin1JzS+mUGXFlnvd5ulyVEvh+33VJzyXey6UnY/24NrtinYrOnmTshZ5MzI7KVE5MJnGy0puFmIXcJQ8yj65nkYxm0/ltdMq8N2w4ZEMl24o45pYtGrZXcHDchKEuV9F+G5tNQbmaKqdL1T8mJt9q8mE9WlnznItM6jV6XJ3ggv9HFVyOmTDmhbJmdBMxoL5nLyCghKHJyqHJl4kEni8X8mdf7ixZvmx0TsPA7XEzweDjuf6uin/nq15wQnPBG2xurxmreh9CY5IXKffLlvy+/J+KPwGGi5NVAAB4nGNgYmD4//Hb7v8TGNQYsAFWIGZkYGJgZmRiL87MzcxJLAIAALoIXwAAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEIWMAbxGAADygAzAHicY2BgYGQAgtsKp6pB9NOm130wGgBQDAgCAAA=')format("woff");}.ff13{font-family:ff13;line-height:0.244000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff14;src:url('data:application/font-woff;base64,d09GRgABAAAAAATcAA0AAAAABvAAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEwAAAABoAAAAcpiahnEdERUYAAASkAAAAGwAAAB4AJwALT1MvMgAAAaQAAABEAAAAVlXGgpdjbWFwAAAB/AAAAEYAAAFKRYDkOWdhc3AAAAScAAAACAAAAAj//wADZ2x5ZgAAAlAAAAB0AAAAdPLyoUVoZWFkAAABMAAAADMAAAA2LdcazmhoZWEAAAFkAAAAHgAAACQGNQNHaG10eAAAAegAAAAUAAAAFAbyADJsb2NhAAACRAAAAAwAAAAMAAAAOm1heHAAAAGEAAAAHQAAACAASAAobmFtZQAAAsQAAAG4AAAC5VioE9Zwb3N0AAAEfAAAAB4AAAA0ObKyo3icY2BkYGBgZmheE+V/MZ7f5isDN/MLoAjD06bXE+C00f+JzHVMW4FcDgYmkCgAkzgOCwB4nGNgZGBg2vp/IgMD8wYGIGCuY2BkQAWsAF/rA4MAAHicY2BkYGBgZVBlANEMDExAzAhmO4D5DAAGdABxAAAAeJxjYGS8wfiFgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBjZoABRiB2gHEC0lxTgJSC0jGmrf8nAlVuZciHqmEAACXuDCsB9AAAAAAAAAFNAAAAAQAAA7AAMnicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlI79/w/kg+n/j+/aQdUDASMbA5zDyAQkmBhQASPEiuEMAMdbCdwAAAAAAAAAAAAAAAAAOgABADL/kQN+ArUAJAAAAQcTFhUUIyIvAQcGIyI1PwETJyY1NDYzIRM2MzIWFxMhMhYVFANx71wDCwgH7+8LBAsCAlvwDAwQASFaBgkGBARbASERCwFxrv7nCQULCa2tCQsHBwEZrgkGCAMBFhQGDP7oAwgEeJxtUctq20AUPaPYhoZQ2j+47coGWx4r4GATAm6Id8oihkBXRciDJbAkI40j/FNZ91tK6bq7/kKPxtNFoLqge+7r3DMzAN7jFQrnr8QvjxX66qvHAQaq8PgCn9R3j3vM//a4jw/BR48HGASanar3jtFPN9VhhUsVexzgSn3z+AJflPW4x/wPj/sQ9cfjAa6Cz7hHhQNOqJFjhwwWgiFSjOhnWNBuMCaOoGkLohUKGNefIuH5BDG95axhpUPnyp6VDdlTxobZk2O+dTssdy4xpbXOQvYXaOgrMu9wx/3d1pazHbPgiRyN2/vC/5aZNXtLp/fRTRunZEN9MZVrcuG+OpzqfJdZGaYjmS0WN2OJtF7IqjB1nialxInNTJFYBnvZVGlu7EmGt5m1h+V02rZtmBRNWNW7u9FY2txm8mQaU7+Yrayr0spjUhiJN6t4prnvAUceuxOJh+Pe0MVObM58wcBs8yP9P+Vrf1rj7jekZuGtvD3FOTPHhNHEvULECN3yNWUZiUItSy+BYD6ZTSIdzfGGBec68OzUNVRUuafrHvXare6IhQ2mbvKqFK2vQ60j+T/PX+K9eoR4nGNgYsAPWIGYkYGJgZmRib00L9PIyNkMAAuFAkEAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEIWMAbxGAADygAzAHicY2BgYGQAgtsKp6pB9NOm1xNgNABQIAgGAAA=')format("woff");}.ff14{font-family:ff14;line-height:0.804000;font-style:normal;font-weight:normal;visibility:visible;}
.m0{transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);-ms-transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);-webkit-transform:matrix(0.250000,0.000000,0.000000,0.250000,0,0);}
.m1{transform:none;-ms-transform:none;-webkit-transform:none;}
.v0{vertical-align:0.000000px;}
.ls0{letter-spacing:0.000000px;}
.sc_{text-shadow:none;}
.sc0{text-shadow:-0.015em 0 transparent,0 0.015em transparent,0.015em 0 transparent,0 -0.015em transparent;}
@media screen and (-webkit-min-device-pixel-ratio:0){
.sc_{-webkit-text-stroke:0px transparent;}
.sc0{-webkit-text-stroke:0.015em transparent;text-shadow:none;}
}
.ws0{word-spacing:0.000000px;}
._29{margin-left:-9.121653px;}
._3{margin-left:-5.537550px;}
._6{margin-left:-3.844782px;}
._19{margin-left:-2.338242px;}
._7{margin-left:-1.291162px;}
._c{width:1.291162px;}
._0{width:3.073600px;}
._28{width:4.581822px;}
._10{width:6.240614px;}
._13{width:11.897497px;}
._b{width:13.270183px;}
._f{width:14.530921px;}
._8{width:15.589581px;}
._9{width:16.995502px;}
._11{width:18.829440px;}
._d{width:20.428989px;}
._5{width:21.691454px;}
._4{width:23.389950px;}
._12{width:25.034189px;}
._1e{width:26.872743px;}
._1d{width:27.958480px;}
._18{width:29.723373px;}
._2a{width:31.254507px;}
._a{width:32.422412px;}
._15{width:33.821856px;}
._1{width:36.288314px;}
._2{width:38.266950px;}
._14{width:50.665834px;}
._16{width:56.488320px;}
._17{width:75.316640px;}
._22{width:112.976640px;}
._26{width:150.635520px;}
._25{width:169.464960px;}
._1f{width:188.294400px;}
._24{width:225.953280px;}
._21{width:244.782720px;}
._20{width:320.100480px;}
._23{width:414.247680px;}
._1b{width:1052.459790px;}
._2b{width:1103.973871px;}
._1a{width:1146.797582px;}
._27{width:1240.160532px;}
._1c{width:1262.497823px;}
._e{width:1327.438470px;}
.fcf{color:rgb(117,117,0);}
.fc0{color:rgb(35,55,59);}
.fc1{color:rgb(250,250,250);}
.fc2{color:rgb(255,255,255);}
.fc9{color:rgb(102,102,102);}
.fc3{color:rgb(156,102,0);}
.fce{color:transparent;}
.fcd{color:rgb(186,33,33);}
.fc7{color:rgb(0,0,255);}
.fc4{color:rgb(61,122,122);}
.fc5{color:rgb(8,69,125);}
.fcb{color:rgb(173,34,49);}
.fc6{color:rgb(0,128,0);}
.fc8{color:rgb(176,0,64);}
.fca{color:rgb(57,75,79);}
.fcc{color:rgb(16,136,110);}
.fs8{font-size:23.910400px;}
.fs5{font-size:31.880400px;}
.fs7{font-size:35.865600px;}
.fs4{font-size:39.850400px;}
.fs6{font-size:43.636400px;}
.fs3{font-size:47.820800px;}
.fs2{font-size:57.384800px;}
.fs1{font-size:82.650000px;}
.fs0{font-size:99.148400px;}
.y0{bottom:-0.500000px;}
.y7d{bottom:3.205000px;}
.y123{bottom:5.546000px;}
.y43{bottom:6.091000px;}
.y58{bottom:6.739000px;}
.yd0{bottom:7.977000px;}
.y5a{bottom:11.138000px;}
.y32{bottom:12.475000px;}
.yd{bottom:13.018000px;}
.y7c{bottom:14.089000px;}
.y14f{bottom:14.467000px;}
.yed{bottom:15.209000px;}
.y156{bottom:15.927000px;}
.y25{bottom:16.091000px;}
.y42{bottom:16.975000px;}
.y17d{bottom:17.305000px;}
.y9b{bottom:17.919000px;}
.y122{bottom:18.149000px;}
.y4d{bottom:20.560000px;}
.ye3{bottom:21.835000px;}
.y189{bottom:22.746000px;}
.y118{bottom:24.415000px;}
.y7b{bottom:24.973000px;}
.y17{bottom:25.331000px;}
.y107{bottom:25.919000px;}
.yc4{bottom:26.469000px;}
.y59{bottom:26.720000px;}
.ycf{bottom:27.180000px;}
.y41{bottom:27.859000px;}
.y6a{bottom:27.887000px;}
.yda{bottom:31.499000px;}
.y155{bottom:31.508000px;}
.y4c{bottom:33.162000px;}
.y9a{bottom:33.501000px;}
.y31{bottom:33.511000px;}
.ybc{bottom:33.678000px;}
.ye2{bottom:34.438000px;}
.y176{bottom:34.854000px;}
.y57{bottom:35.055000px;}
.y24{bottom:35.294000px;}
.y7a{bottom:35.857000px;}
.y1a8{bottom:36.141000px;}
.y14e{bottom:36.422000px;}
.y188{bottom:38.328000px;}
.y17c{bottom:38.341000px;}
.ya9{bottom:38.442000px;}
.y106{bottom:38.522000px;}
.y40{bottom:38.744000px;}
.yec{bottom:38.761000px;}
.y69{bottom:38.771000px;}
.y12e{bottom:39.069000px;}
.y138{bottom:39.223000px;}
.y117{bottom:39.996000px;}
.y166{bottom:40.101000px;}
.y141{bottom:41.796000px;}
.y6{bottom:42.077000px;}
.yce{bottom:42.762000px;}
.y87{bottom:42.803000px;}
.y121{bottom:43.105000px;}
.y90{bottom:43.980000px;}
.y16{bottom:44.534000px;}
.yb2{bottom:45.765000px;}
.y79{bottom:46.492000px;}
.ye1{bottom:47.040000px;}
.y30{bottom:47.259000px;}
.y1a7{bottom:48.744000px;}
.y56{bottom:48.803000px;}
.y99{bottom:49.082000px;}
.ybb{bottom:49.259000px;}
.y68{bottom:49.406000px;}
.y3f{bottom:49.628000px;}
.y154{bottom:50.054000px;}
.yfe{bottom:50.130000px;}
.y175{bottom:50.436000px;}
.y105{bottom:51.125000px;}
.y194{bottom:53.972000px;}
.y23{bottom:54.497000px;}
.y137{bottom:54.805000px;}
.y165{bottom:55.257000px;}
.y120{bottom:56.181000px;}
.y86{bottom:56.551000px;}
.yd9{bottom:56.704000px;}
.y10e{bottom:56.728000px;}
.y78{bottom:56.853000px;}
.yf6{bottom:57.150000px;}
.ya2{bottom:57.438000px;}
.y14d{bottom:57.956000px;}
.y4b{bottom:58.368000px;}
.y5{bottom:58.752000px;}
.y8f{bottom:59.561000px;}
.ye0{bottom:59.643000px;}
.y187{bottom:59.862000px;}
.y3e{bottom:60.263000px;}
.y140{bottom:60.367000px;}
.y67{bottom:61.760000px;}
.yeb{bottom:62.313000px;}
.y2f{bottom:62.477000px;}
.y116{bottom:62.552000px;}
.y15d{bottom:62.691000px;}
.y15{bottom:63.737000px;}
.y98{bottom:64.664000px;}
.yba{bottom:64.840000px;}
.ycd{bottom:65.790000px;}
.y193{bottom:66.574000px;}
.yc3{bottom:66.826000px;}
.yaf{bottom:66.932000px;}
.y19c{bottom:68.064000px;}
.yd8{bottom:69.307000px;}
.y55{bottom:69.526000px;}
.y17b{bottom:69.534000px;}
.yf5{bottom:69.752000px;}
.y12d{bottom:70.068000px;}
.y85{bottom:70.300000px;}
.y16c{bottom:70.425000px;}
.y4a{bottom:70.970000px;}
.y3d{bottom:71.620000px;}
.ye6{bottom:71.997000px;}
.y186{bottom:72.465000px;}
.ya1{bottom:73.019000px;}
.ya8{bottom:73.425000px;}
.y22{bottom:73.700000px;}
.y1a6{bottom:73.949000px;}
.y164{bottom:74.983000px;}
.yfd{bottom:75.151000px;}
.y1ad{bottom:75.163000px;}
.y15c{bottom:75.294000px;}
.y136{bottom:75.841000px;}
.y2e{bottom:76.226000px;}
.y11f{bottom:76.231000px;}
.y104{bottom:76.330000px;}
.y174{bottom:76.453000px;}
.y153{bottom:76.569000px;}
.y77{bottom:76.903000px;}
.yc{bottom:77.117000px;}
.yea{bottom:77.894000px;}
.y147{bottom:78.273000px;}
.ycc{bottom:78.393000px;}
.y14c{bottom:79.490000px;}
.y97{bottom:80.245000px;}
.y10d{bottom:80.753000px;}
.y13f{bottom:81.403000px;}
.y66{bottom:81.810000px;}
.yd7{bottom:81.909000px;}
.yf4{bottom:82.355000px;}
.y14{bottom:82.940000px;}
.y49{bottom:83.573000px;}
.ydf{bottom:84.848000px;}
.y185{bottom:85.067000px;}
.y115{bottom:85.107000px;}
.yae{bottom:85.502000px;}
.y12c{bottom:85.649000px;}
.y16b{bottom:86.006000px;}
.y84{bottom:86.041000px;}
.yc2{bottom:86.392000px;}
.y1a5{bottom:86.552000px;}
.ye5{bottom:87.065000px;}
.y8e{bottom:87.325000px;}
.y17a{bottom:87.326000px;}
.y15b{bottom:87.647000px;}
.y76{bottom:87.787000px;}
.ya0{bottom:88.601000px;}
.y54{bottom:90.248000px;}
.y1ac{bottom:90.745000px;}
.y146{bottom:90.875000px;}
.ycb{bottom:90.995000px;}
.y135{bottom:91.422000px;}
.y3c{bottom:91.670000px;}
.y192{bottom:91.780000px;}
.y173{bottom:92.035000px;}
.y152{bottom:92.151000px;}
.yb9{bottom:92.309000px;}
.y65{bottom:92.694000px;}
.y21{bottom:92.903000px;}
.y19b{bottom:93.269000px;}
.yd6{bottom:94.512000px;}
.y163{bottom:94.709000px;}
.y48{bottom:96.176000px;}
.yb{bottom:96.320000px;}
.y2d{bottom:97.421000px;}
.yde{bottom:97.451000px;}
.y184{bottom:97.670000px;}
.y75{bottom:98.671000px;}
.y1a4{bottom:99.155000px;}
.y10c{bottom:99.323000px;}
.ye9{bottom:99.428000px;}
.y14b{bottom:100.053000px;}
.yfc{bottom:100.356000px;}
.y11e{bottom:101.187000px;}
.y12b{bottom:101.231000px;}
.y1a{bottom:101.301000px;}
.y103{bottom:101.535000px;}
.y96{bottom:101.780000px;}
.yc1{bottom:101.974000px;}
.y13{bottom:102.143000px;}
.y3b{bottom:102.554000px;}
.y8d{bottom:102.906000px;}
.y145{bottom:103.229000px;}
.y64{bottom:103.578000px;}
.y83{bottom:103.615000px;}
.y53{bottom:103.996000px;}
.y191{bottom:104.382000px;}
.y19a{bottom:105.872000px;}
.y134{bottom:107.004000px;}
.ye4{bottom:107.115000px;}
.yf3{bottom:107.311000px;}
.y172{bottom:107.616000px;}
.y114{bottom:107.662000px;}
.y151{bottom:107.732000px;}
.yb8{bottom:107.890000px;}
.ya7{bottom:108.409000px;}
.yf2{bottom:108.681000px;}
.y15a{bottom:108.693000px;}
.y47{bottom:108.778000px;}
.y16a{bottom:108.958000px;}
.yad{bottom:109.527000px;}
.y74{bottom:109.556000px;}
.ydd{bottom:110.054000px;}
.y183{bottom:110.273000px;}
.y33{bottom:111.700000px;}
.y1a3{bottom:111.757000px;}
.y20{bottom:112.106000px;}
.y9f{bottom:112.153000px;}
.y13e{bottom:112.401000px;}
.yfb{bottom:112.959000px;}
.y3a{bottom:113.438000px;}
.y102{bottom:113.889000px;}
.y11d{bottom:114.263000px;}
.y63{bottom:114.462000px;}
.y10b{bottom:114.905000px;}
.ya{bottom:115.523000px;}
.yca{bottom:115.952000px;}
.y4{bottom:116.152000px;}
.y162{bottom:116.242000px;}
.y190{bottom:116.985000px;}
.y199{bottom:118.474000px;}
.y179{bottom:118.519000px;}
.y8c{bottom:119.270000px;}
.yd5{bottom:119.717000px;}
.y73{bottom:120.191000px;}
.y1ab{bottom:120.274000px;}
.y19{bottom:120.504000px;}
.y52{bottom:120.708000px;}
.y125{bottom:121.063000px;}
.y12{bottom:121.346000px;}
.y46{bottom:121.381000px;}
.y14a{bottom:121.587000px;}
.y12a{bottom:122.267000px;}
.y133{bottom:122.585000px;}
.y2c{bottom:122.626000px;}
.y182{bottom:122.875000px;}
.y113{bottom:123.244000px;}
.y95{bottom:123.314000px;}
.yc0{bottom:123.508000px;}
.ya6{bottom:123.991000px;}
.y144{bottom:124.275000px;}
.y1a2{bottom:124.360000px;}
.y62{bottom:125.097000px;}
.yac{bottom:125.108000px;}
.y159{bottom:127.264000px;}
.y82{bottom:129.159000px;}
.y18f{bottom:129.587000px;}
.y169{bottom:130.517000px;}
.y72{bottom:130.552000px;}
.ye8{bottom:130.925000px;}
.y13d{bottom:130.972000px;}
.y198{bottom:131.077000px;}
.y1f{bottom:131.309000px;}
.yd4{bottom:132.320000px;}
.yb7{bottom:133.434000px;}
.yf1{bottom:133.637000px;}
.y101{bottom:133.939000px;}
.yb1{bottom:133.984000px;}
.y11c{bottom:134.313000px;}
.y9{bottom:134.725000px;}
.y39{bottom:134.957000px;}
.yf0{bottom:135.007000px;}
.ydc{bottom:135.010000px;}
.y181{bottom:135.478000px;}
.y171{bottom:135.626000px;}
.y9e{bottom:135.704000px;}
.yc9{bottom:136.001000px;}
.y178{bottom:136.918000px;}
.y1a1{bottom:136.963000px;}
.y149{bottom:137.169000px;}
.y61{bottom:137.451000px;}
.yfa{bottom:137.915000px;}
.y26{bottom:138.248000px;}
.y161{bottom:138.434000px;}
.y94{bottom:138.895000px;}
.y8b{bottom:139.691000px;}
.y18{bottom:139.707000px;}
.y3{bottom:140.018000px;}
.y132{bottom:140.159000px;}
.y11{bottom:140.549000px;}
.y18e{bottom:142.190000px;}
.y51{bottom:142.243000px;}
.y143{bottom:142.845000px;}
.y81{bottom:142.907000px;}
.y197{bottom:143.680000px;}
.yd3{bottom:144.923000px;}
.y112{bottom:145.799000px;}
.y129{bottom:146.292000px;}
.y38{bottom:146.315000px;}
.ye7{bottom:146.507000px;}
.y45{bottom:146.586000px;}
.y10a{bottom:146.900000px;}
.y2b{bottom:147.832000px;}
.y180{bottom:148.081000px;}
.ybf{bottom:148.280000px;}
.ya5{bottom:148.763000px;}
.yb6{bottom:149.016000px;}
.y100{bottom:149.520000px;}
.y13c{bottom:149.542000px;}
.y1a0{bottom:149.565000px;}
.y1aa{bottom:149.803000px;}
.ydb{bottom:150.078000px;}
.y1e{bottom:150.512000px;}
.y71{bottom:150.601000px;}
.y170{bottom:151.208000px;}
.y168{bottom:152.076000px;}
.y8{bottom:153.928000px;}
.y93{bottom:154.477000px;}
.y18d{bottom:154.544000px;}
.y177{bottom:154.975000px;}
.y124{bottom:155.434000px;}
.y50{bottom:155.991000px;}
.y196{bottom:156.033000px;}
.y60{bottom:157.500000px;}
.yc8{bottom:157.999000px;}
.y158{bottom:158.427000px;}
.y80{bottom:158.648000px;}
.yb0{bottom:159.189000px;}
.y9d{bottom:159.256000px;}
.y11b{bottom:159.518000px;}
.y10{bottom:159.752000px;}
.yf9{bottom:159.957000px;}
.yef{bottom:159.963000px;}
.y2a{bottom:160.185000px;}
.y17f{bottom:160.683000px;}
.y70{bottom:161.486000px;}
.yab{bottom:161.726000px;}
.y128{bottom:161.873000px;}
.y19f{bottom:162.168000px;}
.y109{bottom:162.481000px;}
.y148{bottom:163.684000px;}
.yb5{bottom:164.597000px;}
.ybe{bottom:165.341000px;}
.y1a9{bottom:165.385000px;}
.y8a{bottom:165.709000px;}
.y37{bottom:166.364000px;}
.ya4{bottom:166.820000px;}
.y142{bottom:166.870000px;}
.y111{bottom:167.084000px;}
.y5f{bottom:168.385000px;}
.y1d{bottom:169.714000px;}
.y92{bottom:170.058000px;}
.yd2{bottom:170.128000px;}
.yff{bottom:170.556000px;}
.yc7{bottom:170.601000px;}
.y131{bottom:171.158000px;}
.y44{bottom:171.543000px;}
.y11a{bottom:172.121000px;}
.y6f{bottom:172.370000px;}
.y17e{bottom:173.037000px;}
.y13b{bottom:173.567000px;}
.y19e{bottom:174.770000px;}
.y160{bottom:175.052000px;}
.y16f{bottom:175.232000px;}
.y29{bottom:175.254000px;}
.yf8{bottom:175.539000px;}
.y150{bottom:176.011000px;}
.y167{bottom:176.101000px;}
.y7f{bottom:176.222000px;}
.y18c{bottom:176.586000px;}
.y4f{bottom:176.713000px;}
.y36{bottom:177.248000px;}
.yaa{bottom:177.307000px;}
.y2{bottom:178.039000px;}
.y195{bottom:178.075000px;}
.yf{bottom:178.955000px;}
.y5e{bottom:179.269000px;}
.y110{bottom:180.160000px;}
.y127{bottom:180.443000px;}
.y89{bottom:181.290000px;}
.yee{bottom:182.006000px;}
.y157{bottom:182.452000px;}
.y9c{bottom:182.807000px;}
.yc6{bottom:183.204000px;}
.y6e{bottom:183.254000px;}
.y108{bottom:183.517000px;}
.y91{bottom:185.640000px;}
.y130{bottom:186.740000px;}
.y19d{bottom:187.124000px;}
.y1c{bottom:188.917000px;}
.y13a{bottom:189.148000px;}
.ybd{bottom:190.113000px;}
.yb4{bottom:190.141000px;}
.y5d{bottom:190.153000px;}
.y4e{bottom:190.462000px;}
.y15f{bottom:190.633000px;}
.y16e{bottom:190.814000px;}
.yf7{bottom:191.120000px;}
.y28{bottom:191.592000px;}
.y18b{bottom:192.168000px;}
.y6d{bottom:194.138000px;}
.yd1{bottom:195.084000px;}
.y88{bottom:196.871000px;}
.y119{bottom:197.077000px;}
.ye{bottom:198.158000px;}
.y1{bottom:198.662000px;}
.y35{bottom:198.795000px;}
.y7e{bottom:200.247000px;}
.y5c{bottom:200.788000px;}
.y10f{bottom:201.196000px;}
.ya3{bottom:201.804000px;}
.y12f{bottom:204.314000px;}
.y126{bottom:204.468000px;}
.y139{bottom:204.730000px;}
.y6c{bottom:204.773000px;}
.yb3{bottom:205.723000px;}
.y15e{bottom:206.215000px;}
.y16d{bottom:206.395000px;}
.y27{bottom:207.174000px;}
.y1b{bottom:208.120000px;}
.yc5{bottom:208.160000px;}
.y34{bottom:210.153000px;}
.y5b{bottom:213.141000px;}
.y6b{bottom:215.134000px;}
.y7{bottom:236.149000px;}
.y18a{bottom:240.488000px;}
.h14{height:22.093117px;}
.he{height:22.124998px;}
.h9{height:23.910300px;}
.hb{height:24.818995px;}
.hc{height:24.890726px;}
.hf{height:25.285248px;}
.hd{height:27.576477px;}
.h10{height:27.656178px;}
.h6{height:29.887800px;}
.h12{height:30.283662px;}
.ha{height:32.727300px;}
.h13{height:33.091994px;}
.h5{height:33.187635px;}
.h11{height:34.488265px;}
.h7{height:35.865600px;}
.h4{height:40.456284px;}
.h8{height:43.038600px;}
.h3{height:58.268250px;}
.h2{height:74.361300px;}
.h0{height:255.118000px;}
.h1{height:255.500000px;}
.w0{width:453.543000px;}
.w1{width:454.000000px;}
.x0{left:0.000000px;}
.x4{left:10.667000px;}
.x1{left:28.346000px;}
.x9{left:31.335000px;}
.x16{left:32.730000px;}
.x5{left:34.488000px;}
.xf{left:35.719000px;}
.xa{left:36.961000px;}
.x12{left:41.049000px;}
.x15{left:42.577000px;}
.xb{left:45.283000px;}
.xc{left:47.176000px;}
.x6{left:50.486000px;}
.xe{left:53.153000px;}
.x17{left:56.590000px;}
.x13{left:63.207000px;}
.x14{left:66.005000px;}
.x11{left:74.922000px;}
.xd{left:80.127000px;}
.x2{left:99.766000px;}
.x8{left:106.772000px;}
.x18{left:195.267000px;}
.x3{left:378.705000px;}
.x19{left:418.767000px;}
.x10{left:424.403000px;}
.x7{left:428.637000px;}
@media print{
.v0{vertical-align:0.000000pt;}
.ls0{letter-spacing:0.000000pt;}
.ws0{word-spacing:0.000000pt;}
._29{margin-left:-12.162204pt;}
._3{margin-left:-7.383400pt;}
._6{margin-left:-5.126375pt;}
._19{margin-left:-3.117655pt;}
._7{margin-left:-1.721549pt;}
._c{width:1.721549pt;}
._0{width:4.098134pt;}
._28{width:6.109096pt;}
._10{width:8.320819pt;}
._13{width:15.863329pt;}
._b{width:17.693578pt;}
._f{width:19.374562pt;}
._8{width:20.786108pt;}
._9{width:22.660669pt;}
._11{width:25.105920pt;}
._d{width:27.238652pt;}
._5{width:28.921939pt;}
._4{width:31.186600pt;}
._12{width:33.378918pt;}
._1e{width:35.830324pt;}
._1d{width:37.277973pt;}
._18{width:39.631164pt;}
._2a{width:41.672677pt;}
._a{width:43.229883pt;}
._15{width:45.095808pt;}
._1{width:48.384419pt;}
._2{width:51.022600pt;}
._14{width:67.554446pt;}
._16{width:75.317760pt;}
._17{width:100.422187pt;}
._22{width:150.635520pt;}
._26{width:200.847360pt;}
._25{width:225.953280pt;}
._1f{width:251.059200pt;}
._24{width:301.271040pt;}
._21{width:326.376960pt;}
._20{width:426.800640pt;}
._23{width:552.330240pt;}
._1b{width:1403.279719pt;}
._2b{width:1471.965162pt;}
._1a{width:1529.063443pt;}
._27{width:1653.547376pt;}
._1c{width:1683.330431pt;}
._e{width:1769.917959pt;}
.fs8{font-size:31.880533pt;}
.fs5{font-size:42.507200pt;}
.fs7{font-size:47.820800pt;}
.fs4{font-size:53.133867pt;}
.fs6{font-size:58.181867pt;}
.fs3{font-size:63.761067pt;}
.fs2{font-size:76.513067pt;}
.fs1{font-size:110.200000pt;}
.fs0{font-size:132.197867pt;}
.y0{bottom:-0.666667pt;}
.y7d{bottom:4.273333pt;}
.y123{bottom:7.394667pt;}
.y43{bottom:8.121333pt;}
.y58{bottom:8.985333pt;}
.yd0{bottom:10.636000pt;}
.y5a{bottom:14.850667pt;}
.y32{bottom:16.633333pt;}
.yd{bottom:17.357333pt;}
.y7c{bottom:18.785333pt;}
.y14f{bottom:19.289333pt;}
.yed{bottom:20.278667pt;}
.y156{bottom:21.236000pt;}
.y25{bottom:21.454667pt;}
.y42{bottom:22.633333pt;}
.y17d{bottom:23.073333pt;}
.y9b{bottom:23.892000pt;}
.y122{bottom:24.198667pt;}
.y4d{bottom:27.413333pt;}
.ye3{bottom:29.113333pt;}
.y189{bottom:30.328000pt;}
.y118{bottom:32.553333pt;}
.y7b{bottom:33.297333pt;}
.y17{bottom:33.774667pt;}
.y107{bottom:34.558667pt;}
.yc4{bottom:35.292000pt;}
.y59{bottom:35.626667pt;}
.ycf{bottom:36.240000pt;}
.y41{bottom:37.145333pt;}
.y6a{bottom:37.182667pt;}
.yda{bottom:41.998667pt;}
.y155{bottom:42.010667pt;}
.y4c{bottom:44.216000pt;}
.y9a{bottom:44.668000pt;}
.y31{bottom:44.681333pt;}
.ybc{bottom:44.904000pt;}
.ye2{bottom:45.917333pt;}
.y176{bottom:46.472000pt;}
.y57{bottom:46.740000pt;}
.y24{bottom:47.058667pt;}
.y7a{bottom:47.809333pt;}
.y1a8{bottom:48.188000pt;}
.y14e{bottom:48.562667pt;}
.y188{bottom:51.104000pt;}
.y17c{bottom:51.121333pt;}
.ya9{bottom:51.256000pt;}
.y106{bottom:51.362667pt;}
.y40{bottom:51.658667pt;}
.yec{bottom:51.681333pt;}
.y69{bottom:51.694667pt;}
.y12e{bottom:52.092000pt;}
.y138{bottom:52.297333pt;}
.y117{bottom:53.328000pt;}
.y166{bottom:53.468000pt;}
.y141{bottom:55.728000pt;}
.y6{bottom:56.102667pt;}
.yce{bottom:57.016000pt;}
.y87{bottom:57.070667pt;}
.y121{bottom:57.473333pt;}
.y90{bottom:58.640000pt;}
.y16{bottom:59.378667pt;}
.yb2{bottom:61.020000pt;}
.y79{bottom:61.989333pt;}
.ye1{bottom:62.720000pt;}
.y30{bottom:63.012000pt;}
.y1a7{bottom:64.992000pt;}
.y56{bottom:65.070667pt;}
.y99{bottom:65.442667pt;}
.ybb{bottom:65.678667pt;}
.y68{bottom:65.874667pt;}
.y3f{bottom:66.170667pt;}
.y154{bottom:66.738667pt;}
.yfe{bottom:66.840000pt;}
.y175{bottom:67.248000pt;}
.y105{bottom:68.166667pt;}
.y194{bottom:71.962667pt;}
.y23{bottom:72.662667pt;}
.y137{bottom:73.073333pt;}
.y165{bottom:73.676000pt;}
.y120{bottom:74.908000pt;}
.y86{bottom:75.401333pt;}
.yd9{bottom:75.605333pt;}
.y10e{bottom:75.637333pt;}
.y78{bottom:75.804000pt;}
.yf6{bottom:76.200000pt;}
.ya2{bottom:76.584000pt;}
.y14d{bottom:77.274667pt;}
.y4b{bottom:77.824000pt;}
.y5{bottom:78.336000pt;}
.y8f{bottom:79.414667pt;}
.ye0{bottom:79.524000pt;}
.y187{bottom:79.816000pt;}
.y3e{bottom:80.350667pt;}
.y140{bottom:80.489333pt;}
.y67{bottom:82.346667pt;}
.yeb{bottom:83.084000pt;}
.y2f{bottom:83.302667pt;}
.y116{bottom:83.402667pt;}
.y15d{bottom:83.588000pt;}
.y15{bottom:84.982667pt;}
.y98{bottom:86.218667pt;}
.yba{bottom:86.453333pt;}
.ycd{bottom:87.720000pt;}
.y193{bottom:88.765333pt;}
.yc3{bottom:89.101333pt;}
.yaf{bottom:89.242667pt;}
.y19c{bottom:90.752000pt;}
.yd8{bottom:92.409333pt;}
.y55{bottom:92.701333pt;}
.y17b{bottom:92.712000pt;}
.yf5{bottom:93.002667pt;}
.y12d{bottom:93.424000pt;}
.y85{bottom:93.733333pt;}
.y16c{bottom:93.900000pt;}
.y4a{bottom:94.626667pt;}
.y3d{bottom:95.493333pt;}
.ye6{bottom:95.996000pt;}
.y186{bottom:96.620000pt;}
.ya1{bottom:97.358667pt;}
.ya8{bottom:97.900000pt;}
.y22{bottom:98.266667pt;}
.y1a6{bottom:98.598667pt;}
.y164{bottom:99.977333pt;}
.yfd{bottom:100.201333pt;}
.y1ad{bottom:100.217333pt;}
.y15c{bottom:100.392000pt;}
.y136{bottom:101.121333pt;}
.y2e{bottom:101.634667pt;}
.y11f{bottom:101.641333pt;}
.y104{bottom:101.773333pt;}
.y174{bottom:101.937333pt;}
.y153{bottom:102.092000pt;}
.y77{bottom:102.537333pt;}
.yc{bottom:102.822667pt;}
.yea{bottom:103.858667pt;}
.y147{bottom:104.364000pt;}
.ycc{bottom:104.524000pt;}
.y14c{bottom:105.986667pt;}
.y97{bottom:106.993333pt;}
.y10d{bottom:107.670667pt;}
.y13f{bottom:108.537333pt;}
.y66{bottom:109.080000pt;}
.yd7{bottom:109.212000pt;}
.yf4{bottom:109.806667pt;}
.y14{bottom:110.586667pt;}
.y49{bottom:111.430667pt;}
.ydf{bottom:113.130667pt;}
.y185{bottom:113.422667pt;}
.y115{bottom:113.476000pt;}
.yae{bottom:114.002667pt;}
.y12c{bottom:114.198667pt;}
.y16b{bottom:114.674667pt;}
.y84{bottom:114.721333pt;}
.yc2{bottom:115.189333pt;}
.y1a5{bottom:115.402667pt;}
.ye5{bottom:116.086667pt;}
.y8e{bottom:116.433333pt;}
.y17a{bottom:116.434667pt;}
.y15b{bottom:116.862667pt;}
.y76{bottom:117.049333pt;}
.ya0{bottom:118.134667pt;}
.y54{bottom:120.330667pt;}
.y1ac{bottom:120.993333pt;}
.y146{bottom:121.166667pt;}
.ycb{bottom:121.326667pt;}
.y135{bottom:121.896000pt;}
.y3c{bottom:122.226667pt;}
.y192{bottom:122.373333pt;}
.y173{bottom:122.713333pt;}
.y152{bottom:122.868000pt;}
.yb9{bottom:123.078667pt;}
.y65{bottom:123.592000pt;}
.y21{bottom:123.870667pt;}
.y19b{bottom:124.358667pt;}
.yd6{bottom:126.016000pt;}
.y163{bottom:126.278667pt;}
.y48{bottom:128.234667pt;}
.yb{bottom:128.426667pt;}
.y2d{bottom:129.894667pt;}
.yde{bottom:129.934667pt;}
.y184{bottom:130.226667pt;}
.y75{bottom:131.561333pt;}
.y1a4{bottom:132.206667pt;}
.y10c{bottom:132.430667pt;}
.ye9{bottom:132.570667pt;}
.y14b{bottom:133.404000pt;}
.yfc{bottom:133.808000pt;}
.y11e{bottom:134.916000pt;}
.y12b{bottom:134.974667pt;}
.y1a{bottom:135.068000pt;}
.y103{bottom:135.380000pt;}
.y96{bottom:135.706667pt;}
.yc1{bottom:135.965333pt;}
.y13{bottom:136.190667pt;}
.y3b{bottom:136.738667pt;}
.y8d{bottom:137.208000pt;}
.y145{bottom:137.638667pt;}
.y64{bottom:138.104000pt;}
.y83{bottom:138.153333pt;}
.y53{bottom:138.661333pt;}
.y191{bottom:139.176000pt;}
.y19a{bottom:141.162667pt;}
.y134{bottom:142.672000pt;}
.ye4{bottom:142.820000pt;}
.yf3{bottom:143.081333pt;}
.y172{bottom:143.488000pt;}
.y114{bottom:143.549333pt;}
.y151{bottom:143.642667pt;}
.yb8{bottom:143.853333pt;}
.ya7{bottom:144.545333pt;}
.yf2{bottom:144.908000pt;}
.y15a{bottom:144.924000pt;}
.y47{bottom:145.037333pt;}
.y16a{bottom:145.277333pt;}
.yad{bottom:146.036000pt;}
.y74{bottom:146.074667pt;}
.ydd{bottom:146.738667pt;}
.y183{bottom:147.030667pt;}
.y33{bottom:148.933333pt;}
.y1a3{bottom:149.009333pt;}
.y20{bottom:149.474667pt;}
.y9f{bottom:149.537333pt;}
.y13e{bottom:149.868000pt;}
.yfb{bottom:150.612000pt;}
.y3a{bottom:151.250667pt;}
.y102{bottom:151.852000pt;}
.y11d{bottom:152.350667pt;}
.y63{bottom:152.616000pt;}
.y10b{bottom:153.206667pt;}
.ya{bottom:154.030667pt;}
.yca{bottom:154.602667pt;}
.y4{bottom:154.869333pt;}
.y162{bottom:154.989333pt;}
.y190{bottom:155.980000pt;}
.y199{bottom:157.965333pt;}
.y179{bottom:158.025333pt;}
.y8c{bottom:159.026667pt;}
.yd5{bottom:159.622667pt;}
.y73{bottom:160.254667pt;}
.y1ab{bottom:160.365333pt;}
.y19{bottom:160.672000pt;}
.y52{bottom:160.944000pt;}
.y125{bottom:161.417333pt;}
.y12{bottom:161.794667pt;}
.y46{bottom:161.841333pt;}
.y14a{bottom:162.116000pt;}
.y12a{bottom:163.022667pt;}
.y133{bottom:163.446667pt;}
.y2c{bottom:163.501333pt;}
.y182{bottom:163.833333pt;}
.y113{bottom:164.325333pt;}
.y95{bottom:164.418667pt;}
.yc0{bottom:164.677333pt;}
.ya6{bottom:165.321333pt;}
.y144{bottom:165.700000pt;}
.y1a2{bottom:165.813333pt;}
.y62{bottom:166.796000pt;}
.yac{bottom:166.810667pt;}
.y159{bottom:169.685333pt;}
.y82{bottom:172.212000pt;}
.y18f{bottom:172.782667pt;}
.y169{bottom:174.022667pt;}
.y72{bottom:174.069333pt;}
.ye8{bottom:174.566667pt;}
.y13d{bottom:174.629333pt;}
.y198{bottom:174.769333pt;}
.y1f{bottom:175.078667pt;}
.yd4{bottom:176.426667pt;}
.yb7{bottom:177.912000pt;}
.yf1{bottom:178.182667pt;}
.y101{bottom:178.585333pt;}
.yb1{bottom:178.645333pt;}
.y11c{bottom:179.084000pt;}
.y9{bottom:179.633333pt;}
.y39{bottom:179.942667pt;}
.yf0{bottom:180.009333pt;}
.ydc{bottom:180.013333pt;}
.y181{bottom:180.637333pt;}
.y171{bottom:180.834667pt;}
.y9e{bottom:180.938667pt;}
.yc9{bottom:181.334667pt;}
.y178{bottom:182.557333pt;}
.y1a1{bottom:182.617333pt;}
.y149{bottom:182.892000pt;}
.y61{bottom:183.268000pt;}
.yfa{bottom:183.886667pt;}
.y26{bottom:184.330667pt;}
.y161{bottom:184.578667pt;}
.y94{bottom:185.193333pt;}
.y8b{bottom:186.254667pt;}
.y18{bottom:186.276000pt;}
.y3{bottom:186.690667pt;}
.y132{bottom:186.878667pt;}
.y11{bottom:187.398667pt;}
.y18e{bottom:189.586667pt;}
.y51{bottom:189.657333pt;}
.y143{bottom:190.460000pt;}
.y81{bottom:190.542667pt;}
.y197{bottom:191.573333pt;}
.yd3{bottom:193.230667pt;}
.y112{bottom:194.398667pt;}
.y129{bottom:195.056000pt;}
.y38{bottom:195.086667pt;}
.ye7{bottom:195.342667pt;}
.y45{bottom:195.448000pt;}
.y10a{bottom:195.866667pt;}
.y2b{bottom:197.109333pt;}
.y180{bottom:197.441333pt;}
.ybf{bottom:197.706667pt;}
.ya5{bottom:198.350667pt;}
.yb6{bottom:198.688000pt;}
.y100{bottom:199.360000pt;}
.y13c{bottom:199.389333pt;}
.y1a0{bottom:199.420000pt;}
.y1aa{bottom:199.737333pt;}
.ydb{bottom:200.104000pt;}
.y1e{bottom:200.682667pt;}
.y71{bottom:200.801333pt;}
.y170{bottom:201.610667pt;}
.y168{bottom:202.768000pt;}
.y8{bottom:205.237333pt;}
.y93{bottom:205.969333pt;}
.y18d{bottom:206.058667pt;}
.y177{bottom:206.633333pt;}
.y124{bottom:207.245333pt;}
.y50{bottom:207.988000pt;}
.y196{bottom:208.044000pt;}
.y60{bottom:210.000000pt;}
.yc8{bottom:210.665333pt;}
.y158{bottom:211.236000pt;}
.y80{bottom:211.530667pt;}
.yb0{bottom:212.252000pt;}
.y9d{bottom:212.341333pt;}
.y11b{bottom:212.690667pt;}
.y10{bottom:213.002667pt;}
.yf9{bottom:213.276000pt;}
.yef{bottom:213.284000pt;}
.y2a{bottom:213.580000pt;}
.y17f{bottom:214.244000pt;}
.y70{bottom:215.314667pt;}
.yab{bottom:215.634667pt;}
.y128{bottom:215.830667pt;}
.y19f{bottom:216.224000pt;}
.y109{bottom:216.641333pt;}
.y148{bottom:218.245333pt;}
.yb5{bottom:219.462667pt;}
.ybe{bottom:220.454667pt;}
.y1a9{bottom:220.513333pt;}
.y8a{bottom:220.945333pt;}
.y37{bottom:221.818667pt;}
.ya4{bottom:222.426667pt;}
.y142{bottom:222.493333pt;}
.y111{bottom:222.778667pt;}
.y5f{bottom:224.513333pt;}
.y1d{bottom:226.285333pt;}
.y92{bottom:226.744000pt;}
.yd2{bottom:226.837333pt;}
.yff{bottom:227.408000pt;}
.yc7{bottom:227.468000pt;}
.y131{bottom:228.210667pt;}
.y44{bottom:228.724000pt;}
.y11a{bottom:229.494667pt;}
.y6f{bottom:229.826667pt;}
.y17e{bottom:230.716000pt;}
.y13b{bottom:231.422667pt;}
.y19e{bottom:233.026667pt;}
.y160{bottom:233.402667pt;}
.y16f{bottom:233.642667pt;}
.y29{bottom:233.672000pt;}
.yf8{bottom:234.052000pt;}
.y150{bottom:234.681333pt;}
.y167{bottom:234.801333pt;}
.y7f{bottom:234.962667pt;}
.y18c{bottom:235.448000pt;}
.y4f{bottom:235.617333pt;}
.y36{bottom:236.330667pt;}
.yaa{bottom:236.409333pt;}
.y2{bottom:237.385333pt;}
.y195{bottom:237.433333pt;}
.yf{bottom:238.606667pt;}
.y5e{bottom:239.025333pt;}
.y110{bottom:240.213333pt;}
.y127{bottom:240.590667pt;}
.y89{bottom:241.720000pt;}
.yee{bottom:242.674667pt;}
.y157{bottom:243.269333pt;}
.y9c{bottom:243.742667pt;}
.yc6{bottom:244.272000pt;}
.y6e{bottom:244.338667pt;}
.y108{bottom:244.689333pt;}
.y91{bottom:247.520000pt;}
.y130{bottom:248.986667pt;}
.y19d{bottom:249.498667pt;}
.y1c{bottom:251.889333pt;}
.y13a{bottom:252.197333pt;}
.ybd{bottom:253.484000pt;}
.yb4{bottom:253.521333pt;}
.y5d{bottom:253.537333pt;}
.y4e{bottom:253.949333pt;}
.y15f{bottom:254.177333pt;}
.y16e{bottom:254.418667pt;}
.yf7{bottom:254.826667pt;}
.y28{bottom:255.456000pt;}
.y18b{bottom:256.224000pt;}
.y6d{bottom:258.850667pt;}
.yd1{bottom:260.112000pt;}
.y88{bottom:262.494667pt;}
.y119{bottom:262.769333pt;}
.ye{bottom:264.210667pt;}
.y1{bottom:264.882667pt;}
.y35{bottom:265.060000pt;}
.y7e{bottom:266.996000pt;}
.y5c{bottom:267.717333pt;}
.y10f{bottom:268.261333pt;}
.ya3{bottom:269.072000pt;}
.y12f{bottom:272.418667pt;}
.y126{bottom:272.624000pt;}
.y139{bottom:272.973333pt;}
.y6c{bottom:273.030667pt;}
.yb3{bottom:274.297333pt;}
.y15e{bottom:274.953333pt;}
.y16d{bottom:275.193333pt;}
.y27{bottom:276.232000pt;}
.y1b{bottom:277.493333pt;}
.yc5{bottom:277.546667pt;}
.y34{bottom:280.204000pt;}
.y5b{bottom:284.188000pt;}
.y6b{bottom:286.845333pt;}
.y7{bottom:314.865333pt;}
.y18a{bottom:320.650667pt;}
.h14{height:29.457490pt;}
.he{height:29.499997pt;}
.h9{height:31.880400pt;}
.hb{height:33.091994pt;}
.hc{height:33.187635pt;}
.hf{height:33.713664pt;}
.hd{height:36.768636pt;}
.h10{height:36.874903pt;}
.h6{height:39.850400pt;}
.h12{height:40.378215pt;}
.ha{height:43.636400pt;}
.h13{height:44.122658pt;}
.h5{height:44.250180pt;}
.h11{height:45.984353pt;}
.h7{height:47.820800pt;}
.h4{height:53.941712pt;}
.h8{height:57.384800pt;}
.h3{height:77.691000pt;}
.h2{height:99.148400pt;}
.h0{height:340.157333pt;}
.h1{height:340.666667pt;}
.w0{width:604.724000pt;}
.w1{width:605.333333pt;}
.x0{left:0.000000pt;}
.x4{left:14.222667pt;}
.x1{left:37.794667pt;}
.x9{left:41.780000pt;}
.x16{left:43.640000pt;}
.x5{left:45.984000pt;}
.xf{left:47.625333pt;}
.xa{left:49.281333pt;}
.x12{left:54.732000pt;}
.x15{left:56.769333pt;}
.xb{left:60.377333pt;}
.xc{left:62.901333pt;}
.x6{left:67.314667pt;}
.xe{left:70.870667pt;}
.x17{left:75.453333pt;}
.x13{left:84.276000pt;}
.x14{left:88.006667pt;}
.x11{left:99.896000pt;}
.xd{left:106.836000pt;}
.x2{left:133.021333pt;}
.x8{left:142.362667pt;}
.x18{left:260.356000pt;}
.x3{left:504.940000pt;}
.x19{left:558.356000pt;}
.x10{left:565.870667pt;}
.x7{left:571.516000pt;}
}
</style>
<script>
/*
Copyright 2012 Mozilla Foundation
Copyright 2013 Lu Wang <coolwanglu@gmail.com>
Apachine License Version 2.0
*/
(function(){function b(a,b,e,f){var c=(a.className||"").split(/\s+/g);""===c[0]&&c.shift();var d=c.indexOf(b);0>d&&e&&c.push(b);0<=d&&f&&c.splice(d,1);a.className=c.join(" ");return 0<=d}if(!("classList"in document.createElement("div"))){var e={add:function(a){b(this.element,a,!0,!1)},contains:function(a){return b(this.element,a,!1,!1)},remove:function(a){b(this.element,a,!1,!0)},toggle:function(a){b(this.element,a,!0,!0)}};Object.defineProperty(HTMLElement.prototype,"classList",{get:function(){if(this._classList)return this._classList;
var a=Object.create(e,{element:{value:this,writable:!1,enumerable:!0}});Object.defineProperty(this,"_classList",{value:a,writable:!1,enumerable:!1});return a},enumerable:!0})}})();
</script>
<script>
(function(){/*
pdf2htmlEX.js: Core UI functions for pdf2htmlEX
Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com> and other contributors
https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/
var pdf2htmlEX=window.pdf2htmlEX=window.pdf2htmlEX||{},CSS_CLASS_NAMES={page_frame:"pf",page_content_box:"pc",page_data:"pi",background_image:"bi",link:"l",input_radio:"ir",__dummy__:"no comma"},DEFAULT_CONFIG={container_id:"page-container",sidebar_id:"sidebar",outline_id:"outline",loading_indicator_cls:"loading-indicator",preload_pages:3,render_timeout:100,scale_step:0.9,key_handler:!0,hashchange_handler:!0,view_history_handler:!0,__dummy__:"no comma"},EPS=1E-6;
function invert(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[3]*a[4])/b,(a[1]*a[4]-a[0]*a[5])/b]}function transform(a,b){return[a[0]*b[0]+a[2]*b[1]+a[4],a[1]*b[0]+a[3]*b[1]+a[5]]}function get_page_number(a){return parseInt(a.getAttribute("data-page-no"),16)}function disable_dragstart(a){for(var b=0,c=a.length;b<c;++b)a[b].addEventListener("dragstart",function(){return!1},!1)}
function clone_and_extend_objs(a){for(var b={},c=0,e=arguments.length;c<e;++c){var h=arguments[c],d;for(d in h)h.hasOwnProperty(d)&&(b[d]=h[d])}return b}
function Page(a){if(a){this.shown=this.loaded=!1;this.page=a;this.num=get_page_number(a);this.original_height=a.clientHeight;this.original_width=a.clientWidth;var b=a.getElementsByClassName(CSS_CLASS_NAMES.page_content_box)[0];b&&(this.content_box=b,this.original_scale=this.cur_scale=this.original_height/b.clientHeight,this.page_data=JSON.parse(a.getElementsByClassName(CSS_CLASS_NAMES.page_data)[0].getAttribute("data-data")),this.ctm=this.page_data.ctm,this.ictm=invert(this.ctm),this.loaded=!0)}}
Page.prototype={hide:function(){this.loaded&&this.shown&&(this.content_box.classList.remove("opened"),this.shown=!1)},show:function(){this.loaded&&!this.shown&&(this.content_box.classList.add("opened"),this.shown=!0)},rescale:function(a){this.cur_scale=0===a?this.original_scale:a;this.loaded&&(a=this.content_box.style,a.msTransform=a.webkitTransform=a.transform="scale("+this.cur_scale.toFixed(3)+")");a=this.page.style;a.height=this.original_height*this.cur_scale+"px";a.width=this.original_width*this.cur_scale+
"px"},view_position:function(){var a=this.page,b=a.parentNode;return[b.scrollLeft-a.offsetLeft-a.clientLeft,b.scrollTop-a.offsetTop-a.clientTop]},height:function(){return this.page.clientHeight},width:function(){return this.page.clientWidth}};function Viewer(a){this.config=clone_and_extend_objs(DEFAULT_CONFIG,0<arguments.length?a:{});this.pages_loading=[];this.init_before_loading_content();var b=this;document.addEventListener("DOMContentLoaded",function(){b.init_after_loading_content()},!1)}
Viewer.prototype={scale:1,cur_page_idx:0,first_page_idx:0,init_before_loading_content:function(){this.pre_hide_pages()},initialize_radio_button:function(){for(var a=document.getElementsByClassName(CSS_CLASS_NAMES.input_radio),b=0;b<a.length;b++)a[b].addEventListener("click",function(){this.classList.toggle("checked")})},init_after_loading_content:function(){this.sidebar=document.getElementById(this.config.sidebar_id);this.outline=document.getElementById(this.config.outline_id);this.container=document.getElementById(this.config.container_id);
this.loading_indicator=document.getElementsByClassName(this.config.loading_indicator_cls)[0];for(var a=!0,b=this.outline.childNodes,c=0,e=b.length;c<e;++c)if("ul"===b[c].nodeName.toLowerCase()){a=!1;break}a||this.sidebar.classList.add("opened");this.find_pages();if(0!=this.pages.length){disable_dragstart(document.getElementsByClassName(CSS_CLASS_NAMES.background_image));this.config.key_handler&&this.register_key_handler();var h=this;this.config.hashchange_handler&&window.addEventListener("hashchange",
function(a){h.navigate_to_dest(document.location.hash.substring(1))},!1);this.config.view_history_handler&&window.addEventListener("popstate",function(a){a.state&&h.navigate_to_dest(a.state)},!1);this.container.addEventListener("scroll",function(){h.update_page_idx();h.schedule_render(!0)},!1);[this.container,this.outline].forEach(function(a){a.addEventListener("click",h.link_handler.bind(h),!1)});this.initialize_radio_button();this.render()}},find_pages:function(){for(var a=[],b={},c=this.container.childNodes,
e=0,h=c.length;e<h;++e){var d=c[e];d.nodeType===Node.ELEMENT_NODE&&d.classList.contains(CSS_CLASS_NAMES.page_frame)&&(d=new Page(d),a.push(d),b[d.num]=a.length-1)}this.pages=a;this.page_map=b},load_page:function(a,b,c){var e=this.pages;if(!(a>=e.length||(e=e[a],e.loaded||this.pages_loading[a]))){var e=e.page,h=e.getAttribute("data-page-url");if(h){this.pages_loading[a]=!0;var d=e.getElementsByClassName(this.config.loading_indicator_cls)[0];"undefined"===typeof d&&(d=this.loading_indicator.cloneNode(!0),
d.classList.add("active"),e.appendChild(d));var f=this,g=new XMLHttpRequest;g.open("GET",h,!0);g.onload=function(){if(200===g.status||0===g.status){var b=document.createElement("div");b.innerHTML=g.responseText;for(var d=null,b=b.childNodes,e=0,h=b.length;e<h;++e){var p=b[e];if(p.nodeType===Node.ELEMENT_NODE&&p.classList.contains(CSS_CLASS_NAMES.page_frame)){d=p;break}}b=f.pages[a];f.container.replaceChild(d,b.page);b=new Page(d);f.pages[a]=b;b.hide();b.rescale(f.scale);disable_dragstart(d.getElementsByClassName(CSS_CLASS_NAMES.background_image));
f.schedule_render(!1);c&&c(b)}delete f.pages_loading[a]};g.send(null)}void 0===b&&(b=this.config.preload_pages);0<--b&&(f=this,setTimeout(function(){f.load_page(a+1,b)},0))}},pre_hide_pages:function(){var a="@media screen{."+CSS_CLASS_NAMES.page_content_box+"{display:none;}}",b=document.createElement("style");b.styleSheet?b.styleSheet.cssText=a:b.appendChild(document.createTextNode(a));document.head.appendChild(b)},render:function(){for(var a=this.container,b=a.scrollTop,c=a.clientHeight,a=b-c,b=
b+c+c,c=this.pages,e=0,h=c.length;e<h;++e){var d=c[e],f=d.page,g=f.offsetTop+f.clientTop,f=g+f.clientHeight;g<=b&&f>=a?d.loaded?d.show():this.load_page(e):d.hide()}},update_page_idx:function(){var a=this.pages,b=a.length;if(!(2>b)){for(var c=this.container,e=c.scrollTop,c=e+c.clientHeight,h=-1,d=b,f=d-h;1<f;){var g=h+Math.floor(f/2),f=a[g].page;f.offsetTop+f.clientTop+f.clientHeight>=e?d=g:h=g;f=d-h}this.first_page_idx=d;for(var g=h=this.cur_page_idx,k=0;d<b;++d){var f=a[d].page,l=f.offsetTop+f.clientTop,
f=f.clientHeight;if(l>c)break;f=(Math.min(c,l+f)-Math.max(e,l))/f;if(d===h&&Math.abs(f-1)<=EPS){g=h;break}f>k&&(k=f,g=d)}this.cur_page_idx=g}},schedule_render:function(a){if(void 0!==this.render_timer){if(!a)return;clearTimeout(this.render_timer)}var b=this;this.render_timer=setTimeout(function(){delete b.render_timer;b.render()},this.config.render_timeout)},register_key_handler:function(){var a=this;window.addEventListener("DOMMouseScroll",function(b){if(b.ctrlKey){b.preventDefault();var c=a.container,
e=c.getBoundingClientRect(),c=[b.clientX-e.left-c.clientLeft,b.clientY-e.top-c.clientTop];a.rescale(Math.pow(a.config.scale_step,b.detail),!0,c)}},!1);window.addEventListener("keydown",function(b){var c=!1,e=b.ctrlKey||b.metaKey,h=b.altKey;switch(b.keyCode){case 61:case 107:case 187:e&&(a.rescale(1/a.config.scale_step,!0),c=!0);break;case 173:case 109:case 189:e&&(a.rescale(a.config.scale_step,!0),c=!0);break;case 48:e&&(a.rescale(0,!1),c=!0);break;case 33:h?a.scroll_to(a.cur_page_idx-1):a.container.scrollTop-=
a.container.clientHeight;c=!0;break;case 34:h?a.scroll_to(a.cur_page_idx+1):a.container.scrollTop+=a.container.clientHeight;c=!0;break;case 35:a.container.scrollTop=a.container.scrollHeight;c=!0;break;case 36:a.container.scrollTop=0,c=!0}c&&b.preventDefault()},!1)},rescale:function(a,b,c){var e=this.scale;this.scale=a=0===a?1:b?e*a:a;c||(c=[0,0]);b=this.container;c[0]+=b.scrollLeft;c[1]+=b.scrollTop;for(var h=this.pages,d=h.length,f=this.first_page_idx;f<d;++f){var g=h[f].page;if(g.offsetTop+g.clientTop>=
c[1])break}g=f-1;0>g&&(g=0);var g=h[g].page,k=g.clientWidth,f=g.clientHeight,l=g.offsetLeft+g.clientLeft,m=c[0]-l;0>m?m=0:m>k&&(m=k);k=g.offsetTop+g.clientTop;c=c[1]-k;0>c?c=0:c>f&&(c=f);for(f=0;f<d;++f)h[f].rescale(a);b.scrollLeft+=m/e*a+g.offsetLeft+g.clientLeft-m-l;b.scrollTop+=c/e*a+g.offsetTop+g.clientTop-c-k;this.schedule_render(!0)},fit_width:function(){var a=this.cur_page_idx;this.rescale(this.container.clientWidth/this.pages[a].width(),!0);this.scroll_to(a)},fit_height:function(){var a=this.cur_page_idx;
this.rescale(this.container.clientHeight/this.pages[a].height(),!0);this.scroll_to(a)},get_containing_page:function(a){for(;a;){if(a.nodeType===Node.ELEMENT_NODE&&a.classList.contains(CSS_CLASS_NAMES.page_frame)){a=get_page_number(a);var b=this.page_map;return a in b?this.pages[b[a]]:null}a=a.parentNode}return null},link_handler:function(a){var b=a.target,c=b.getAttribute("data-dest-detail");if(c){if(this.config.view_history_handler)try{var e=this.get_current_view_hash();window.history.replaceState(e,
"","#"+e);window.history.pushState(c,"","#"+c)}catch(h){}this.navigate_to_dest(c,this.get_containing_page(b));a.preventDefault()}},navigate_to_dest:function(a,b){try{var c=JSON.parse(a)}catch(e){return}if(c instanceof Array){var h=c[0],d=this.page_map;if(h in d){for(var f=d[h],h=this.pages[f],d=2,g=c.length;d<g;++d){var k=c[d];if(null!==k&&"number"!==typeof k)return}for(;6>c.length;)c.push(null);var g=b||this.pages[this.cur_page_idx],d=g.view_position(),d=transform(g.ictm,[d[0],g.height()-d[1]]),
g=this.scale,l=[0,0],m=!0,k=!1,n=this.scale;switch(c[1]){case "XYZ":l=[null===c[2]?d[0]:c[2]*n,null===c[3]?d[1]:c[3]*n];g=c[4];if(null===g||0===g)g=this.scale;k=!0;break;case "Fit":case "FitB":l=[0,0];k=!0;break;case "FitH":case "FitBH":l=[0,null===c[2]?d[1]:c[2]*n];k=!0;break;case "FitV":case "FitBV":l=[null===c[2]?d[0]:c[2]*n,0];k=!0;break;case "FitR":l=[c[2]*n,c[5]*n],m=!1,k=!0}if(k){this.rescale(g,!1);var p=this,c=function(a){l=transform(a.ctm,l);m&&(l[1]=a.height()-l[1]);p.scroll_to(f,l)};h.loaded?
c(h):(this.load_page(f,void 0,c),this.scroll_to(f))}}}},scroll_to:function(a,b){var c=this.pages;if(!(0>a||a>=c.length)){c=c[a].view_position();void 0===b&&(b=[0,0]);var e=this.container;e.scrollLeft+=b[0]-c[0];e.scrollTop+=b[1]-c[1]}},get_current_view_hash:function(){var a=[],b=this.pages[this.cur_page_idx];a.push(b.num);a.push("XYZ");var c=b.view_position(),c=transform(b.ictm,[c[0],b.height()-c[1]]);a.push(c[0]/this.scale);a.push(c[1]/this.scale);a.push(this.scale);return JSON.stringify(a)}};
pdf2htmlEX.Viewer=Viewer;})();
</script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar">
<div id="outline">
<ul><li><a class="l" href="#pf6" data-dest-detail='[6,"XYZ",28.346,255.118,null]'>#include Issues</a><ul><li><a class="l" href="#pf7" data-dest-detail='[7,"XYZ",28.346,228.21,null]'>Include Guard</a></li><li><a class="l" href="#pfa" data-dest-detail='[10,"XYZ",28.346,228.21,null]'>Forward Declaration</a></li><li><a class="l" href="#pfc" data-dest-detail='[12,"XYZ",28.346,228.21,null]'>Circular Dependencies</a></li><li><a class="l" href="#pff" data-dest-detail='[15,"XYZ",28.346,221.283,null]'>Common Linking Errors</a></li></ul></li><li><a class="l" href="#pf10" data-dest-detail='[16,"XYZ",28.346,255.118,null]'>C++20 Modules</a><ul><li><a class="l" href="#pf11" data-dest-detail='[17,"XYZ",28.346,217.908,null]'>Overview</a></li><li><a class="l" href="#pf14" data-dest-detail='[20,"XYZ",28.346,222.84,null]'>Terminology</a></li><li><a class="l" href="#pf15" data-dest-detail='[21,"XYZ",28.346,198.343,null]'>Visibility and Reachability</a></li><li><a class="l" href="#pf17" data-dest-detail='[23,"XYZ",28.346,228.21,null]'>Module Unit Types</a></li><li><a class="l" href="#pf18" data-dest-detail='[24,"XYZ",28.346,228.21,null]'>Keywords</a></li><li><a class="l" href="#pf1f" data-dest-detail='[31,"XYZ",28.346,212.156,null]'>Global Module Fragment</a></li><li><a class="l" href="#pf20" data-dest-detail='[32,"XYZ",28.346,228.21,null]'>Private Module Fragment</a></li><li><a class="l" href="#pf21" data-dest-detail='[33,"XYZ",28.346,204.553,null]'>Header Module Unit</a></li><li><a class="l" href="#pf22" data-dest-detail='[34,"XYZ",28.346,228.21,null]'>Module Partitions</a></li></ul></li><li><a class="l" href="#pf24" data-dest-detail='[36,"XYZ",28.346,255.118,null]'>Compiling Multiple Translation Units</a><ul><li><a class="l" href="#pf25" data-dest-detail='[37,"XYZ",28.346,225.504,null]'>Fundamental Compiler Flags</a></li><li><a class="l" href="#pf26" data-dest-detail='[38,"XYZ",28.346,225.35,null]'>Compile Methods</a></li></ul></li><li><a class="l" href="#pf27" data-dest-detail='[39,"XYZ",28.346,255.118,null]'>Libraries in C++</a><ul><li><a class="l" href="#pf28" data-dest-detail='[40,"XYZ",28.346,225.766,null]'>Static Library</a></li><li><a class="l" href="#pf29" data-dest-detail='[41,"XYZ",28.346,187.906,null]'>Building Static Libraries</a></li><li><a class="l" href="#pf2a" data-dest-detail='[42,"XYZ",28.346,228.21,null]'>Using Static Libraries</a></li><li><a class="l" href="#pf2b" data-dest-detail='[43,"XYZ",28.346,228.21,null]'>Dynamic Library</a></li><li><a class="l" href="#pf2c" data-dest-detail='[44,"XYZ",28.346,203.488,null]'>Building Dynamic Libraries</a></li><li><a class="l" href="#pf2d" data-dest-detail='[45,"XYZ",28.346,227.251,null]'>Using Dynamic Libraries</a></li><li><a class="l" href="#pf2f" data-dest-detail='[47,"XYZ",28.346,227.431,null]'>Application Binary Interface (ABI)</a></li><li><a class="l" href="#pf30" data-dest-detail='[48,"XYZ",28.346,228.21,null]'>Demangling</a></li><li><a class="l" href="#pf31" data-dest-detail='[49,"XYZ",28.346,228.21,null]'>Find Dynamic Library Dependencies</a></li><li><a class="l" href="#pf32" data-dest-detail='[50,"XYZ",28.346,213.204,null]'>Analyze Object/Executable Symbols</a></li></ul></li></ul></div>
</div>
<div id="page-container">
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">Mo<span class="_ _0"></span>dern<span class="_ _1"> </span>C++</div><div class="t m0 x1 h2 y2 ff1 fs0 fc0 sc0 ls0 ws0">Programming</div><div class="t m0 x1 h3 y3 ff2 fs1 fc0 sc0 ls0 ws0">14.<span class="_ _2"> </span>Transla<span class="_ _3"></span>tion<span class="_ _4"> </span>Units<span class="_ _4"> </span>I<span class="_ _0"></span>I</div><div class="t m0 x2 h4 y4 ff2 fs2 fc0 sc0 ls0 ws0">Include,<span class="_ _5"> </span>Module,<span class="_ _5"> </span>and<span class="_ _5"> </span>Compila<span class="_ _6"></span>tion</div><div class="t m0 x1 h5 y5 ff3 fs3 fc0 sc0 ls0 ws0">F<span class="_ _7"></span>ederico<span class="_ _8"> </span>Busato</div><div class="t m0 x3 h6 y6 ff4 fs4 fc0 sc0 ls0 ws0">2026-01-06</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _6"></span>able<span class="_ _9"> </span>of<span class="_ _9"> </span>Contents</div><div class="t m0 x5 h8 y8 ff1 fs4 fc2 sc0 ls0 ws0">1<span class="_ _a"> </span><span class="ff5 fs2 fc0">#include<span class="_ _5"> </span><span class="ff1">Issues</span></span></div><div class="t m0 x6 h6 y9 ff4 fs4 fc0 sc0 ls0 ws0">Include<span class="_ _b"> </span>Gua<span class="_ _7"></span>rd</div><div class="t m0 x6 h6 ya ff4 fs4 fc0 sc0 ls0 ws0">F<span class="_ _7"></span>orw<span class="_ _7"></span>a<span class="_ _7"></span>rd<span class="_ _b"> </span>Decla<span class="_ _7"></span>ration</div><div class="t m0 x6 h6 yb ff4 fs4 fc0 sc0 ls0 ws0">Circula<span class="_ _7"></span>r<span class="_ _b"> </span>Dep<span class="_ _c"></span>endencies</div><div class="t m0 x6 h6 yc ff4 fs4 fc0 sc0 ls0 ws0">Common<span class="_ _b"> </span>Linking<span class="_ _b"> </span>Erro<span class="_ _7"></span>rs</div><div class="t m0 x7 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">1/48</div><a class="l" href="#pf6" data-dest-detail='[6,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:151.106000px;width:105.779000px;height:13.781000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf7" data-dest-detail='[7,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:133.729000px;width:59.610000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pfa" data-dest-detail='[10,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:114.526000px;width:85.650000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pfc" data-dest-detail='[12,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:93.386000px;width:93.732000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pff" data-dest-detail='[15,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:74.183000px;width:100.927000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _6"></span>able<span class="_ _9"> </span>of<span class="_ _9"> </span>Contents</div><div class="t m0 x5 h8 ye ff1 fs4 fc2 sc0 ls0 ws0">2<span class="_ _a"> </span><span class="fs2 fc0">C++20<span class="_ _5"> </span>Mo<span class="_ _c"></span>dules</span></div><div class="t m0 x6 h6 yf ff4 fs4 fc0 sc0 ls0 ws0">Overview</div><div class="t m0 x6 h6 y10 ff4 fs4 fc0 sc0 ls0 ws0">T<span class="_ _6"></span>erminology</div><div class="t m0 x6 h6 y11 ff4 fs4 fc0 sc0 ls0 ws0">Visibilit<span class="_ _7"></span>y<span class="_ _b"> </span>and<span class="_ _b"> </span>Reachability</div><div class="t m0 x6 h6 y12 ff4 fs4 fc0 sc0 ls0 ws0">Mo<span class="_ _c"></span>dule<span class="_ _b"> </span>Unit<span class="_ _b"> </span>T<span class="_ _6"></span>yp<span class="_ _c"></span>es</div><div class="t m0 x6 h6 y13 ff4 fs4 fc0 sc0 ls0 ws0">Keyw<span class="_ _7"></span>ords</div><div class="t m0 x6 h6 y14 ff4 fs4 fc0 sc0 ls0 ws0">Global<span class="_ _b"> </span>Mo<span class="_ _c"></span>dule<span class="_ _b"> </span>F<span class="_ _7"></span>ragment</div><div class="t m0 x6 h6 y15 ff4 fs4 fc0 sc0 ls0 ws0">Private<span class="_ _b"> </span>Mo<span class="_ _c"></span>dule<span class="_ _b"> </span>F<span class="_ _7"></span>ragment</div><div class="t m0 x6 h6 y16 ff4 fs4 fc0 sc0 ls0 ws0">Header<span class="_ _b"> </span>Mo<span class="_ _c"></span>dule<span class="_ _b"> </span>Unit</div><div class="t m0 x6 h6 y17 ff4 fs4 fc0 sc0 ls0 ws0">Mo<span class="_ _c"></span>dule<span class="_ _b"> </span>P<span class="_ _7"></span>a<span class="_ _7"></span>rtitions</div><div class="t m0 x7 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">2/48</div><a class="l" href="#pf10" data-dest-detail='[16,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:195.335000px;width:113.169000px;height:13.782000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf11" data-dest-detail='[17,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:177.958000px;width:39.960000px;height:8.912000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf14" data-dest-detail='[20,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:156.818000px;width:53.134000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf15" data-dest-detail='[21,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:137.615000px;width:109.354000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf17" data-dest-detail='[23,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:118.413000px;width:81.901000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf18" data-dest-detail='[24,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:99.210000px;width:41.538000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1f" data-dest-detail='[31,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:80.007000px;width:105.687000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf20" data-dest-detail='[32,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:60.804000px;width:108.925000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf21" data-dest-detail='[33,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:43.538000px;width:86.937000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf22" data-dest-detail='[34,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:24.335000px;width:76.297000px;height:8.911000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _6"></span>able<span class="_ _9"> </span>of<span class="_ _9"> </span>Contents</div><div class="t m0 x5 h8 y18 ff1 fs4 fc2 sc0 ls0 ws0">3<span class="_ _a"> </span><span class="fs2 fc0">Compiling<span class="_ _5"> </span>Multiple<span class="_ _d"> </span>T<span class="_ _3"></span>ranslation<span class="_ _d"> </span>Units</span></div><div class="t m0 x6 h6 y19 ff4 fs4 fc0 sc0 ls0 ws0">F<span class="_ _7"></span>undamental<span class="_ _b"> </span>Compiler<span class="_ _b"> </span>Flags</div><div class="t m0 x6 h6 y1a ff4 fs4 fc0 sc0 ls0 ws0">Compile<span class="_ _b"> </span>Metho<span class="_ _c"></span>ds</div><div class="t m0 x7 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">3/48</div><a class="l" href="#pf24" data-dest-detail='[36,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:135.921000px;width:244.725000px;height:14.745000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf25" data-dest-detail='[37,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:117.570000px;width:121.157000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf26" data-dest-detail='[38,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:98.367000px;width:75.024000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _6"></span>able<span class="_ _9"> </span>of<span class="_ _9"> </span>Contents</div><div class="t m0 x5 h8 y1b ff1 fs4 fc2 sc0 ls0 ws0">4<span class="_ _a"> </span><span class="fs2 fc0">Lib<span class="_ _7"></span>ra<span class="_ _7"></span>ries<span class="_ _d"> </span>in<span class="_ _d"> </span>C++</span></div><div class="t m0 x6 h6 y1c ff4 fs4 fc0 sc0 ls0 ws0">Static<span class="_ _b"> </span>Lib<span class="_ _7"></span>rary</div><div class="t m0 x6 h6 y1d ff4 fs4 fc0 sc0 ls0 ws0">Building<span class="_ _b"> </span>Static<span class="_ _b"> </span>Lib<span class="_ _7"></span>raries</div><div class="t m0 x6 h6 y1e ff4 fs4 fc0 sc0 ls0 ws0">Using<span class="_ _b"> </span>Static<span class="_ _b"> </span>Lib<span class="_ _7"></span>raries</div><div class="t m0 x6 h6 y1f ff4 fs4 fc0 sc0 ls0 ws0">Dynamic<span class="_ _b"> </span>Lib<span class="_ _7"></span>rary</div><div class="t m0 x6 h6 y20 ff4 fs4 fc0 sc0 ls0 ws0">Building<span class="_ _b"> </span>Dynamic<span class="_ _b"> </span>Lib<span class="_ _7"></span>raries</div><div class="t m0 x6 h6 y21 ff4 fs4 fc0 sc0 ls0 ws0">Using<span class="_ _b"> </span>Dynamic<span class="_ _b"> </span>Lib<span class="_ _7"></span>raries</div><div class="t m0 x6 h6 y22 ff4 fs4 fc0 sc0 ls0 ws0">Application<span class="_ _b"> </span>Bina<span class="_ _7"></span>ry<span class="_ _b"> </span>Interface<span class="_ _b"> </span>(ABI)</div><div class="t m0 x6 h6 y23 ff4 fs4 fc0 sc0 ls0 ws0">Demangling</div><div class="t m0 x6 h6 y24 ff4 fs4 fc0 sc0 ls0 ws0">Find<span class="_ _b"> </span>Dynamic<span class="_ _b"> </span>Lib<span class="_ _7"></span>rary<span class="_ _b"> </span>Dependencies</div><div class="t m0 x6 h6 y25 ff4 fs4 fc0 sc0 ls0 ws0">Analyze<span class="_ _b"> </span>Object/Executable<span class="_ _b"> </span>Symb<span class="_ _c"></span>ols</div><div class="t m0 x7 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">4/48</div><a class="l" href="#pf27" data-dest-detail='[39,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:205.298000px;width:113.288000px;height:13.781000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf28" data-dest-detail='[40,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:185.984000px;width:58.198000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf29" data-dest-detail='[41,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:166.781000px;width:101.758000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf2a" data-dest-detail='[42,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:147.578000px;width:90.729000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf2b" data-dest-detail='[43,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:128.375000px;width:70.319000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf2c" data-dest-detail='[44,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:109.172000px;width:113.879000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf2d" data-dest-detail='[45,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:89.969000px;width:102.850000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf2f" data-dest-detail='[47,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:70.213000px;width:145.484000px;height:11.821000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf30" data-dest-detail='[48,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:51.563000px;width:51.335000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf31" data-dest-detail='[49,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:32.361000px;width:151.709000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf32" data-dest-detail='[50,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:12.604000px;width:153.051000px;height:11.821000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf6" class="pf w0 h0" data-page-no="6"><div class="pc pc6 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x8 h2 y26 ff5 fs0 fc0 sc0 ls0 ws0">#include<span class="_ _1"> </span><span class="ff1">Issues</span></div><a class="l" href="#pf6" data-dest-detail='[6,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:137.252000px;width:181.312000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf7" class="pf w0 h0" data-page-no="7"><div class="pc pc7 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIkElEQVR42u3YsWkDQRCG0Vtxg6PFNRhHrkAIxwJ1piZcjgMX4Q4ciY08yTlzJBA24piD9ypY/k0+pj3vXycAACjj8+N9ZwUAAKoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAA/GqZaQUAAOqICJdUAADKEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAArmDf01jGGDwMA+J/e+4Ze65IKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBINQEAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAANxXy0wrAABQR0S4pAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAICVzRt66xjDh9XUezcCAHBHLqkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAwJ+0zLQCAAB1RIRLKgAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEqgkAABCpAABww3w5P1nhqq/jmxEAANb3cji19viwXL6naVkWgwAAUMIPzTcgANC9FrUAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Include<span class="_ _9"> </span>Guard<span class="_ _e"> </span>1/3</div><div class="t m0 x1 ha y27 ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span><span class="ff5">include<span class="_ _4"> </span>guard<span class="_ _b"> </span></span>avoids<span class="_ _f"> </span>the<span class="_ _f"> </span>problem<span class="_ _b"> </span>of<span class="_ _f"> </span>multiple<span class="_ _f"> </span>inclusions<span class="_ _f"> </span>of<span class="_ _f"> </span>a<span class="_ _f"> </span>header<span class="_ _f"> </span>file<span class="_ _f"> </span>in<span class="_ _f"> </span>a</div><div class="t m0 x1 ha y28 ff4 fs6 fc0 sc0 ls0 ws0">translation<span class="_ _f"> </span>unit</div><div class="t m0 x1 hb y29 ff5 fs7 fc0 sc0 ls0 ws0">header.hpp:</div><div class="t m0 x1 hc y2a ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>ifndef<span class="_ _11"> </span>HEADER_HPP<span class="_ _2"> </span><span class="fc4">//<span class="_ _11"> </span>include<span class="_ _11"> </span>guard</span></div><div class="t m0 x1 hc y2b ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>define<span class="_ _11"> </span>HEADER_HPP</div><div class="t m0 x1 hc y2c ff8 fs7 fc0 sc0 ls0 ws0">...<span class="_"> </span>many<span class="_"> </span>lines<span class="_"> </span>of<span class="_"> </span>code<span class="_"> </span>...</div><div class="t m0 x1 hc y2d ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>endif<span class="_ _12"> </span><span class="fc4">//<span class="_ _11"> </span>HEADER_HPP</span></div><div class="t m0 x9 h6 y2e ff5 fs4 fc0 sc0 ls0 ws0">#pragma<span class="_ _d"> </span>once<span class="_ _12"> </span><span class="ff4">prep<span class="_ _7"></span>rocessor<span class="_ _13"> </span>directive<span class="_ _13"> </span>is<span class="_ _b"> </span>an<span class="_ _b"> </span>alternative<span class="_ _13"> </span>to<span class="_ _b"> </span>the<span class="_ _13"> </span><span class="ff5">include<span class="_ _5"> </span>guard<span class="_ _13"> </span></span>to<span class="_ _b"> </span>force<span class="_ _13"> </span>current</span></div><div class="t m0 x1 h6 y2f ff4 fs4 fc0 sc0 ls0 ws0">file<span class="_ _b"> </span>to<span class="_ _b"> </span>b<span class="_ _c"></span>e<span class="_ _b"> </span>included<span class="_ _b"> </span>only<span class="_ _b"> </span>once<span class="_ _b"> </span>in<span class="_ _b"> </span>a<span class="_ _b"> </span>translation<span class="_ _b"> </span>unit</div><div class="t m0 xa h6 y30 ff9 fs4 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff5">#pragma<span class="_ _d"> </span>once<span class="_ _b"> </span><span class="ff4">is<span class="_ _b"> </span>less<span class="_ _b"> </span>p<span class="_ _c"></span>ortable<span class="_ _13"> </span>but<span class="_ _b"> </span>less<span class="_ _b"> </span>verb<span class="_ _c"></span>ose<span class="_ _b"> </span>and<span class="_ _b"> </span>compile<span class="_ _b"> </span>faster<span class="_ _b"> </span>than<span class="_ _b"> </span>the<span class="_ _b"> </span></span>include</span></div><div class="t m0 x6 hd y31 ff5 fs4 fc0 sc0 ls0 ws0">guard</div><div class="t m0 x1 ha y32 ff4 fs6 fc5 sc0 ls0 ws0">The<span class="_ _f"> </span><span class="ff5">include<span class="_ _4"> </span>guard</span>/<span class="ff5">#pragma<span class="_ _5"> </span>once<span class="_ _f"> </span></span>should<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>used<span class="_ _f"> </span>in<span class="_ _f"> </span>every<span class="_ _f"> </span>header<span class="_ _f"> </span>file</div><div class="t m0 x7 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">5/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf8" class="pf w0 h0" data-page-no="8"><div class="pc pc8 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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ioqysrKKi4t9Q3eapvlXVPV4POPGjfv+++/LNiYkJEyZMsXfLy0yGAwGg0FRFIvFEh4eHhkZ6UeD3ABQKcxmMyEVqFZUVXU4HL4TH1VV9bv137hx41NPPbVnzx4Ref755/v27Ws2+/cdpxRFMZvNZrM5ICDAZrPxFQUAQioAv9S/f//Zs2eLyN69e1NSUigIAPw7Qyp3nAJQReXl5VEEAPjXIqQCqKKys7MpAgAQUgGgatmxYwdFAABCKgBULdu3b6cIAEBIBYCqZdu2bRQBAAipAFC1bN26lWunAICQCgBVi9fr/eKLL6gDABBSAaBqmTlzJkUAAEIqAFQtq1evzsjIoA4AQEgFgCpE07Qvv/ySOgAAIRUAqoqwsDAR+eyzzygFABBSAaCquOeee0Rk7dq1zEUFAIRUAKgqHnjgAavVKiIjR46kGgBASAWAKiE2NnbSpEkismzZsieffJKCAAAhFQCqhLvvvrtz584i8tJLL3311VcUBAAIqQBQJfznP//xPRg0aNCGDRsoCAAQUgGg8nXp0mXIkCEiUlxc3Lt37/3791MTACCkAkDle/PNN6+++moRycrK6tmz54EDB6gJABBSAaCSmUymzz77rFGjRiJy6NChyy67bNeuXZQFAAipAFDJgoODv/vuuxYtWohIdnb2ddddl56eTlkAgJAKAJUsNjZ2+fLlDz30kMFgOHLkSIsWLcaNG5eXl0dlAICQCgCVyWazvfzyy59//nlAQEBBQcH48eMbNGgwe/ZsKgMAhFQAqGR9+vRZuHBhjRo1RCQ7O7t///7du3dfv349lQEAQioAVKZ27dpt2rSpb9++vqdLly7t0KHDfffdx9F/ACCkAkBlioyMnDlzZunVVCIybdq01NTU+++/f8uWLdQHAAipAFBpunbtunr16k8//TQtLU1EioqK3n///datW3fs2PGjjz7Kzc2lRABASAWASqAoys0337xt27YJEyZER0f7GtetWzd06NCEhITu3bt/+umnxcXFFAoA/Ozn3e12UwUAVUf//v19F+z/hV8nr9f7448/zps3b/HixXv37i1tt1qtLVq0aNKkScPfREREUGoAqLLMZjMhFUD1CallHTly5Ouvv/7qq69Wr16t6/oZrzZo0ODSSy+tV69e3bp169atm5ycrCgKxQcAQioAVGxILbVv376vvvrq559/Xr16dX5+frl9LBZLYmJiYmJiampqrVq1EhMTo6Ojw34TGRlpNpv5aACAkAqAkCr/+K+Tpmlbt25duXLlqlWrNmzYcOjQoQv/2+Dg4PDw8ODgYIvFYjabLRaLxWKxWq02m81sNlutVl9LcHBwaGhoeHh4fHx8fHx8QkJC6WmyAABCKgBC6h/Ly8vbuXPnjh07duzYsX///mPHjh09erSwsPCfXUpQUFBqampqamqbNm3atWvXvHnzwMBAPmUAIKQCIKT+CdnZ2YcOHTp27FhOTk5eXl5eXl5ubm5OTk52dnZ+fr7D4fB4PO4ynE7n2Se8nofJZGrWrNlll13WuXPnLl262Gw2PnEAIKQCIKT+8zRN8wVWl8uVl5eXlZWVlZWVmZl58uTJU6dOHT58eNu2bRkZGWf/od1uv+GGGwYPHtyhQwcu2wIAQioAQurFlpeXt2vXrq1bt+7evXv37t0bN24sewfXqKioq666qlevXt26dQsJCeE7AACEVACE1Eqg6/rGjRvnzp37ySefnDhxorTdbrffeeedjzzySEpKCt8EAP/ykModpwDgYlMUpVWrVs8999y+ffu++OKLHj16GAwGESkpKZkyZUqDBg3GjBnDCAKAfzlCKgBU5lBB7969586du3fv3v/85z+RkZEi4vV6J02a1KhRo1mzZlEiAIRUAEClSUpKGjdu3L59+1544YWYmBgROXz48IABA3r06HHgwAHqA4CQCgCoNEFBQSNHjty9e/fAgQN9LT/88EPz5s1ff/31PzXRFQAQUgEA/3xUfe+9977++uuaNWuKiNPpHD16dK9evcpOCAAAhFQAQCW45pprtm/f/sorr8TGxorI4sWLr7jiii1btlAZAIRUAEBlstvtw4cP37p1a69evURk+/bt7du3nzFjBpUBQEgFAFSy8PDwOXPmPPvssyLi9XoHDRo0adIkygKAkAoAqHxjxox57rnnSh8/88wz1AQAIRUAUPkee+yxsWPH+h6/8MILL7zwAjUBQEgFAFS+J554ojSbPvPMM++88w41AUBIBQBUvpEjRz7//PO+xyNGjJg7dy41AUBIBQBUvtGjR0+aNMloNGqadvvtt69du5aaACCkAgAq3wMPPOA71u9yue68886SkhJqAoCQCgCofAMHDrz77rtF5ODBg48++igFAUBIBQBUCa+//nqbNm1EZOrUqQsWLKAgAAipAIDKZzabp0+fbrfbRWTo0KE5OTnUBAAhFQBQ+VJTU4cNGyYiWVlZY8aMoSAACKkA8Hfl5uaOHTs2KyvrD3uqqjp9+vTFixdTtLONGjUqNDRURD766KOffvqJggAgpALA3xIeHm4ymdLS0m6//fZ169aV2+fo0aNPPPFEWlraW2+91blzZ4p2toiIiKlTpyqKIiL33ICi2KwAACAASURBVHNPYWEhNQFASAWAv2X06NFRUVH/93//17Fjx969e2/YsKH0Jd/x64YNG7788ssnTpx49dVXzWYzFStX7969Bw8eLCL79+9/8sknKQiAakBxu91UAUAlmjJlyvDhw0ufBgQEFBcXl30gIpdffvmSJUuo1XlkZGTUq1fP4XCYTKadO3empKRQEwD+y2w2M5IKoJINGjQoMTGx9GlpMC19ICJPP/00hTq/2NjYESNGiIjX633xxRcpCAB/x0gqgMp3xmDqGRhGvUBFRUW1a9fOyckxmUwHDx6sUaMGNQHgpxhJBVAlDBo0KDo6+lyvMox6gYKCgh544AER8Xq9X375JQUB4NcIqQAqn9Vq7devX7kvNW3a9PLLL6dEF+j+++8PDg4WkdmzZ1MNAIRUAPi7hg0bVu7F+w8++CDFuXDh4eGjRo0SkVWrVm3atImCACCkAsDfkpaW5ptEqazExMRbb72V4vwpDz74YEhIiK7rr776KtUAQEgFgL9r9OjRVqv1jBbmRv2zAgMD77jjDhGZO3duTk4OBQFASAWAvyUxMXHQoEHneooLN3ToUBFxuVwzZ86kGgAIqQDwd5UdTD17YBUXqF69enXr1hWRWbNmUQ0AhFQA+LtKR08ZRv2bunbtKiJr1649fPgw1QDgj0yUAKgedF3Py812FBU6HAWq6vXfDel7/dUfTHv/3iE3H9i3zX+3QhHFHhAYFBwaEhphsVTCeHDXrl0nT54sIl9++eWjjz7KDgLA/35IueMU4NeKCgtOHNkQ5DqpmHM0zS26JqKL6H69Ud/+sO2qTg3MJqOffzgGRRQxGK0SflqiwmKbxtSoedGWXVhYmJiYWFJS0rhx440bN7KnAPAvZrOZkAr4sf271wZ5N2ieYtE9IpqIRk2q3EiAGHRRdMUkitlprJtQp6vNZrs4i+7fv79vSv9ffvmlUaNGfBYA/Cukcrgf8Eu6rh/asdDu3alqbkW8loCowNAUS0Cs0WwzGK0iCiWq/M9IdWua211yuqTgWEnBYV1TbbLr+M6M2Do3BgWHXoQVuO6663wh9dtvvyWkAvC/f/IZSQX80fE985SSPaK5jCZLeHxbW3BiaXr1aqqu6pqu6ZSpajCIonoKC06t9bhydcVmsoYHJt0cFBRS0cvNzs5OSEjQdb1Lly6LFi3igwDgRzjcD/ilAztX2N0bRHMaTZaolK5ma5iIqKrX7fZomqbruq6Lv5+WWs2GAxRFdM1TlLHa68wRo92txNZs1N9kqvBjWW3btt20aZPNZsvMzLxopxkAwD8SUjncD/iZ4+n77O6NorkMRlNMrauNlmBN01wul6qquq5rmi66rpNQq2BQFUNgzKVFGavdJVkG5UT67sWpjXpU9EK7du26adMmp9O5evXqLl268CkA8COEVMDfsk7Rz7ruVUSNqtnFl1BLSko0TddUVRddUQyKwWBQFIWzUqsS3/8Pui72qJbekyvcrhKleEtOdouIqNgKXW6XLl1eeeUVEVm5ciUhFYB/YTJ/wJ8c3Lte3DmK7gqOqm8JjPUlVK9X1VRVFMVoNBmNBoNBMRjKj6jlRtdz5Vm/61zF181kMhpNRqPJHhjVwmTQvW7nqQMLfGdmVJwOHTr4jvIvXbqU3QcAIRVARQnT9ojuUQzG0Jimuq77EqrousFoMBoNpenoXNGn3PZq09kvNsRgUKyBsZagRIOiGlzpR48eqdAvTEBAQLt27URkzZo1JSUl7EEACKkA/nlut8vpzBJdswXFi2J0Op2+M1ANRiNH9/2LNSjOZDKomnrk4C6Px1Ohy2rfvr2IeL3eTZs2UXkAhFQA/7z8vNO6aCKaxRahqqqq/nqUn4Dqd0yWUIMiBtFVjyMzM7NCl9W8eXPfgy1btlB5AIRUAP88R1GBiCiKGM12t9ut67ouusHAXux/FKNNRDEYFJezKC8vr0IHU5s2bep7wEgqAEIqgApRUuwQEV3XFINVVVVN0xXFwDCqX/7yGq0iYjAavG6nrutFRUUVt6xatWqFhoYKI6kACKkAKkjp7KeqqoqI6DpH+v2eIqqqFhYWVuhCfIOpu3fvpt4ACKkAKpCmabouuuiKolTvWaWkukxBdZ52VVUr+s5/TZo0EZGSkpKjR4+y+wAgpAKowJDqu+upolTzWaWk2k1BdXZy1XW9oi/w94VUETlw4AC7DwBCKoCKwj1Pq9WnqeuaplXoIurWret7cPz4cQoOgJAKAKgS6tSp43tw6tQpqgGAkAoAqBKioqICAwMJqQAIqQCAqiU5OZmQCoCQCgCoWpKSkkQkIyODUgAgpAK4GJiCyq835KKpVauWiGRlZbHLACCkArgYmILKrzfkoqlZs6aIZGZmsssAIKQCAKqKmJgYEcnJyaEUAAipAICqIjY2VkpvqAsAhFQAQFUQHR1NEQAQUgEAVUtERARFAEBIBQBULWFhYRQBACEVwMXDFFR+vSEXTWhoqNFoZH8B4EdMlADwa7O/Wrj8p3WjRgxOSowvbayU+ZUmvfHBofTjZdekolcjI/P08y9OPuMls8lYMzG+Tasm7do2MxoM53+Ht9+dsXvvweHDBtRJS7kIJarcf2bCw8Ozs7PZZQAQUgFcDJu37vpk5ty7B92clFjJa/L9Dz+vWb/1Yq5JUZHjk5lzz/Vqy+YNP532clxczHneYdmPa5csXdX/5l6lIbUaCwwMJKQCIKQCwEVit1vf/+/zdrvV99TjVQ8dPvrutFkbN+0YOHTMvC/ftVjMVElEAgICKAIAQioAXCQWs7lzp7ZBgb9LYDf07ta+881rN2xdvXZTp8vaUCURsdvtFAEAIRVAJcjLL9yxa5+uaY0a1g0LDS63z4mTmQcOphsMhkvqpERHlT8tkaZphw4fP378lMGoJNWMr5kYV+5FP4WFjh279qma1qRh3eDgwHOtVXGxc+fufYWFjvj42DppyQZD+ddr5hcUbtm6O7VWzcSEGn+/FLExkVddcemsL7/bvnPvBYbUgsKiHTv3K4o0blQ3MMB+rsrs2nMgI/N0QnxsnbQUg6H8a6GKHMXbd+z1eLyX1KkVGxNJSAUAQirwL1Vc4nxi3GvvTv3c61VFxG63vfDMiIEDbigbLguLHI88NuGLOQtLW3r3vGLicyPLnrXp9njf/+DzN97+JDPrdGljvbqpr7/4eLu2zUpbnE7Xi5Pee3vKDLfHKyIBdtuMD185e61cLvfEV999573PnC63ryU5Kf6l50d1u+qy0j59bxu+ZOmqTWu+vuX2h/fuPywi77z5zK039fr7NbFaLSISGPjHx7hdLvf4F9954+2PfZtjt1ufGjPs3iG3lubpK3sONBkNr738xOD7nti5a7+vsW6dlI/ff7Fe3TTf05zc/NQGXdu1bvLYo0MHDB5d5Cj2td9w3VUvTRgdFRFe6V8Sm83GngKAkArgorpj8KjoqIgJ4x5JTU3KzDw96c0PRzw2wWIx39bvOl+HY8dO9b3twfRjJ5987L62rZvomvy8ZuN/p3y6utvt3371fu20ZBHxetXB9/5n3rfLrunW6Za+PWrERufk5C1euurDT+b06Xf/ikWf1L0kVVEUh6P41jsfXfHzuquv7DDwtuvDw0O37dgz4rEJxcUlZVdJ07RhDz3z5dzv+1x75U3Xd4uMjDh0+Ojk92becseIKW+N69e3Z9nOD4x41mIxD76z787d+zu0b1n2JUVRzr4u/g8bN27a/s2CpfFxMT27dfrDzkMfeDokJOjZpx+qk5Z8JP3EhFfee3zsa4qi3Hd3/9LuBw4d63n90I4dWo4fOyIkJHDr9j0TX3mvT7/7F8/7qGbi/4Z+Dxw6NmTYk8OHDeh8eVtVVectWDpl2uebtu7+5ot3kmrGVe4F/iYTP/gACKkALq6YmMjF8z60238dKktNSezWe8i0j7/0hVRd1x9+7IXdew9Ne2f8jX26+fpcflnryzu2uvbG+15984N33hgnIqvXbZr37bIWzRpOn/qSyfTrnJo9unVyud0zPp/3w/LVdS9J1XV9+syvVvy8rnfPrh++N8E31ti+bfPUlJp9b3uo7CotWLT8y7nfP3z/nc88+aCvpV2bpr17XXn1tYMeHzvpumu6BgT8b2Dv+ImMlUs/L/cg+x9O8+QoLhk5ZqL5t6ujvB7vzj0HtmzdXbdOyifTXomOjvzDdwgMDFj23cfBwUG+p7VSEq/v98BHn351z+B+vw2m6lnZObfc2OOdN8f5Wlo2b9S+TbOOV9723MS33/vvc6VvlZWd88wTDzz8wEDf0/Ztm9eIi3762TfP6EZIBQBCKvCvcNcdfUsTqojUrp0iIplZpz1e1WwyHj1+atmKtSEhQd2vurzsX3Vo17J1y0Y/LFvtdnssFnO71s22rJ0rIqUJ1adpo3ozZF5efqGI6Lp8MWeRiAy7t3/Zs0sv79g6JjoiMyuntOWTGXPNZtP999xW9q0CAmz339P/vofGrV2/uUundqXtt97c61yngf4hr1f9fPa3Z7fXqZNSeprB+Q0c0Kc0oYpIsyYNzGZTVlaOy+UpnTRAREaOGFJ2k+vVTWvbusn875bl5ReWPQP4pht6lH3z2/v1nvDye/O/W1bkKA4KrMzr65nMHwAhFcDFVqd2ctmnFrNZRDwej65pIsadO/epqlrvklpms8nt9pTt2apFo3UbtmVkZtdMjDObTclJCaUvaZqWfvTkjl37vvv+x9JGp9O1e+8hq9VSt3at3y3RYmnVovG3i1b4nrrc7q3b9yTE1wgJDTpjifXr1RaRzdt2lw2pDevX/svbfsYUVJqmZ5/OnfftsvnfLl+0+OfPPnr1yis6/EH1fj9JqtliCrDbVFVVNbW0MSU5sVbymRPANqxfe+XqX9LTj4c1rlfaLa5GdNk+EeGhl9RO2bJtd0bm6aBalRlSGUkFQEgFcLGdf4ju5KksEVm3YVtMcvtyO+TmFdRMjPMF0+U/rv1mwQ+btu7etWu/70KishwlxQ5HcWxMZMBZA58pSf+75VVxsTMj87Su67HJl5a7xKzM02WfRkb89TvLlzsF1a0393r1zQ+emzD5wUef37T6a5vNep53CA4K/MOlREWGnTHALCKhoSEikpWdW7bb2dMXREdHiEhBQSFfVAAgpAL/Luc/kqvpuojUTktuX+YK/bLCwoJFxO323PPAU1/NWyIiMdERPbpd3qpFo1Ytm/y8asP4F6eU7f+HFwDpuq7remxM5NVXdiy3Q/NmDSq6JoPvvOm1tz46eSrr0JFj9X+7Br/830GT8QIqbCh3O0XEUOalcrvpmiYi5U7jdTGpqsqeAoCQCqAKiYmOEJF6l6S89epT5+k28//mfTVvSUpywvSpLzVpVLe0fd2GLaWPA+0BQYEBuXkFRY7iCEto2T8/nZtX+thut0VFhkdHRZx/iRUqKCggIjy0qKi4uNj599/tdE6epmlnjJLm5eWLSNmZUE/n5GmaXnb+VF3XfafqhoeFEFIB4MIZKAFQDf1+zK550wZms+nHlRt9Fz+VzU8TXpny9HNv+GLcnLmLReSJ0ff6Eqpv5E/X9fXrt5ZJn9aOl7b0eLw/rVxf9q1KSlw//rzhf91s1nZtmuzbfzj92MkzVm3l6l8eeWzCxk07zlzlcww0ltt+IY07d+4/fiLTYFDOOEn0LyxORDl0+Pj+A0fKNnm96k+rNiYlxqXWqlnaeOjw8RMnM8p2O3gofdeeA0mJcXE1YgipAEBIBf7dfn80PjGhxm23XFtQUPTya1PLts/+auGLr07dtHmXbzaokJBAEdmz92BphBWRTz+bO3/hChFx/DY7/YgHBorIqMdfOnzkeOlbffrZXN+Zr6WGD7vT7fHec/+ThYVFpY0ZmafvHT7208+/qREbdeYqn+MUgj+cQOrsxiJH8fzvlt1yx8Oqql7f++r43+5WkH70xA/LVq1c84vvbIQLX5yIrqrqQ6PGO8rMBfv2u5/u3nto5MN32azWskHw9bc+Kn3qcJQ88MhzXq868uG7LL9NklVZvF4vewYAP8LhfuBf4ZknHtzwy/a3351xJP3YdT27ms3mH5atnjFrnsGgjBk51Nfnzv595n+7fNJbHzld7k4dWxeXuL6Y8+3871Zc2eXSJctWHTv+6wBh2zZNH3lw4KS3Prqixx0P3X9Haq2aq9ds/uCTLxvWr73jt7sxiUibVk0G9Lt2+mffXHbVbXcPuqlWcuK+A+mT35uRkXn6keEDE+Jj/6lNyy8oSqx9ebkvNWlUd+K4R0qfLl666tExE2ulJG5YOcf4J88QtZhN23bsvfKaO+8d0i84JHjuvCVz5//QtlWTfr+/OZbFbJoxa15ufmHPHp0L8gvfeX/mnn2Hu13Zsd8/cQ+tv6mkpIQdAQAhFUDVEhYWMv/Ldx8c+dy8Bcvmf/frRFGX1E6Z+NyjHdq38D29qmvH119+/MlnXv/vlBn/nTJDRFo2b7RgzruX1E5p2KrXT6s2FhYW+eYTfXLMsLgaMc9OfHvs82+JiKIoL78w6uDBo2VDqohMfH50UFDQ1I/+74lnXve12GzWUQ/fNWrE3RW3pYqiJCbENm1c75puna6/7uqyE53+HeHhoZ9MfWnYw88+NOoFX8uVXdr/97WxZ4yPhoeHvjR+1L3Dx3759SIRsVotox6665GHB1f6MCohFYDfUdxuN1UA/MLO7RtCvSsUzREY095ki1FV9S/MfHnyZOaBQ+mqqiXVjE9JTjj7FMySEtfO3fvz8vJTUmqmlTnbspzQ43Rt37m3xOGsVzc1pszFQ2coLnbu2XsgJzc/MjK87iWpdpvV7yp/Zc+BR4+d3LZ+vtFo3LFrX05OXu205MSEGmX75OTmpzboGhsTuX3jt84S59YdewyKoVHDOuea3+r0gTlOj74vMz6mZku73d6wYcOK3opmzZrt3LmT33wAfsFsNjOSCvy7xMXFxMWd7woeu93asvkFBSa7zdq6ReM/7BYQYGverGH1qJ7RaCg778G5BAcHdmjXoqqtfHFxMd9/AH6EC6cA4F/B4XBQBAB+hJFUAFWI0+V++tnXS5yuP+w5asTgpMR4Knbh8vLyKAIAQiqAi0RRlLNnTSq30V86W62WC9z0i7Zu9w65tcjhMJ51Y6qyne1224Rxj9gDbEaDcuGf1EVTWFjo8XjYXwAQUgFcJBc+jahfdLZZLc89/fA/WIp/ZN36Xt/tDzvbbdb7hvb/C6t3cZw+fZqdBYB/4ZxUAKj+cnJyKAIAQioAoGrJzMykCAAIqQCAqhhSDQZ+8wEQUgEAVUZGRoaIREZGUgoAhFQAQFVx6tQpQioAQiqAi+fs+5qeq7Had/bHDbloDh48KCLR0dHsMgAIqQAuhmo2BdXf6eyPG3LRHDhwQETi47n9AQBCKgCgykhPTxeRGjVqUAoAhFQAQJWQlZVVXFxMSAVASAUAVCH79u3zPSCkAiCkAgCqij179vgeJCQkUA0AhFQAQNUKqUlJSVQDACEVwMXAFFR+vSEXx5YtW0TEarUSUgEQUgFUQB6V0pTzv8mMmILKrzekzGdagdavXy8iDRs2NJlM7EcACKkA/mH2gEARUcSgqS6q4dc01e37X8NotlT0sg4ePFhQUCAiTZs2pfIACKkA/nmBQSEioovoXifV8POQ6hQRXRSjyVrRy9q8ebPvQbNmzag8AEIqgH9eSGiEIgYRg8eZTTX8mteVo4uuiyhGe0Uva9OmTb4HjKQCIKQCqBBWq82mxIhi9JRkaaqHgvgvj+OkqoroSnBohU9cumbNGhExmUzNmzen8gAIqQAqRKEtRVeMii7O/P1Uw0953fluxymvJkWeUKPJYjAYjEZjRS3L6/VdNdWkSRO73U7xARBSAVSI+NQ2bj1MFaMzf6/qztN1pqDysw3RNa8jc5NX1VTd4LY21jRNRMxmcwV9YdasWeO7IWqXLl3YfQAQUgFUFLPZbI3urBjMHo9aeGql11NQnWaVyi8ofPm1qW0uuzEioU2dxlcNe+iZPfsOVa8pqLTCjNVuZ45HVbKLa4aE1VBV1WQyVdwY5/z5830PrrzySnYfAP5FcbvdVAHwL/t3LldzlluMmslsDUvoZLSEVIONyj6d2/26IfsPHinbaDKZvv3qvTatmlSDDdQ1b2HGandxltOtF7jCbDFdNV1KSkqCgoKSkpKCg4MrYqFt2rTZvHmz1WrNysqy2WzsOwD8hdlsZiQV8D+1G3TWrfXcXsXlcuaf/NldnFENNmrCK++ekVBFxOv1Dnt4nKpq/r51qsdReGqVy5HldOsub4AhrKNiMLrdbrPZbDQag4KCKmKhWVlZvntNtW/fnoQKwO8QUgG/lNr0hixnqserlBQXFZ5cWXBihbPgoNedr6musvej8hclJa4Zn31T7kv7Dxz5Ydkqf/yMdNWjeorcjuNFmRvyj37vLMpyeaTAFeoO6mK1BXg8Hq/XazKZoqOjK+iOqYsXL/ade9C1a1d2GQB+h1vkAX7JYrHUbtxt/+71wa7NquqxeLNdxacNir9uzvot6U7XOU89+nbejJa1Mv1003TRVVW8mmiaMaMkKSKuhWIwqqrqdDotFovVao2IiKigRc+bN8/3oHv37uwyAAipAC6S2NjYkpJGWZlROVnrY4PzjKrqG5AzKLrfDaXmF53v5PjCIpfT43/Dw7ouIoquK6IoRe5Qt6VxZEINEfF6vU6n02g0WiyWuLi4ChpG9Xg8CxcuFJGkpCSm8QdASAVw8SiKkpycrOu61dap0FniKDxtELdobq/Hqela+cf8lfLOBVCk0jtbwkJF/u9cWxodX/9QTopfbEhpo6IoRpPFZAkwGO0hYTE2k8Wq616v1+v1ejwe3xhqbGxsSEhFXfT2448/OhwOEenfvz87CwBCKoCLymAwpKSkHD16tLDQaLFY3W63rusmk8lgMCiKUkFDdBUhpqY0adJk69atZ79ks9muv+mu8PBw//2YVE33ulxer1fTNLPZHBgYaLFYkpKSKnR2/W+++fUc34EDB7KnACCkAqiEnJqcnJyXl5eRkWE2m71er6qqXq9X13Xdrw7733XXXSNGjDh7nW+99Va73e50Ov36M1IUxWQymc1mg8EQGRkZHR1dcXeZ8lmyZImItG7dOjU1ld0EACEVQOUICwsLDQ3Nzc0tLCx0OBy6/52VKp06dXr77bcnTJhw9OhRX4vNZrvzzjuHDh1qMFSHeUjMZnNYWFhYWJjFYqnoZe3atWvfvn2+iM/eAcBPMZk/UA253W632+275aZ/0TRtwIABixYtEpGjR49Wg9vNK4piNpt986FetIU+8sgj//3vfy0Wy5EjRyIjI9kjAPjjP/aMpALVkMViuQjDdRWk9N5LsbGxfJR/gcPhmD59uoj07t2bhArAfzGZPwBUK5999llBQYGIDBkyhGoAIKQCACpfUVHRxIkTRaRJkyZdunShIAAIqQCAyvfmm2+mp6eLyKBBg6gGAEIqAKDyFRUVvfXWWyJiMpn69u1LQQAQUgEAlW/SpEmnT58WkTvuuIPLzgAQUgEAlS8jI+O1114TEZPJ9Nhjj1EQAIRUAEDlGzt2rMPhEJG77767Vq1aFAQAIRUAUMnWrFnz4YcfikhoaOjTTz9NQQAQUgEAlSw/P3/gwIG+e+G+9dZbTOAPgJAKAKh8EyZMOHjwoIgMGDCgX79+FAQAIRUAUMkOHjz4zjvviEh0dPRLL71EQQAQUgEAlczj8dxxxx0lJSUiMmXKFA70AyCkAgAq38MPP7xu3ToRGTJkyLXXXktBABBSAQCVbNq0ae+//76IpKamvvrqqxQEACEVAFDJFi5c+OCDD/oev/LKK3a7nZoAIKQCACrT559/fvPNN3u9XkVRXnjhhV69elETAIRUAEBleuWVV+644w6n0ykir7322siRI6kJAEIqAKAyjRs37vHHH/c9fuqpp4YNG0ZNABBSAQCVaeLEiePHj/c9fuyxx5566ilqAqAaM1ECAKj6Xnzxxaefftr3ePz48aNGjaImAAipAIBKk5OTM2TIkPnz54uI0Wh85513Bg4cSFkAEFIBAJVm6dKld99999GjR0UkJCRk1qxZXbt2pSwA/g04JxUAqqK1a9f26dOne/fuvoTasmXLZcuWkVAB/HswkgoAVUtBQcGIESM++eQT31O73T5+/Pj7779fURSKA4CQCgCohHj69ttvv/HGGzk5Ob6WK664YvLkyampqRQHACEVAHCxHTly5P3333/vvffy8vJ8LTVr1nzuuef69+9PcQAQUgEAF5XX6120aNHUqVO/++47TdN8jUaj8cEHH3z22WdtNhslAkBIBQBcJLqu//LLL/Pmzfvkk09810X5WCyWAQMGjBw5Mi0tjSoBIKQCACqc1+vdtGnTmjVrVq1atXz58tOnT5d9NSUlZfDgwQMHDoyNjaVWAEBIBYC/S9d1z2+Kiory8vLy8/Nzc3NPnz6dk5Nz6tSpQ4cOHTp0aO/evSUlJWX/0Gw2X3rppT179uzSpUuTJk24eB8ACKkAcE4ZGRkHDx5MT0/P+U1WVlZWVlZOTo7D4fB4PO4ynE6nrut/4jfXZGrevPlll13WqVOnzp072+12Cg4AhFQA+B2v17t169atW7f6BjsPHjy4d+/e0uvr/xFBQUGpqampqant2rW79NJLmzZtSjAFAEIqAJzJ7XavXr36hx9++PHHH3/55Ren03khf2Wz2aKiokJDQy0Wi9lstlgsFovFarXabDaz2Wy1Wn0twcHBoaGh4eHh8fHx8fHxCQkJ0dHR1BwACKkAUL49e/YsWbJk8eLFK1ascDgc5faJjIysXbt2nTp1kpOTk5KS4uLiIiMjIyIiYmNjg4KCqCEAEFIB4J+RkZExefLkGTNmpKenn/nzZzLVr1+/SZMmTX8TERFBxQCAkAoAFcXj8SxYsGD69OkLFy70er2l7QaDoUWLFt27bPdg6QAAFc9JREFUd7/qqqtatGhhtVqpFQAQUgGgwq1du3bGjBmzZ8/Ozs7+9WfOZOrQocMVV1zRtm3bli1bhoaGUiUAIKQCwEWybNmy0aNHb9mypbQlKSmpf//+Q4cOTUxMpD4AQEgFgIsqNzf38ccfnzZtWmlLy5YtR48e3adPH2bIBwBCKgBUgpkzZ44ePTozM9P3tEuXLqNHj+7atSuVAQBCKgBUgvT09HvvvXfJkiW+p3Xr1p02bVqbNm2oDAAQUgGgcvz000/9+vXLysryPb3ttttef/11LooCAEIqAFSaBQsW3HTTTb65pZKTk6dMmcLxfQCoZgyUAIB/mTx58i233OL1eo1G4wMPPLBhwwYSKgBUP4ykAvAnY8aMmTRpkojExsbOnDnzsssuoyYAQEgFgMo0duxYX0KNjIxcvnx5WloaNQGA6orD/QD8w+TJkydMmOB7PHXqVBIqABBSAaCSbdy4cdSoUb7Hb775Zs+ePakJABBSAaAyFRQU3HbbbR6PR0SGDx9+7733UhMAIKQCQCW77777Dh48KCKtW7cuPeIPACCkAkClWbBgwRdffCEi9erVmzNnjtlspiYAQEgFgEo2ceJEETEajbNmzYqNjaUgAEBIBYBKtmLFirVr14rIkCFD6tevT0EAgJAKAJVvzJgxIhISEjJ27FiqAQCEVACofOvXr9+4caOIjB49OioqioIAACEVACrfBx98ICIWi2Xo0KFUAwAIqQBQJcyaNUtEOnXqFBYWRjUAgJAKAFVCUVGRiPTr149SAAAhFQCqEKPReP3111MHACCkAkAV0qpVq6CgIOoAAIRU4P/bu/vAKOo7j+PfmdnZhyS7ISEhCISAEEJCvPDgA+CzsRRQ8bRo5WxpS9Ur+EhbLVqth7222lPPsz5cFawWqkWlrUgBOUBQEUTlGbUq5AEReQxJ9nln5nd/rLeXpgloxbIT3q+/yG9/OzvzncnyyW9mfgNkkdraWooAAIRUACCkAgAIqQDQuUAgMHLkSOoAAIRUAMgigwcPNk2TOgAAIRUAssiQIUMoAgAQUgEgu1RXV1MEACCkAsA/2s6dO1euXNnZqwMHDmz7Y2Nj46pVqygaABBSAeDLVVpaevPNN5999tkdRtVevXpl4ul1111XWVnZs2dPigYAhFQA+NLdcccda9asGTNmzOWXX97Y2Nj2pdzc3GQyeeeddw4ePPixxx6bOHFiRUUFFQOA44SWTCapAoBj6JRTTtm0aZOIeDyeKVOmbNu2bfXq1SJyyy23zJkzZ/fu3SKiadrmzZsJqQBwnDBNk5AK4BhbsGDBxIkTD99n0qRJTz31FLUCAEIqAPzjjBs3bvny5Z29GgwGN27cWFpaSqEA4PgJqVyTCuDYe+CBBzRN6+zVm2++mYQKAMcbRlIBZIWxY8euWLHib9uDwWBDQ0NeXh4lAoDjByOpALLF5MmTO2y/7LLLSKgAcBxiJBVAVojFYv369WtqamrXvnLlytGjR1MfADiuMJIKIFsEAoHp06e3a6ypqSGhAsDxiZFUANkiHA4PGDCg7WDq888/P2HCBCoDAMcbRlIBZJG8vLyf/exnmR9ra2tJqABw3GIkFUB2ST+AikdMAcDxjJFUAFnnjjvuEJErrriChAoAxzMPJQDcLplK7vy4/kDsE8uMJaxY0oo7Srn4r+cTZVDNgPO+OWLx1mdcvV+8htdnBjyOL6gVlZ7QP5QX4lgFgM+O0/2Au72/852G8DbLthxlO47tiFJuTqhpTfsPFRR1c/3Xq6ZpoumabuiGiNbT37e67FTTNDloAeCITNMkpAJuFY1GNzaubrb2pZyU49iOUgFvrs8T8Hr8mnAlzzGnUnYyZccjiVYRpWmaafgCZm55cHifXjziFQCOHFI53Q+4UnPLoU2frA5bh5JWQtc8/YqqCvNKfJ4Alck2tmM1xw7sPPhhJN7sKPudpjWWJPv1GkBlAODwGEkF3Gff/j1bD6yNJJot2zqhoH9p90GGZohIKmXZjm1bluMopTq4MFXT5DM2urFzdq6bpommaSLagejuXc0fGIbm8/j7BodU9f0njmQA6Ayn+wH3aWlpfuvjFdFUOGkly0tqeoT6iEgymUwkEk46nDqOUukrUxXlyoaxABHRNE3X9aQdf3//ehEnx5czKHTywDKmLwCATkMqp/sBl3mnaUM8FU3ZydLu5T1CfZRIJBKxLctxHNu2M3lINI1aZQ+llG3bhpj98qt2NG1qCbfU6Vv6Jvt7vV6KAwAdIqQCbnKgaf+h1t0pJ5njDZUWDhKRWDRqW5ZlWUop3TAMXU8P3SG7aGLouqNUQIJFOaV7I40Hm/dvqV8/YtBIagMAHeIWYMBNGva864hjO06/okpNJJ5IpJKpVColIqbHTE91RJWyNqjqmm6aZkmwVNc8trIbDrzHBVcAQEgFuoKw0Wzblt/0d8spSqWsRDxh2ZamaR6Ph/P7bomqpsdfnNdbKSdhR7fXfUhFAICQCrhbJBqOJFptcQpye4pIPB5zHFsp5fF4GEB1l5C/0PAYlm3t2b87Go1SEAAgpAIu1txySEREqYA3Nx6Pp++UMjpKqJ0NqnbY3mU6u2hDfJ6ApumapsUSkb1793aBh4QBACEVOH61hFtFRInyeQLJZNK2bU3TdK2D3+LOMk+H7V2ms4s2xDR8IqIbeiQWTqVSDKYCACEVcDHlOOmsY9uOUuI4jq7zK+xK6efWaqKlp6aKRCLUBAAIqYDr2bYlSqWfCE813J1Wdc2yrHg8TikAgJAKuJ5jKyVKRAipXSCmZp7CAAAgpALuxn02XSeiiqaUsiyLUgAAIRXoCiFVZUIOAACEVADZpmvPKiVddAqqNq0cwgBASAW6oq49q5R00Smo2rRyCAMAIRUAAACEVAAAAICQCgAAAEIqAAAAQEgFAAAAIRWACzAFlas3hCmoAICQCnRNTEHl6g1hCioAIKQCAACAkAoAAAAQUgEAAEBIBYDPJxqJjKoZNapmVCIepxoAAEIqAAAAXMZDCQBX07QObhvvsPGYd/YH/E/Ne1JEvD7vZ1zC51qN7NzqI7QzBRUAEFKBLslFkzHpujFocMXn2hBhCioAOF5xuh/Ap6LR6MzbZ859cq5lpZ59et74c8fXDKyZdMmkFf+zXEQ5jr3wTwsnfGVCunHZkqXtElZDff1/3nP/xAsmDq8YXn1i9bhzxv3q/gfD4dZMh2Qicc9P777np3enUsnMx83+9Wzbtl6Y/6dLxl5S3b/64jEXP/7IY5FI+Ihrm0ol//T8H78z6TvDK4aPqBxxzTevfmvdm5lXN23YOPP2mW+uXbd7164brrmhprzmzBFn3jnjJw11dW0XMvfJuTNvn9nSfGj1qte+dfm3asprxp45dvZ/z45GIhwPAHBsaclkkioArvDu+9vqk5tjqWhZ/pBcbzfbSpmm7yguv/nQodOHnTHy9JH5+aGXFi09qaY6HA7Xba8Xkfsfuf+tN958+qlnTqqpbmlpaahrFJH7Hrr3qxeMTb93w9sbpkyakkqlKqoqBg4aGAmH1615MxqJVp1U9dtnn/L7AyISjURqR58vIivfeNnn96c/rrqm+sSBJy6Yv2BwVYVpmls2bxUlQ4fXPPHMb7xeb2erGolE/nXyNRvXbwoEAqPOGOUoe/Wq1x3HeWT2w6effYaILHxh4YybZnz9yq8vXbw0Jydn1Bkj63bUv73ubb/f9/ATD582amR6OdOmTH3l5VevmnbVrEdmDSgfMGzE0C2btvzl3fcHVw1+fM5jBYWFX97e3PDRCsdyvM2FA3tX5uTklJeXc4QDQIZpmpzuB/BX1q5eW1Rc9OyL86qqhyilZj36+H/9x4MzbpoRyg89/+fnBldVKqWenPXkfT+/7/FHZ40ZP0bTdBH1yAMPO8p57Le/Hn3m6enlRCPRqd+d+vYbb695bc2555/X2cdt3bT1448+nvP8nGEjhopo2z/48NtXfGfj+k2rX33t3NpO3/Xc089uXL/p7Nqzf37vz/O75YvI7l27/uXSb8z4/q1/XrEwlJ+f7jbvd/OGnFQ1a+6sYCgkohYtWDRj+q0/vO6HLy57sVtBQWZpsx6ZdfW1V183/VrD8CRTyX+bceeCP7x4z1333P3A3Vw0CgDHCqf7AbQ34yc/qqoeIiKapl16+aWGYSSTyVvvnDG4qjLd+LXLL/X7/fXb6yORiIjE43FHqYsvvTiTUEUkJzfnskmXiUjdjrrDf9xtM28dNmJYOg4OKB84+arJ6fDaWX+lnD88+4eCwoJf3P+LdEIVkRN695783clNB5tWv7o609Pr9d770L3BUEhERLTxE8Z/7YpLmw4eWrJwSdsFnnzayddOv9YwPCLiNb23zbytqLho8cIlu3bu4mAAAEIqgGwx7OThmX8Hg8F0EBw6YlimMZATCIby4vG4bdki4vcHZs+dfdc9d7VbTn5+vojE44nDf9yIU05u+2Of0j4iEm7p9LLUvXv21m2vGz9hXOjT9PmpSy7756WvLR0zbkym5Yxzzijt27dNF+2iSy4SkZcWvdT2jZO+eYXH+P/TSnl5wXEXjbVte+3razkYAOBY4XQ/4G5HfcqkUH4olB/KtGu6Zhi6iPj9vsMvOZFI7ti+ffeu3fv27t+3d++OD+veXPvmEdc/v1t+XjCv7ZKDoaCIxGKxztZ5185dSklFZfuJAgoKC9qexBeREacOb7eEvmV9RaR+R4NlpTweM91YOaSyXTXKKwaJyIcffPjF63mEdq4mAABCKtAlHfUpk3w+r8djfN4lv7Xu7euvvr6luSX9Y3FJ8cjRp9V+tfa5p587/Pp7veZhPq7D9mgsJiJen++IPXNyctq1m6YpIukx4ExI9fn97RaSnsk10hr94vU8QjtTUAEAIRXAlyQajd5ywy2xaOza6dPOOvessn5lecGgiCx7adkRQ+rfIRDwp4PmEXvGY+37pAdoQ6FgOq2mJRPtL0hIT0HVvbg7OxcAjhWuSQXwRb3x+to9n+y55rprpt4wbchJ1emEKiLR6Jcy22iv3r1EZPv7H7Zr37Zl6wXnXfD0b3+XaXnv3b+065O+i2tgRbluGJnG+rr6dt3e2fquiJRXDGTnAgAhFYBb7d+3X0QqKge1a39l+Ssi4tjO0f24kp4lZf3LFr+4pO2TAkRkw9sbGuoa2t5N9fLSFQcPHsz8qJT647N/FJFxF41r+8YX5i9QbU7GNzU1LV201Of3nTryVHYuABBSAbjViQNOFJH58+ZnHg5i29a8ub9/adFSEWltafmCy5/969kzb5+5YtmKT7+2dGPiFV/bv2//zB/flXk21a6dO2c/+sQJvXqee/45mTe2tLTOuPFH0WhURBzbfmrWk4sWLO7Xv6x2TG3b5S9ZuGTOE3McxxaRSCT8oxtuaWlu+ca3rywqLmbnAsCxwjWpAL6omuFDh40Yumr5KxfWXjjy9JG2ba97fd3+ffuv+/61v7rvoe0fbBdRX+Q+9lXLVq1/a31xj+Lz/u+hAJdf+fXlS1csXrD4lRWvjD5rdCwSXfPaWtNr/ub3T+TmBTNvHDqiZtOGzRPOv2jEaSdv2bClsaGxR0mPBx97MBAItF3+6DNH//Lffznvd/Oqa6rfWvvWnk/2nHf+udNunMaeBQBCKoC/01Gcgsrv9992121+n88wjEy7YRjX/+D6eCLh9/s7a/R4PL+a9dCfX1j4zpZ3mg42FfUo+t6N3zvrnDMLCgsKCwuVqHg87vcHTK/5g1u/LyKG6ens40SkX/+y2+66rV//sszqfWPKlWMnjB1SXZVZ57y83N8888Ta1WvXvfHmzoadwVBo2k1Tx180vrSs71+l52E19z98//x589975y+njjpl2k1Tz6k9J33JbNtSTL3xe9dOn7ZsyfLGhsavjDv/3DHnnXLqybpufMF6fqZ2pqACgM7+g8ucngOQ5d59f1t9cnMsFS3LH5Lr7WZbKdP0UZYOLXxh4YybZnzrqsk3//iWw3SbNmXqKy+/Onf+nKHDh/2D13DDRyscy/E2Fw7sXZmTk1NeXs5eA4AM0zS5JhUAAABZh5AKAAAAQioAAABwJNw4BaALuvDiCy+8+MIjdnvkiUepFQBkJ0ZSAQAAQEgFcFRp2mdt7PKd3bghTEEFAIRUoGvqcErODhu7fGc3bogoDmEAIKQCAACAkAoAAAAQUgEAAEBIBQAAAAipAAAAIKQCcAGmoHL1hjAFFQAQUoGuiSmoXL0hTEEFAIRUAAAAEFIBAAAAQioAAAAIqQAAAAAhFeDXVTdERBNR4lANV1PpG6Y00XRu7wcAQirgcsG8PBHRNC1lJzKNTEHlxg2x7EQ6o/pMHwc2ABBSAXcLBbulw0401ZppZAoqN25IzAqnQ6rXIKQCACEVcLm83Lw8X8gQvTm2nwk2Xa0ldlApRykJ5RZQDQAgpAKu50928xgeW1mHYvtEhKjqRraTOhDdLY6Ymi/HnysimsaVqQBASAXcbECfCk0zDM3Y3VKnlCKjutGecKPtWJrouakix3F0Xfd4PJQFAAipgIsV5hcVGr0M3UhasU/CDQ4p1W2iyea9rY1ii6G8/UoGElIBgJAKdBGVfYblePMc29kX2Xkg8jEFcZGEFd1+YItt26K0Yq1M1w3HcTweTyAQoDgAQEgF3C2YFxxacmauNyi2NBx49+OW7Y6y2/VhCqrs66yaYnve27sumYrryihy+vUq7ptMJnVd13U9FApxYANA+6/TZDJJFQDX2bN3z6vvLY6rVt3U/d5Az1C/fH+RafipTLZxlB1ONn3SUh9JtijLMcTsoQ3oVVTqOE44HA4EAt27dy8pKaFQANCWaZqEVMCt6urrNtW/0Sp7Da9hGLqI5vMEvB6/x/Bqwt3ix55lpywnEUtFlFLKUeJoHsdXllPVLVSolAqHwyISDAb79+/PNakA8LchlW9GwK369O7j2M6Ojz7Ym9zhmKJpKmZH4smIEiJqVlAimhIlmq5E0/SgVTKgZ6Wu60qpaDQqIrm5uQUFBSRUAOgQX46Ai//K7NWrl23b3SM99hz4OKZajBxlaylLJR3lUJ9jzqt7DfGquB40C3sUnBDw5YiIbdvphJqTk+P3+7t3706hAICQCnQ1gUCguLhYRExPWfouHJ/P5/F4mBw+C9m2nUgkLMsyDCMQCPj9/t69e7OnAKAzXJMKuF5zc/O+ffts247H45ZliYiu65qmEYCygWpD13W/3+/xePLy8kpKSnSd+VUAoGPcOAV0EbZtNzc3t7a2JhIJ27Ydx0mnIiqTDdJ/MxiGYZpmbm5ufn6+3888DABASAUAAIDbQionmwAAAJB1CKkAAAAgpAIAAACEVAAAABBSAQAAAEIqAAAACKkAAAAAIRUAAACEVAAAAICQCgAAABBSAQAAkO08zb/oTxWOrn1fmUURAAAA/m6Vo8ZqWr5PNSdElFIUBAAAAFnhfwEgpLKGCiWpRgAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Include<span class="_ _9"> </span>Guard<span class="_ _e"> </span>2/3</div><div class="t m0 x1 ha y33 ff1 fs6 fc0 sc0 ls0 ws0">Common<span class="_ _8"> </span>case:</div><div class="t m0 x7 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">6/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf9" class="pf w0 h0" data-page-no="9"><div class="pc pc9 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIx0lEQVR42u3ZsUlEQRCA4Vt5g2bWcAgHViAimAnWYCvGYhPGFiIG1nAIV4DRZToveGYGJsI7Tmfx+yoYZpOf2XZydrEAAIAyXl+eD2wBAIBqRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAF9aZtoCAAB1RIRLKgAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAMAuho5mjVh7MACAecZx1dG0LqkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBgN4MV8Psubx/LzvZ0d+OBAODPtczsZdaItQcDAJhnHFf9VF/47gcAoByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUA4P9qmWkLAADUEREuqQAAlCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAAPs0dDRrxNqDAQDMM46rjqZ1SQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAPSoZaYtAABQR0S4pAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAOzT0NGsm/eNBwMAmGd5tOxoWpdUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAHzXMtMWAACoIyJcUgEAKEekAgAgUgEA4CfD9n5pC0W8XT1YAgDA6fl1a8eH0/ZjsZimyUIAACjhExJZLvwMlDDwAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Include<span class="_ _9"> </span>Guard<span class="_ _e"> </span>3/3</div><div class="t m0 x1 hb y34 ff5 fs7 fc0 sc0 ls0 ws0">header_A.hpp:</div><div class="t m0 x1 he y35 ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>pragma<span class="_ _8"> </span>once<span class="_ _14"> </span><span class="fc4">//<span class="_ _9"> </span><span class="ffa">p<span class="_ _7"></span>revent<span class="_ _9"> </span><span class="ff7">&quot;multiple<span class="_ _8"> </span>definitions&quot;<span class="_ _9"> </span>linking<span class="_ _9"> </span>error</span></span></span></div><div class="t m0 x1 he y36 ff5 fs5 fc6 sc0 ls0 ws0">struct<span class="_ _9"> </span><span class="fc7">A<span class="_ _9"> </span><span class="ffb fc0">{</span></span></div><div class="t m0 x1 he y37 ffb fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 hb y38 ff5 fs7 fc0 sc0 ls0 ws0">header_B.hpp:</div><div class="t m0 x1 he y39 ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>include<span class="_ _5"> </span><span class="fc4">&quot;header_A.hpp&quot;<span class="_ _2"> </span>//<span class="_ _9"> </span>included<span class="_ _9"> </span>here</span></div><div class="t m0 x1 he y3a ff5 fs5 fc6 sc0 ls0 ws0">struct<span class="_ _9"> </span><span class="fc7">B<span class="_ _9"> </span><span class="ffb fc0">{</span></span></div><div class="t m0 xb he y3b ffb fs5 fc0 sc0 ls0 ws0">A<span class="_ _9"> </span>a;</div><div class="t m0 x1 he y3c ffb fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 hb y3d ff5 fs7 fc0 sc0 ls0 ws0">main.cpp:</div><div class="t m0 x1 he y3e ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>include<span class="_ _5"> </span><span class="fc4">&quot;header_A.hpp&quot;<span class="_ _2"> </span>//<span class="_ _9"> </span>..<span class="_ _9"> </span>and<span class="_ _9"> </span>included<span class="_ _9"> </span>here</span></div><div class="t m0 x1 he y3f ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>include<span class="_ _5"> </span><span class="fc4">&quot;header_B.hpp&quot;</span></div><div class="t m0 x1 he y40 ff5 fs5 fc8 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ffb fc7">main<span class="fc0">()<span class="_ _9"> </span>{</span></span></div><div class="t m0 xb he y41 ffb fs5 fc0 sc0 ls0 ws0">A<span class="_ _9"> </span>a;<span class="_ _15"> </span><span class="ff7 fc4">//<span class="_ _9"> </span>ok,<span class="_ _8"> </span>here<span class="_ _9"> </span>we<span class="_ _9"> </span>need<span class="_ _9"> </span>&quot;header_A.hpp&quot;</span></div><div class="t m0 xb he y42 ffb fs5 fc0 sc0 ls0 ws0">B<span class="_ _9"> </span>b;<span class="_ _15"> </span><span class="ff7 fc4">//<span class="_ _9"> </span>ok,<span class="_ _8"> </span>here<span class="_ _9"> </span>we<span class="_ _9"> </span>need<span class="_ _9"> </span>&quot;header_B.hpp&quot;</span></div><div class="t m0 x1 he y43 ffb fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x7 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">7/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfa" class="pf w0 h0" data-page-no="a"><div class="pc pca w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _7"></span>o<span class="_ _7"></span>rw<span class="_ _7"></span>a<span class="_ _7"></span>rd<span class="_ _9"> </span>Decla<span class="_ _7"></span>ration</div><div class="t m0 x1 ha y27 ff1 fs6 fc0 sc0 ls0 ws0">F<span class="_ _7"></span>o<span class="_ _7"></span>rw<span class="_ _7"></span>a<span class="_ _7"></span>rd<span class="_ _8"> </span>decla<span class="_ _7"></span>ration<span class="_ _f"> </span><span class="ff4">is<span class="_ _f"> </span>a<span class="_ _f"> </span>declaration<span class="_ _b"> </span>of<span class="_ _f"> </span>an<span class="_ _f"> </span>identifier<span class="_ _f"> </span>for<span class="_ _b"> </span>which<span class="_ _f"> </span>a<span class="_ _f"> </span>complete<span class="_ _f"> </span>definition</span></div><div class="t m0 x1 ha y28 ff4 fs6 fc0 sc0 ls0 ws0">has<span class="_ _f"> </span>not<span class="_ _f"> </span>y<span class="_ _7"></span>et<span class="_ _f"> </span>given.<span class="_ _11"> </span><span class="ffc">forw<span class="_ _7"></span>a<span class="_ _7"></span>rd<span class="_ _0"></span><span class="ff4"><span class="_ _f"> </span>means<span class="_ _f"> </span>that<span class="_ _f"> </span>an<span class="_ _f"> </span>entity<span class="_ _b"> </span>is<span class="_ _f"> </span>declared<span class="_ _b"> </span>b<span class="_ _c"></span>efore<span class="_ _b"> </span>it<span class="_ _f"> </span>is<span class="_ _f"> </span>defined</span></span></div><div class="t m0 x1 hc y44 ff5 fs7 fc8 sc0 ls0 ws0">void<span class="_ _11"> </span><span class="ff8 fc7">f<span class="fc0">();<span class="_ _2"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>function<span class="_ _11"> </span>forward<span class="_ _11"> </span>declaration</span></span></span></div><div class="t m0 x1 hc y45 ff5 fs7 fc6 sc0 ls0 ws0">class<span class="_ _11"> </span><span class="fc7">A<span class="ff8 fc0">;<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>class<span class="_ _17"> </span>forward<span class="_ _11"> </span>declaration</span></span></span></div><div class="t m0 x1 hc y46 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _11"> </span><span class="ff8 fc7">main<span class="fc0">()<span class="_"> </span>{</span></span></div><div class="t m0 xc hc y47 ff8 fs7 fc0 sc0 ls0 ws0">f();<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>ok,<span class="_ _11"> </span>f()<span class="_ _11"> </span>is<span class="_ _11"> </span>defined<span class="_ _11"> </span>in<span class="_ _11"> </span>the<span class="_ _11"> </span>translation<span class="_ _11"> </span>unit</span></div><div class="t m0 x1 hf y48 ff7 fs7 fc4 sc0 ls0 ws0">//<span class="_ _2"> </span>A<span class="_ _11"> </span>a;<span class="_ _16"> </span>//<span class="_ _11"> </span><span class="ffd">compiler<span class="_ _13"> </span>erro<span class="_ _7"></span>r<span class="_ _11"> </span><span class="ff7">no<span class="_ _11"> </span>definition<span class="_ _11"> </span>(incomplete<span class="_ _11"> </span>type)</span></span></div><div class="t m0 xd hc y49 ff7 fs7 fc4 sc0 ls0 ws0">//<span class="_ _11"> </span>e.g.<span class="_ _11"> </span>the<span class="_ _11"> </span>compiler<span class="_ _11"> </span>is<span class="_ _11"> </span>not<span class="_ _11"> </span>able<span class="_ _11"> </span>to<span class="_ _11"> </span>deduce<span class="_ _11"> </span>the<span class="_ _11"> </span>size<span class="_ _11"> </span>of<span class="_ _11"> </span>A</div><div class="t m0 xc hc y4a ff8 fs7 fc0 sc0 ls0 ws0">A<span class="fc9">*<span class="_"> </span></span>a;<span class="_ _2"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>ok</span></div><div class="t m0 x1 hc y4b ff8 fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hc y4c ff5 fs7 fc8 sc0 ls0 ws0">void<span class="_ _11"> </span><span class="ff8 fc7">f<span class="fc0">()<span class="_"> </span>{}<span class="_ _2"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>definition<span class="_ _11"> </span>of<span class="_ _11"> </span>f()</span></span></span></div><div class="t m0 x1 hc y4d ff5 fs7 fc6 sc0 ls0 ws0">class<span class="_ _11"> </span><span class="fc7">A<span class="_ _2"> </span><span class="ff8 fc0">{};<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>definition<span class="_ _11"> </span>of<span class="_ _11"> </span>A()</span></span></span></div><div class="t m0 x7 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">8/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfb" class="pf w0 h0" data-page-no="b"><div class="pc pcb w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIwklEQVR42u3ZvUkEURSG4bkyB6OLNYiRFYgYC9uCgfXYhB0YWINgYBF2YLTcwPUkYyCYrX+4yx3meSoYvpu8nCknZxcDAAB04/np8cAKAAD0RqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAPCpZKYVAADoR0S4pAIA0B2RCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAGC70QQA89VaM8IXaq1GgJlySQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAICFKZlpBQAA+hERLqkAAHRHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAPzCaAIA+FZrzQjb1FqNwL9zSQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAICFKZlpBQAA+hERLqkAAHRHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFJNAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAAPsxmuDnWmtG2J1aqxEAgA8uqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAYN5KZloBAIB+RIRLKgAA3RGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBgt8a5fOjrZrO6uvZgMC8P93dGAOAPSmZaAQCAfkSE3/0AAHRHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAAHs1rm+OrbBYL5e3RgAAenN6virl6HBavw3DNE0GAQCgC+82zS78mYY6ewAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _7"></span>o<span class="_ _7"></span>rw<span class="_ _7"></span>a<span class="_ _7"></span>rd<span class="_ _9"> </span>Decla<span class="_ _7"></span>ration<span class="_ _9"> </span>vs.<span class="_ _4"> </span><span class="ff5">#include</span></div><div class="t m0 x1 ha y27 ff1 fs6 fc0 sc0 ls0 ws0">A<span class="_ _7"></span>dvantages:</div><div class="t m0 xa h6 y4e ff9 fs4 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Fo<span class="_ _7"></span>rw<span class="_ _7"></span>a<span class="_ _7"></span>rd<span class="_ _13"> </span>declarations<span class="_ _b"> </span>can<span class="_ _b"> </span>save<span class="_ _b"> </span>compile<span class="_ _b"> </span>time<span class="_ _b"> </span>as<span class="_ _12"> </span><span class="ffe">#include<span class="_ _12"> </span></span>forces<span class="_ _13"> </span>the<span class="_ _b"> </span>compiler<span class="_ _b"> </span>to<span class="_ _b"> </span>op<span class="_ _c"></span>en</span></div><div class="t m0 x6 h6 y4f ff4 fs4 fc0 sc0 ls0 ws0">mo<span class="_ _7"></span>re<span class="_ _b"> </span>files<span class="_ _b"> </span>and<span class="_ _b"> </span>process<span class="_ _b"> </span>more<span class="_ _13"> </span>input</div><div class="t m0 xa h6 y50 ff9 fs4 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Fo<span class="_ _7"></span>rw<span class="_ _7"></span>a<span class="_ _7"></span>rd<span class="_ _13"> </span>declarations<span class="_ _b"> </span>can<span class="_ _b"> </span>save<span class="_ _b"> </span>on<span class="_ _b"> </span>unnecessa<span class="_ _7"></span>ry<span class="_ _b"> </span>recompilation.<span class="_ _18"> </span><span class="ffe">#include<span class="_ _12"> </span></span>can<span class="_ _b"> </span>force<span class="_ _13"> </span>your</span></div><div class="t m0 x6 h6 y51 ff4 fs4 fc0 sc0 ls0 ws0">co<span class="_ _c"></span>de<span class="_ _b"> </span>to<span class="_ _b"> </span>be<span class="_ _b"> </span>recompiled<span class="_ _b"> </span>more<span class="_ _b"> </span>often,<span class="_ _b"> </span>due<span class="_ _b"> </span>to<span class="_ _b"> </span>unrelated<span class="_ _b"> </span>changes<span class="_ _b"> </span>in<span class="_ _b"> </span>the<span class="_ _b"> </span>header</div><div class="t m0 x1 ha y52 ff1 fs6 fc0 sc0 ls0 ws0">Disadvantages:</div><div class="t m0 xa h6 y53 ff9 fs4 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Fo<span class="_ _7"></span>rw<span class="_ _7"></span>a<span class="_ _7"></span>rd<span class="_ _13"> </span>declarations<span class="_ _b"> </span>can<span class="_ _b"> </span>hide<span class="_ _b"> </span>a<span class="_ _b"> </span>dependency<span class="_ _19"></span>,<span class="_ _b"> </span>allo<span class="_ _7"></span>wing<span class="_ _b"> </span>user<span class="_ _b"> </span>co<span class="_ _c"></span>de<span class="_ _b"> </span>to<span class="_ _b"> </span>skip<span class="_ _b"> </span>necessa<span class="_ _7"></span>ry</span></div><div class="t m0 x6 h6 y54 ff4 fs4 fc0 sc0 ls0 ws0">recompilation<span class="_ _b"> </span>when<span class="_ _b"> </span>headers<span class="_ _b"> </span>change</div><div class="t m0 xa h6 y55 ff9 fs4 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">A<span class="_ _b"> </span>forw<span class="_ _19"></span>ard<span class="_ _13"> </span>declaration<span class="_ _13"> </span>may<span class="_ _b"> </span>be<span class="_ _b"> </span>brok<span class="_ _19"></span>en<span class="_ _b"> </span>by<span class="_ _b"> </span>subsequent<span class="_ _b"> </span>changes<span class="_ _b"> </span>to<span class="_ _b"> </span>the<span class="_ _b"> </span>lib<span class="_ _7"></span>ra<span class="_ _7"></span>ry</span></div><div class="t m0 xa h6 y56 ff9 fs4 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Fo<span class="_ _19"></span>rwa<span class="_ _19"></span>rd<span class="_ _b"> </span>declaring<span class="_ _13"> </span>multiple<span class="_ _b"> </span>symb<span class="_ _c"></span>ols<span class="_ _b"> </span>from<span class="_ _b"> </span>a<span class="_ _b"> </span>header<span class="_ _b"> </span>can<span class="_ _b"> </span>b<span class="_ _c"></span>e<span class="_ _b"> </span>more<span class="_ _13"> </span>verb<span class="_ _c"></span>ose<span class="_ _b"> </span>than<span class="_ _b"> </span>simply</span></div><div class="t m0 xe h6 y57 ffe fs4 fc0 sc0 ls0 ws0">#including<span class="_ _12"> </span><span class="ff4">the<span class="_ _b"> </span>header</span></div><div class="t m0 xf hc y58 ff8 fs7 fca sc0 ls0 ws0">google.github.io/styleguide/cppguide.html#Forward_Declarations</div><div class="t m0 x7 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">9/48</div><a class="l" href="https://google.github.io/styleguide/cppguide.html#Forward_Declarations"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:1.962000px;width:293.848000px;height:13.444000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfc" class="pf w0 h0" data-page-no="c"><div class="pc pcc w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Circula<span class="_ _19"></span>r<span class="_ _11"> </span>Dep<span class="_ _c"></span>endencies<span class="_ _1a"> </span>1/3</div><div class="t m0 x1 ha y27 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">circula<span class="_ _7"></span>r<span class="_ _8"> </span>dep<span class="_ _c"></span>endency<span class="_ _f"> </span><span class="ff4">is<span class="_ _f"> </span>a<span class="_ _f"> </span>relation<span class="_ _f"> </span>b<span class="_ _c"></span>etw<span class="_ _19"></span>een<span class="_ _f"> </span>tw<span class="_ _19"></span>o<span class="_ _f"> </span>or<span class="_ _b"> </span>more<span class="_ _b"> </span>mo<span class="_ _c"></span>dules<span class="_ _f"> </span>which<span class="_ _f"> </span>either</span></span></div><div class="t m0 x1 ha y28 ff4 fs6 fc0 sc0 ls0 ws0">directly<span class="_ _f"> </span>o<span class="_ _7"></span>r<span class="_ _f"> </span>indirectly<span class="_ _f"> </span>dep<span class="_ _c"></span>end<span class="_ _f"> </span>on<span class="_ _f"> </span>each<span class="_ _f"> </span>other<span class="_ _f"> </span>to<span class="_ _f"> </span>function<span class="_ _f"> </span>p<span class="_ _7"></span>rop<span class="_ _c"></span>erly</div><div class="t m0 x1 ha y59 ff4 fs6 fc0 sc0 ls0 ws0">Circula<span class="_ _7"></span>r<span class="_ _f"> </span>dep<span class="_ _c"></span>endencies<span class="_ _f"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>solved<span class="_ _f"> </span>b<span class="_ _7"></span>y<span class="_ _f"> </span>using<span class="_ _f"> </span>fo<span class="_ _7"></span>rw<span class="_ _7"></span>ard<span class="_ _b"> </span>declaration,<span class="_ _b"> </span>or<span class="_ _b"> </span>b<span class="_ _c"></span>etter,<span class="_ _f"> </span>by</div><div class="t m0 x1 ha y5a ff4 fs6 fc0 sc0 ls0 ws0">rethinking<span class="_ _f"> </span>the<span class="_ _f"> </span>p<span class="_ _7"></span>roject<span class="_ _f"> </span>o<span class="_ _7"></span>rganization</div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">10/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfd" class="pf w0 h0" data-page-no="d"><div class="pc pcd w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Circula<span class="_ _19"></span>r<span class="_ _11"> </span>Dep<span class="_ _c"></span>endencies<span class="_ _1a"> </span>2/3</div><div class="t m0 x1 hb y5b ff5 fs7 fc0 sc0 ls0 ws0">header_A.hpp:</div><div class="t m0 x1 he y5c ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>pragma<span class="_ _8"> </span>once<span class="_ _15"> </span><span class="fc4">//<span class="_ _9"> </span>first<span class="_ _8"> </span>include</span></div><div class="t m0 x1 he y5d ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>include<span class="_ _5"> </span><span class="fc4">&quot;header_B.hpp&quot;</span></div><div class="t m0 x1 he y5e ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">A<span class="_ _9"> </span><span class="ffb fc0">{</span></span></div><div class="t m0 xb he y5f ffb fs5 fc0 sc0 ls0 ws0">B<span class="fc9">*<span class="_ _9"> </span></span>b;</div><div class="t m0 x1 he y60 ffb fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 hb y61 ff5 fs7 fc0 sc0 ls0 ws0">header_B.hpp:</div><div class="t m0 x1 he y62 ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>pragma<span class="_ _8"> </span>once<span class="_ _15"> </span><span class="fc4">//<span class="_ _9"> </span>second<span class="_ _8"> </span>include</span></div><div class="t m0 x1 he y63 ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>include<span class="_ _5"> </span><span class="fc4">&quot;header_C.hpp&quot;</span></div><div class="t m0 x1 he y64 ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">B<span class="_ _9"> </span><span class="ffb fc0">{</span></span></div><div class="t m0 xb he y65 ffb fs5 fc0 sc0 ls0 ws0">C<span class="fc9">*<span class="_ _9"> </span></span>c;</div><div class="t m0 x1 he y66 ffb fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 hb y67 ff5 fs7 fc0 sc0 ls0 ws0">header_C.hpp:</div><div class="t m0 x1 he y68 ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>pragma<span class="_ _8"> </span>once<span class="_ _15"> </span><span class="fc4">//<span class="_ _9"> </span>third<span class="_ _8"> </span>include</span></div><div class="t m0 x1 he y69 ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>include<span class="_ _5"> </span><span class="fc4">&quot;header_A.hpp&quot;</span></div><div class="t m0 x1 he y6a ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">C<span class="_ _9"> </span><span class="ffb fc0">{<span class="_ _15"> </span><span class="ff7 fc4">//<span class="_ _9"> </span><span class="ffa fcb">compile<span class="_ _13"> </span>erro<span class="_ _19"></span>r<span class="_ _9"> </span><span class="ff7 fc4">&quot;header_A.hpp&quot;:<span class="_ _9"> </span><span class="ffa">already<span class="_ _9"> </span></span>included<span class="_ _8"> </span>by<span class="_ _9"> </span>&quot;main.cpp&quot;</span></span></span></span></span></div><div class="t m0 xb he y42 ffb fs5 fc0 sc0 ls0 ws0">A<span class="fc9">*<span class="_ _9"> </span></span>a;<span class="_ _15"> </span><span class="ff7 fc4">//<span class="_ _9"> </span>the<span class="_ _8"> </span>compiler<span class="_ _9"> </span>does<span class="_ _9"> </span>not<span class="_ _9"> </span>know<span class="_ _9"> </span>the<span class="_ _9"> </span>meaning<span class="_ _8"> </span>of<span class="_ _9"> </span>&quot;A&quot;</span></div><div class="t m0 x1 he y43 ffb fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">11/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfe" class="pf w0 h0" data-page-no="e"><div class="pc pce w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Circula<span class="_ _19"></span>r<span class="_ _11"> </span>Dep<span class="_ _c"></span>endencies<span class="_ _9"> </span><span class="fs4">(fix)<span class="_ _1b"> </span></span>3/3</div><div class="t m0 x1 hb y6b ff5 fs7 fc0 sc0 ls0 ws0">header_A.hpp:</div><div class="t m0 x1 he y6c ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>pragma<span class="_ _8"> </span>once</div><div class="t m0 x1 he y6d ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">B<span class="ffb fc0">;<span class="_ _14"> </span><span class="ff7 fc4">//<span class="_ _9"> </span>forward<span class="_ _8"> </span>declaration</span></span></span></div><div class="t m0 x11 he y6e ff7 fs5 fc4 sc0 ls0 ws0">//<span class="_ _9"> </span>note:<span class="_ _8"> </span>does<span class="_ _9"> </span>not<span class="_ _9"> </span>include<span class="_ _9"> </span>&quot;header_B.hpp&quot;</div><div class="t m0 x1 he y6f ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">A<span class="_ _9"> </span><span class="ffb fc0">{</span></span></div><div class="t m0 xb he y70 ffb fs5 fc0 sc0 ls0 ws0">B<span class="fc9">*<span class="_ _9"> </span></span>b;</div><div class="t m0 x1 he y71 ffb fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 hb y72 ff5 fs7 fc0 sc0 ls0 ws0">header_B.hpp:</div><div class="t m0 x1 he y73 ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>pragma<span class="_ _8"> </span>once</div><div class="t m0 x1 he y74 ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">C<span class="ffb fc0">;<span class="_ _14"> </span><span class="ff7 fc4">//<span class="_ _9"> </span>forward<span class="_ _8"> </span>declaration</span></span></span></div><div class="t m0 x1 he y75 ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">B<span class="_ _9"> </span><span class="ffb fc0">{</span></span></div><div class="t m0 x12 he y76 ffb fs5 fc0 sc0 ls0 ws0">C<span class="fc9">*<span class="_ _9"> </span></span>c;</div><div class="t m0 x1 he y77 ffb fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 hb y78 ff5 fs7 fc0 sc0 ls0 ws0">header_C.hpp:</div><div class="t m0 x1 he y79 ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>pragma<span class="_ _8"> </span>once</div><div class="t m0 x1 he y7a ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">A<span class="ffb fc0">;<span class="_ _14"> </span><span class="ff7 fc4">//<span class="_ _9"> </span>forward<span class="_ _8"> </span>declaration</span></span></span></div><div class="t m0 x1 he y7b ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">C<span class="_ _9"> </span><span class="ffb fc0">{</span></span></div><div class="t m0 xb he y7c ffb fs5 fc0 sc0 ls0 ws0">A<span class="fc9">*<span class="_ _9"> </span></span>a;</div><div class="t m0 x1 he y7d ffb fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">12/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pff" class="pf w0 h0" data-page-no="f"><div class="pc pcf w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Common<span class="_ _9"> </span>Linking<span class="_ _11"> </span>Erro<span class="_ _19"></span>rs</div><div class="t m0 x1 ha y7e ff4 fs6 fc0 sc0 ls0 ws0">V<span class="_ _7"></span>ery<span class="_ _f"> </span>common<span class="_ _f"> </span><span class="ffc">linking<span class="_ _11"> </span></span>erro<span class="_ _7"></span>rs:</div><div class="t m0 xf ha y7f ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ff5">undefined<span class="_ _4"> </span>reference</span></div><div class="t m0 x6 ha y80 ffc fs6 fc0 sc0 ls0 ws0">Solutions<span class="_ _0"></span><span class="ff4">:</span></div><div class="t m0 x13 h6 y81 ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _5"> </span>Check<span class="_ _b"> </span>if<span class="_ _b"> </span>the<span class="_ _b"> </span>right<span class="_ _b"> </span>headers<span class="_ _b"> </span>and<span class="_ _b"> </span>sources<span class="_ _b"> </span>are<span class="_ _13"> </span>included</div><div class="t m0 x13 h6 y82 ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _5"> </span>Break<span class="_ _b"> </span>circular<span class="_ _13"> </span>dep<span class="_ _c"></span>endencies<span class="_ _b"> </span>(could<span class="_ _b"> </span>b<span class="_ _c"></span>e<span class="_ _b"> </span>ha<span class="_ _7"></span>rd<span class="_ _b"> </span>to<span class="_ _b"> </span>find)</div><div class="t m0 xf ha y83 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ff5">multiple<span class="_ _4"> </span>definitions</span></div><div class="t m0 x6 ha y84 ffc fs6 fc0 sc0 ls0 ws0">Solutions<span class="_ _0"></span><span class="ff4">:</span></div><div class="t m0 x13 h6 y85 ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _15"> </span><span class="ffe">inline<span class="_ _12"> </span></span>function,<span class="_ _b"> </span>variable<span class="_ _13"> </span>definition<span class="_ _b"> </span>or<span class="_ _12"> </span><span class="ffe">extern<span class="_ _12"> </span></span>decla<span class="_ _19"></span>ration</div><div class="t m0 x13 h6 y86 ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _5"> </span>Add<span class="_ _13"> </span><span class="ffe">include<span class="_ _d"> </span>guard</span>/<span class="_ _13"> </span><span class="ffe">#pragma<span class="_ _5"> </span>once<span class="_ _12"> </span></span>to<span class="_ _b"> </span>header<span class="_ _b"> </span>files</div><div class="t m0 x13 h6 y87 ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _5"> </span>Place<span class="_ _b"> </span>template<span class="_ _b"> </span>definition<span class="_ _b"> </span>in<span class="_ _b"> </span>header<span class="_ _b"> </span>file<span class="_ _b"> </span>and<span class="_ _b"> </span>full<span class="_ _b"> </span>sp<span class="_ _c"></span>ecialization<span class="_ _b"> </span>in<span class="_ _b"> </span>source<span class="_ _b"> </span>files</div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">13/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf10" class="pf w0 h0" data-page-no="10"><div class="pc pc10 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x8 h2 y26 ff1 fs0 fc0 sc0 ls0 ws0">C++20<span class="_ _1"> </span>Mo<span class="_ _0"></span>dules</div><a class="l" href="#pf10" data-dest-detail='[16,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:134.352000px;width:194.081000px;height:22.106000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf11" class="pf w0 h0" data-page-no="11"><div class="pc pc11 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">C++20<span class="_ _9"> </span>Mo<span class="_ _c"></span>dules<span class="_ _1c"> </span>1/2</div><div class="t m0 x1 ha y88 ff1 fs6 fc0 sc0 ls0 ws0">The<span class="_ _1d"> </span><span class="ff5">#include<span class="_ _1d"> </span></span>p<span class="_ _19"></span>roblem<span class="ff4">:<span class="_ _d"> </span><span class="ffc">The<span class="_ _f"> </span>duplication<span class="_ _f"> </span>of<span class="_ _f"> </span>w<span class="_ _7"></span>o<span class="_ _7"></span>rk<span class="_ _11"> </span><span class="ff4">-<span class="_ _b"> </span>the<span class="_ _f"> </span>same<span class="_ _f"> </span>header<span class="_ _f"> </span>files<span class="_ _f"> </span>are</span></span></span></div><div class="t m0 x1 ha y89 ff4 fs6 fc0 sc0 ls0 ws0">p<span class="_ _c"></span>ossibly<span class="_ _f"> </span>pa<span class="_ _7"></span>rsed/compiled<span class="_ _f"> </span>multiple<span class="_ _f"> </span>times<span class="_ _f"> </span>and<span class="_ _f"> </span>most<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>compiled<span class="_ _f"> </span>output<span class="_ _f"> </span>is<span class="_ _f"> </span>later-on</div><div class="t m0 x1 ha y8a ff4 fs6 fc0 sc0 ls0 ws0">thro<span class="_ _7"></span>wn<span class="_ _f"> </span>a<span class="_ _7"></span>w<span class="_ _7"></span>ay<span class="_ _b"> </span>again<span class="_ _f"> </span>by<span class="_ _b"> </span>the<span class="_ _f"> </span>linker</div><div class="t m0 x1 ha y8b ff4 fs6 fcc sc0 ls0 ws0">C++20<span class="_ _f"> </span><span class="fc0">intro<span class="_ _c"></span>duces<span class="_ _f"> </span><span class="ff1">mo<span class="_ _c"></span>dules<span class="_ _f"> </span></span>as<span class="_ _f"> </span>a<span class="_ _f"> </span>robust<span class="_ _f"> </span>replacement<span class="_ _f"> </span>for<span class="_ _b"> </span>plain<span class="_ _1e"> </span><span class="ffe">#include</span></span></div><div class="t m0 x9 ha y8c ff1 fs6 fc1 sc0 ls0 ws0">Mo<span class="_ _c"></span>dule<span class="_ _8"> </span>(C++20)</div><div class="t m0 x9 ha y8d ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">mo<span class="_ _c"></span>dule<span class="_ _f"> </span></span>is<span class="_ _f"> </span>a<span class="_ _f"> </span>set<span class="_ _f"> </span>of<span class="_ _f"> </span>source<span class="_ _f"> </span>co<span class="_ _c"></span>de<span class="_ _f"> </span>files<span class="_ _f"> </span>that<span class="_ _f"> </span>a<span class="_ _7"></span>re<span class="_ _f"> </span>compiled<span class="_ _f"> </span>indep<span class="_ _c"></span>endently<span class="_ _f"> </span>of<span class="_ _f"> </span>the</div><div class="t m0 x9 ha y8e ff4 fs6 fc0 sc0 ls0 ws0">translation<span class="_ _f"> </span>units<span class="_ _f"> </span>that<span class="_ _f"> </span>imp<span class="_ _c"></span>o<span class="_ _7"></span>rt<span class="_ _f"> </span>them</div><div class="t m0 x1 ha y8f ff1 fs6 fc0 sc0 ls0 ws0">Mo<span class="_ _c"></span>dules<span class="_ _f"> </span><span class="ff4">allo<span class="_ _7"></span>w<span class="_ _f"> </span>defining<span class="_ _f"> </span>clearer<span class="_ _b"> </span>interfaces<span class="_ _f"> </span>with<span class="_ _f"> </span>a<span class="_ _f"> </span>fine-grained<span class="_ _f"> </span>control<span class="_ _f"> </span>on<span class="_ _f"> </span>what<span class="_ _f"> </span>to</span></div><div class="t m0 x1 ha y90 ffc fs6 fc0 sc0 ls0 ws0">imp<span class="_ _c"></span>o<span class="_ _7"></span>rt<span class="_ _9"> </span><span class="ff4">and<span class="_ _f"> </span></span>exp<span class="_ _c"></span>ort<span class="_ _9"> </span><span class="ff4">(similar<span class="_ _b"> </span>to<span class="_ _f"> </span>Java,<span class="_ _f"> </span>Python,<span class="_ _f"> </span>Rust,<span class="_ _b"> </span>etc.)</span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">14/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf12" class="pf w0 h0" data-page-no="12"><div class="pc pc12 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIiklEQVR42u3YsU0DURBF0f1oR0Rf1ICIqMBCjpHcmZugHAKKoAMi60dMss6cr7C1I3NOCS+6eu1lt58AAKCM76/PBysAAFCNSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4KJlphUAAKgjIjypAACUI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAPDfzSaAMYYR1uq9GwGA2/GkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAIBttcy0AgAAdUSEJxUAgHJEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQDgKmYT3LcxhhHW6r0bAQC25UkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAANtqmWkFAADqiAhPKgAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAGCV+XR8tgJcy8/7hxEA4I9e3w6tPT0up99pWpbFIAAAlHAGXiEgAGAxjfcAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">C++20<span class="_ _9"> </span>Mo<span class="_ _c"></span>dules<span class="_ _1c"> </span>2/2</div><div class="t m0 x1 ha y27 ffc fs6 fc0 sc0 ls0 ws0">Less<span class="_ _f"> </span>erro<span class="_ _7"></span>r-p<span class="_ _7"></span>rone<span class="_ _f"> </span>than<span class="_ _1e"> </span><span class="ffe">#include<span class="_ _13"> </span><span class="ff4">:</span></span></div><div class="t m0 xf ha y91 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">No<span class="_ _f"> </span>effect<span class="_ _f"> </span>on<span class="_ _f"> </span>the<span class="_ _f"> </span>compilation<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>translation<span class="_ _f"> </span>unit<span class="_ _f"> </span>that<span class="_ _f"> </span><span class="ffc">imp<span class="_ _c"></span>o<span class="_ _7"></span>rts<span class="_ _11"> </span><span class="ff4">the<span class="_ _b"> </span>mo<span class="_ _c"></span>dule</span></span></span></div><div class="t m0 xf ha y92 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Macros,<span class="_ _b"> </span>prep<span class="_ _19"></span>ro<span class="_ _c"></span>cessor<span class="_ _b"> </span>directives,<span class="_ _f"> </span>and<span class="_ _b"> </span><span class="ffc">non-exp<span class="_ _c"></span>orted<span class="_ _9"> </span></span>names<span class="_ _f"> </span>decla<span class="_ _7"></span>red<span class="_ _f"> </span>in<span class="_ _b"> </span>a<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _b"> </span>are</span></div><div class="t m0 x6 ha y93 ff4 fs6 fc0 sc0 ls0 ws0">not<span class="_ _f"> </span>visible<span class="_ _f"> </span>outside<span class="_ _f"> </span>the<span class="_ _f"> </span>mo<span class="_ _c"></span>dule</div><div class="t m0 xf ha y94 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Decla<span class="_ _7"></span>rations<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span><span class="ffc">imp<span class="_ _c"></span>o<span class="_ _7"></span>rting<span class="_ _11"> </span><span class="ff4">translation<span class="_ _f"> </span>unit<span class="_ _f"> </span>do<span class="_ _f"> </span>not<span class="_ _f"> </span>participate<span class="_ _b"> </span>in<span class="_ _f"> </span>overload</span></span></span></div><div class="t m0 x6 ha y95 ff4 fs6 fc0 sc0 ls0 ws0">resolution<span class="_ _f"> </span>o<span class="_ _7"></span>r<span class="_ _f"> </span>name<span class="_ _f"> </span>lo<span class="_ _c"></span>okup<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span><span class="ffc">imp<span class="_ _c"></span>o<span class="_ _7"></span>rted<span class="_ _11"> </span><span class="ff4">mo<span class="_ _c"></span>dule</span></span></div><div class="t m0 x1 ha y96 ff4 fs6 fc0 sc0 ls0 ws0">Other<span class="_ _f"> </span>b<span class="_ _c"></span>enefits:</div><div class="t m0 xf ha y97 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff1">(Much)<span class="_ _8"> </span>Faster<span class="_ _f"> </span>compile<span class="_ _9"> </span>time<span class="ff4">.<span class="_ _11"> </span>After<span class="_ _f"> </span>a<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _f"> </span>is<span class="_ _f"> </span>compiled<span class="_ _f"> </span>once,<span class="_ _f"> </span>the<span class="_ _f"> </span>results<span class="_ _f"> </span>are</span></span></div><div class="t m0 x6 ha y98 ff4 fs6 fc0 sc0 ls0 ws0">sto<span class="_ _7"></span>red<span class="_ _f"> </span>in<span class="_ _f"> </span>a<span class="_ _f"> </span>bina<span class="_ _7"></span>ry<span class="_ _f"> </span>file<span class="_ _f"> </span>that<span class="_ _f"> </span>describ<span class="_ _c"></span>es<span class="_ _f"> </span>all<span class="_ _f"> </span>the<span class="_ _f"> </span>exp<span class="_ _c"></span>o<span class="_ _7"></span>rted<span class="_ _f"> </span>t<span class="_ _7"></span>yp<span class="_ _c"></span>es,<span class="_ _f"> </span>functions,<span class="_ _f"> </span>and</div><div class="t m0 x6 ha y99 ff4 fs6 fc0 sc0 ls0 ws0">templates</div><div class="t m0 xf ha y9a ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff1">Smaller<span class="_ _8"> </span>binary<span class="_ _f"> </span>size<span class="ff4">.<span class="_ _d"> </span>Allo<span class="_ _19"></span>w<span class="_ _f"> </span>to<span class="_ _f"> </span>incorporate<span class="_ _b"> </span>only<span class="_ _f"> </span>the<span class="_ _f"> </span>imp<span class="_ _c"></span>orted<span class="_ _b"> </span>co<span class="_ _c"></span>de<span class="_ _f"> </span>and<span class="_ _f"> </span>not<span class="_ _f"> </span>the</span></span></div><div class="t m0 x6 ha y9b ff4 fs6 fc0 sc0 ls0 ws0">whole<span class="_ _1e"> </span><span class="ffe">#include</span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">15/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf13" class="pf w0 h0" data-page-no="13"><div class="pc pc13 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIX0lEQVR42u3YsQnCQBiG4TvJkdIZQionELEW3CxLZJwUGSIbWKX0mrMQsoI/8jwjfNXLl8frPQEAQBjbupysAABANCIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIBDrrVaAQCAOEopnlQAAMIRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQTAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqSYAAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEA+B/dPg1WgJ97PWYjAMDX5fbM+dy3/Z1Sa80gAACE8AHFshQEnKSJdwAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">References</div><div class="t m0 xf ha y9c ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffe">A<span class="_ _4"> </span>Practical<span class="_ _5"> </span>Introduction<span class="_ _4"> </span>to<span class="_ _4"> </span>C++20s<span class="_ _4"> </span>Modules<span class="_ _13"> </span><span class="fff fs8"></span></span></div><div class="t m0 xf ha y9d ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffe">Modules<span class="_ _4"> </span>the<span class="_ _5"> </span>beginners<span class="_ _4"> </span>guide<span class="_ _13"> </span><span class="fff fs8"></span></span></div><div class="t m0 xf ha y9e ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffe">Understanding<span class="_ _4"> </span>C++<span class="_ _5"> </span>Modules<span class="_ _b"> </span><span class="fff fs8"></span></span></div><div class="t m0 xf ha y9f ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffe">Overview<span class="_ _4"> </span>of<span class="_ _5"> </span>modules<span class="_ _4"> </span>in<span class="_ _4"> </span>C++<span class="_ _13"> </span><span class="fff fs8"></span></span></div><div class="t m0 xf ha ya0 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffe">Are<span class="_ _4"> </span>We<span class="_ _5"> </span>Modules<span class="_ _4"> </span>Yet?<span class="_ _13"> </span><span class="fff fs8"></span></span></div><div class="t m0 x6 ha ya1 ff4 fs6 fc0 sc0 ls0 ws0">T<span class="_ _6"></span>racking<span class="_ _f"> </span><span class="ff5">module<span class="_ _f"> </span></span>adoption<span class="_ _f"> </span>across<span class="_ _f"> </span>the<span class="_ _f"> </span>most<span class="_ _f"> </span>p<span class="_ _c"></span>opular<span class="_ _b"> </span>C++<span class="_ _f"> </span>projects,<span class="_ _b"> </span>compilers,<span class="_ _f"> </span>and</div><div class="t m0 x6 ha ya2 ff4 fs6 fc0 sc0 ls0 ws0">build<span class="_ _f"> </span>systems</div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">16/48</div><a class="l" href="https://accu.org/conf-docs/PDFs_2021/hendrik_niemeyer_a_practical_introduction_to_cpp20_modules.pdf"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:181.811000px;width:257.273000px;height:8.528000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://meetingcpp.com/mcpp/slides/2019/modules-the-beginners-guide-meetingcpp2019.pdf"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:155.835000px;width:171.364000px;height:10.952000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://vector-of-bool.github.io/2019/03/10/modules-1.html"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:132.284000px;width:154.182000px;height:10.951000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://learn.microsoft.com/en-us/cpp/cpp/modules-cpp?view=msvc-170"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:111.156000px;width:159.909000px;height:8.528000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://arewemodulesyet.org/"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:87.605000px;width:119.819000px;height:8.527000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf14" class="pf w0 h0" data-page-no="14"><div class="pc pc14 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _6"></span>erminology</div><div class="t m0 x1 ha ya3 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">mo<span class="_ _c"></span>dule<span class="_ _f"> </span></span>consists<span class="_ _f"> </span>of<span class="_ _f"> </span>one<span class="_ _f"> </span>o<span class="_ _7"></span>r<span class="_ _f"> </span>mo<span class="_ _7"></span>re<span class="_ _f"> </span><span class="ff1">mo<span class="_ _c"></span>dule<span class="_ _8"> </span>units</span></div><div class="t m0 x1 ha ya4 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">mo<span class="_ _c"></span>dule<span class="_ _8"> </span>unit<span class="_ _f"> </span></span>is<span class="_ _f"> </span>a<span class="_ _f"> </span><span class="ffc">translation<span class="_ _f"> </span>unit<span class="_ _11"> </span></span>that<span class="_ _b"> </span>contains<span class="_ _f"> </span>a<span class="_ _1e"> </span><span class="ff5">module<span class="_ _1e"> </span></span>decla<span class="_ _7"></span>ration</div><div class="t m0 x1 hc ya5 ff5 fs7 fc6 sc0 ls0 ws0">module<span class="_ _11"> </span><span class="ff8 fc0">my.</span>module<span class="ff8 fc0">.example;</span></div><div class="t m0 x1 ha ya6 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">mo<span class="_ _c"></span>dule<span class="_ _8"> </span>name<span class="_ _f"> </span></span>is<span class="_ _f"> </span>a<span class="_ _f"> </span>concatenation<span class="_ _f"> </span>of<span class="_ _f"> </span><span class="ffc">identifiers<span class="_ _11"> </span></span>joined<span class="_ _b"> </span>by<span class="_ _f"> </span>dots<span class="_ _f"> </span>(the<span class="_ _f"> </span>dot<span class="_ _f"> </span>ca<span class="_ _19"></span>rries<span class="_ _f"> </span>no</div><div class="t m0 x1 ha ya7 ff4 fs6 fc0 sc0 ls0 ws0">meaning)<span class="_ _1e"> </span><span class="ffe">my.module.example</span></div><div class="t m0 x1 ha ya8 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">mo<span class="_ _c"></span>dule<span class="_ _8"> </span>unit<span class="_ _8"> </span>purview<span class="_ _f"> </span></span>is<span class="_ _f"> </span>the<span class="_ _8"> </span>content<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>translation<span class="_ _f"> </span>unit</div><div class="t m0 x1 ha ya9 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">mo<span class="_ _c"></span>dule<span class="_ _8"> </span>purview<span class="_ _f"> </span></span>is<span class="_ _f"> </span>the<span class="_ _f"> </span>set<span class="_ _f"> </span>of<span class="_ _11"> </span><span class="ff1">purviews<span class="_ _b"> </span></span>of<span class="_ _f"> </span>a<span class="_ _f"> </span>given<span class="_ _f"> </span><span class="ffc">mo<span class="_ _c"></span>dule<span class="_ _f"> </span>name</span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">17/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf15" class="pf w0 h0" data-page-no="15"><div class="pc pc15 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Visibilit<span class="_ _19"></span>y<span class="_ _11"> </span>and<span class="_ _9"> </span>Reachabilit<span class="_ _19"></span>y</div><div class="t m0 x1 ha yaa ff1 fs6 fc0 sc0 ls0 ws0">Visibilit<span class="_ _7"></span>y<span class="_ _f"> </span><span class="ff4">of<span class="_ _9"> </span></span>names<span class="_ _f"> </span><span class="ff4">instructs<span class="_ _f"> </span>the<span class="_ _f"> </span>linker<span class="_ _b"> </span>if<span class="_ _f"> </span>a<span class="_ _f"> </span>symb<span class="_ _c"></span>ol<span class="_ _f"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>used<span class="_ _f"> </span>by<span class="_ _b"> </span>another<span class="_ _f"> </span>translation</span></div><div class="t m0 x1 ha yab ff4 fs6 fc0 sc0 ls0 ws0">unit.<span class="_ _11"> </span><span class="ffc">Visible<span class="_ _9"> </span></span>also<span class="_ _f"> </span>means<span class="_ _f"> </span><span class="ffc">a<span class="_ _f"> </span>candidate<span class="_ _f"> </span>for<span class="_ _b"> </span>name<span class="_ _f"> </span>lo<span class="_ _c"></span>okup</span></div><div class="t m0 x1 ha yac ff1 fs6 fc0 sc0 ls0 ws0">Reachable<span class="_ _f"> </span><span class="ff4">of<span class="_ _9"> </span></span>declarations<span class="_ _b"> </span><span class="ff4">means<span class="_ _f"> </span>that<span class="_ _f"> </span>the<span class="_ _f"> </span>semantic<span class="_ _f"> </span>properties<span class="_ _f"> </span>of<span class="_ _f"> </span>an<span class="_ _f"> </span>entity<span class="_ _b"> </span>are</span></div><div class="t m0 x1 ha yad ff4 fs6 fc0 sc0 ls0 ws0">available</div><div class="t m0 xf ha yae ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Each<span class="_ _f"> </span><span class="ffc">visible<span class="_ _9"> </span></span>decla<span class="_ _7"></span>ration<span class="_ _f"> </span>is<span class="_ _f"> </span>also<span class="_ _f"> </span><span class="ffc">reachable</span></span></div><div class="t m0 xf ha yaf ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Not<span class="_ _f"> </span>all<span class="_ _f"> </span><span class="ffc">reachable<span class="_ _9"> </span></span>decla<span class="_ _7"></span>rations<span class="_ _f"> </span>a<span class="_ _7"></span>re<span class="_ _f"> </span>also<span class="_ _f"> </span><span class="ffc">visible</span></span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">18/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf16" class="pf w0 h0" data-page-no="16"><div class="pc pc16 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Reachabilit<span class="_ _19"></span>y<span class="_ _11"> </span>Example</div><div class="t m0 x1 ha y27 ffc fs6 fc0 sc0 ls0 ws0">Common<span class="_ _b"> </span>example<span class="_ _0"></span><span class="ff4">:<span class="_ _11"> </span>the<span class="_ _f"> </span>memb<span class="_ _c"></span>ers<span class="_ _f"> </span>of<span class="_ _b"> </span>a<span class="_ _f"> </span>class<span class="_ _f"> </span>a<span class="_ _7"></span>re<span class="_ _f"> </span>reachable<span class="_ _b"> </span>(i.e.<span class="_ _d"> </span>can<span class="_ _b"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>used)<span class="_ _f"> </span>o<span class="_ _19"></span>r<span class="_ _f"> </span>the<span class="_ _f"> </span>class</span></div><div class="t m0 x1 ha y28 ff4 fs6 fc0 sc0 ls0 ws0">size<span class="_ _f"> </span>is<span class="_ _f"> </span>kno<span class="_ _7"></span>wn,<span class="_ _f"> </span>but<span class="_ _f"> </span>not<span class="_ _f"> </span>the<span class="_ _f"> </span>class<span class="_ _f"> </span>t<span class="_ _7"></span>yp<span class="_ _c"></span>e<span class="_ _f"> </span>itself</div><div class="t m0 x1 hc y44 ff5 fs7 fc6 sc0 ls0 ws0">auto<span class="_ _11"> </span><span class="ff8 fc0">g()<span class="_"> </span>{</span></div><div class="t m0 xc hc yb0 ff5 fs7 fc6 sc0 ls0 ws0">struct<span class="_ _11"> </span><span class="fc7">A<span class="_ _11"> </span><span class="ff8 fc0">{</span></span></div><div class="t m0 x14 hc y45 ff5 fs7 fc8 sc0 ls0 ws0">void<span class="_ _11"> </span><span class="ff8 fc7">f<span class="fc0">()<span class="_"> </span>{}</span></span></div><div class="t m0 xc hc yb1 ff8 fs7 fc0 sc0 ls0 ws0">};</div><div class="t m0 xc hc y46 ff5 fs7 fc6 sc0 ls0 ws0">return<span class="_ _11"> </span><span class="ff8 fc0">A{};</span></div><div class="t m0 x1 hc y47 ff8 fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hc y48 ff7 fs7 fc4 sc0 ls0 ws0">//---------------------------------------------------------------------------------</div><div class="t m0 x1 hc y4a ff5 fs7 fc6 sc0 ls0 ws0">auto<span class="_ _11"> </span><span class="ff8 fc0">x<span class="_"> </span><span class="fc9">=<span class="_"> </span></span>g();<span class="_ _1f"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>ok</span></span></div><div class="t m0 x1 hc y4b ff7 fs7 fc4 sc0 ls0 ws0">//<span class="_ _11"> </span>A<span class="_ _11"> </span>y<span class="_ _11"> </span>=<span class="_ _11"> </span>g();<span class="_ _1f"> </span>//<span class="_ _11"> </span>compile<span class="_ _11"> </span>error,<span class="_ _11"> </span>&quot;A&quot;<span class="_ _11"> </span>is<span class="_ _11"> </span>unknown<span class="_ _11"> </span>at<span class="_ _11"> </span>this<span class="_ _11"> </span>point</div><div class="t m0 x1 hc yb2 ff8 fs7 fc0 sc0 ls0 ws0">x.f();<span class="_ _20"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>ok</span></div><div class="t m0 x1 hc y4c ff5 fs7 fc6 sc0 ls0 ws0">sizeof<span class="ff8 fc0">(x);<span class="_ _21"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>ok</span></span></div><div class="t m0 x1 hc y4d ff5 fs7 fc6 sc0 ls0 ws0">using<span class="_ _11"> </span><span class="ff8 fc0">T<span class="_"> </span><span class="fc9">=<span class="_"> </span></span></span>decltype<span class="ff8 fc0">(x);<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>ok</span></span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">19/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf17" class="pf w0 h0" data-page-no="17"><div class="pc pc17 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Mo<span class="_ _c"></span>dule<span class="_ _9"> </span>Unit<span class="_ _11"> </span>T<span class="_ _3"></span>yp<span class="_ _c"></span>es</div><div class="t m0 xf ha yb3 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">A<span class="_ _f"> </span><span class="ff1">mo<span class="_ _c"></span>dule<span class="_ _8"> </span>interface<span class="_ _8"> </span>unit<span class="_ _8"> </span></span>is<span class="_ _f"> </span>a<span class="_ _f"> </span><span class="ffc">mo<span class="_ _c"></span>dule<span class="_ _f"> </span>unit<span class="_ _9"> </span></span>that<span class="_ _f"> </span>exp<span class="_ _c"></span>orts<span class="_ _b"> </span>a<span class="_ _f"> </span>symb<span class="_ _c"></span>ol<span class="_ _f"> </span>and/or<span class="_ _b"> </span><span class="ffc">mo<span class="_ _c"></span>dule</span></span></div><div class="t m0 x6 ha yb4 ffc fs6 fc0 sc0 ls0 ws0">name<span class="_ _9"> </span><span class="ff4">o<span class="_ _7"></span>r<span class="_ _f"> </span><span class="ffc">mo<span class="_ _c"></span>dule<span class="_ _f"> </span>pa<span class="_ _7"></span>rtition<span class="_ _f"> </span>name</span></span></div><div class="t m0 xf ha yb5 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">A<span class="_ _f"> </span><span class="ff1">p<span class="_ _7"></span>rima<span class="_ _7"></span>ry<span class="_ _8"> </span>mo<span class="_ _c"></span>dule<span class="_ _8"> </span>interface<span class="_ _9"> </span>unit<span class="_ _f"> </span><span class="ff4">is<span class="_ _f"> </span>a<span class="_ _f"> </span><span class="ffc">mo<span class="_ _c"></span>dule<span class="_ _f"> </span>interface<span class="_ _f"> </span>unit<span class="_ _9"> </span></span>that<span class="_ _f"> </span>exp<span class="_ _c"></span>orts<span class="_ _b"> </span>the</span></span></span></div><div class="t m0 x6 ha yb6 ffc fs6 fc0 sc0 ls0 ws0">mo<span class="_ _c"></span>dule<span class="_ _f"> </span>name<span class="ff4">.<span class="_ _11"> </span>There<span class="_ _f"> </span>must<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>one<span class="_ _f"> </span>and<span class="_ _f"> </span>only<span class="_ _f"> </span>one<span class="_ _f"> </span></span>prima<span class="_ _19"></span>ry<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _f"> </span>interface<span class="_ _f"> </span>unit<span class="_ _11"> </span><span class="ff4">in</span></div><div class="t m0 x6 ha yb7 ff4 fs6 fc0 sc0 ls0 ws0">a<span class="_ _f"> </span>mo<span class="_ _c"></span>dule</div><div class="t m0 xf ha yb8 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">A<span class="_ _f"> </span><span class="ff1">mo<span class="_ _c"></span>dule<span class="_ _8"> </span>implementation<span class="_ _8"> </span>unit<span class="_ _8"> </span></span>is<span class="_ _f"> </span>a<span class="_ _f"> </span><span class="ffc">mo<span class="_ _c"></span>dule<span class="_ _f"> </span>unit<span class="_ _9"> </span></span>that<span class="_ _f"> </span>do<span class="_ _c"></span>es<span class="_ _f"> </span>not<span class="_ _f"> </span>exp<span class="_ _c"></span>ort<span class="_ _b"> </span>a<span class="_ _f"> </span><span class="ffc">mo<span class="_ _c"></span>dule</span></span></div><div class="t m0 x6 ha yb9 ffc fs6 fc0 sc0 ls0 ws0">name<span class="_ _9"> </span><span class="ff4">o<span class="_ _7"></span>r<span class="_ _f"> </span><span class="ffc">mo<span class="_ _c"></span>dule<span class="_ _f"> </span>pa<span class="_ _7"></span>rtition<span class="_ _f"> </span>name</span></span></div><div class="t m0 x1 ha yba ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">mo<span class="_ _c"></span>dule<span class="_ _8"> </span>interface<span class="_ _8"> </span>unit<span class="_ _f"> </span></span>should<span class="_ _f"> </span>contain<span class="_ _f"> </span>only<span class="_ _f"> </span>declarations<span class="_ _b"> </span>if<span class="_ _f"> </span>one<span class="_ _8"> </span>o<span class="_ _7"></span>r<span class="_ _f"> </span>mo<span class="_ _7"></span>re<span class="_ _f"> </span><span class="ffc">mo<span class="_ _c"></span>dule</span></div><div class="t m0 x1 ha ybb ffc fs6 fc0 sc0 ls0 ws0">implementation<span class="_ _f"> </span>units<span class="_ _11"> </span><span class="ff4">a<span class="_ _19"></span>re<span class="_ _f"> </span>present.<span class="_ _11"> </span>A<span class="_ _b"> </span><span class="ff1">mo<span class="_ _c"></span>dule<span class="_ _9"> </span>implementation<span class="_ _8"> </span>unit</span></span></div><div class="t m0 x1 ha ybc ff4 fs6 fc0 sc0 ls0 ws0">implements/defines<span class="_ _f"> </span>the<span class="_ _f"> </span>decla<span class="_ _7"></span>rations<span class="_ _f"> </span>of<span class="_ _f"> </span><span class="ffc">mo<span class="_ _c"></span>dule<span class="_ _f"> </span>interface<span class="_ _f"> </span>units</span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">20/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf18" class="pf w0 h0" data-page-no="18"><div class="pc pc18 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Keyw<span class="_ _19"></span>ords</div><div class="t m0 x1 ha y27 ffe fs6 fc7 sc0 ls0 ws0">module<span class="_ _f"> </span><span class="ff4 fc0">sp<span class="_ _c"></span>ecifies<span class="_ _f"> </span>that<span class="_ _f"> </span>the<span class="_ _f"> </span>file<span class="_ _f"> </span>is<span class="_ _f"> </span>a<span class="_ _f"> </span><span class="ffc">named<span class="_ _f"> </span>mo<span class="_ _c"></span>dule</span></span></div><div class="t m0 x1 hc ybd ff5 fs7 fc6 sc0 ls0 ws0">module<span class="_ _11"> </span><span class="ff8 fc0">my.</span>module<span class="ff8 fc0">;<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>first<span class="_ _11"> </span>code<span class="_ _11"> </span>line</span></span></div><div class="t m0 x1 ha ybe ffe fs6 fc7 sc0 ls0 ws0">import<span class="_ _f"> </span><span class="ff4 fc0">mak<span class="_ _7"></span>es<span class="_ _f"> </span>a<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _f"> </span>and<span class="_ _f"> </span>its<span class="_ _f"> </span>symb<span class="_ _c"></span>ols<span class="_ _f"> </span>visible<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>current<span class="_ _f"> </span>file</span></div><div class="t m0 x1 hc ybf ff5 fs7 fc6 sc0 ls0 ws0">import<span class="_ _11"> </span><span class="ff8 fc0">my.</span>module<span class="ff8 fc0">;<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>after<span class="_ _11"> </span>module<span class="_ _11"> </span>declaration<span class="_ _11"> </span>and<span class="_ _11"> </span>#include</span></span></div><div class="t m0 x1 ha yc0 ffe fs6 fc7 sc0 ls0 ws0">export<span class="_ _f"> </span><span class="ff4 fc0">mak<span class="_ _7"></span>es<span class="_ _f"> </span>symb<span class="_ _c"></span>ols<span class="_ _f"> </span>visible<span class="_ _f"> </span>to<span class="_ _f"> </span>the<span class="_ _f"> </span>files<span class="_ _f"> </span>that<span class="_ _f"> </span><span class="ff5">import<span class="_ _f"> </span></span>the<span class="_ _f"> </span>current<span class="_ _f"> </span>mo<span class="_ _c"></span>dule</span></div><div class="t m0 xf ha yc1 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ff5">export<span class="_ _4"> </span>module<span class="_ _5"> </span>&lt;module_name&gt;<span class="_ _1e"> </span><span class="ff4">makes<span class="_ _b"> </span>visible<span class="_ _f"> </span>all<span class="_ _f"> </span>the<span class="_ _f"> </span>exp<span class="_ _c"></span>orted<span class="_ _b"> </span>symb<span class="_ _c"></span>ols<span class="_ _f"> </span>of<span class="_ _f"> </span>a</span></span></div><div class="t m0 x6 ha yc2 ff4 fs6 fc0 sc0 ls0 ws0">mo<span class="_ _c"></span>dule.<span class="_ _11"> </span>It<span class="_ _f"> </span>must<span class="_ _f"> </span>app<span class="_ _c"></span>ear<span class="_ _b"> </span>once<span class="_ _f"> </span>p<span class="_ _c"></span>er<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span><span class="ffc">prima<span class="_ _19"></span>ry<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _f"> </span>interface<span class="_ _f"> </span>unit</span></div><div class="t m0 xf ha yc3 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ff5">export<span class="_ _4"> </span>namespace<span class="_ _5"> </span>&lt;namespace&gt;<span class="_ _1e"> </span><span class="ff4">makes<span class="_ _b"> </span>visible<span class="_ _f"> </span>all<span class="_ _f"> </span>symb<span class="_ _c"></span>ols<span class="_ _f"> </span>in<span class="_ _f"> </span>a<span class="_ _f"> </span>namespace</span></span></div><div class="t m0 xf ha y30 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ff5">export<span class="_ _4"> </span>&lt;entity&gt;<span class="_ _12"> </span><span class="ff4">makes<span class="_ _f"> </span>visible<span class="_ _f"> </span>a<span class="_ _f"> </span>specific<span class="_ _8"> </span>function,<span class="_ _f"> </span>class,<span class="_ _f"> </span>o<span class="_ _7"></span>r<span class="_ _f"> </span>va<span class="_ _7"></span>riable</span></span></div><div class="t m0 xf ha yc4 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ff5">export<span class="_ _4"> </span>{&lt;code&gt;}<span class="_ _12"> </span><span class="ff4">makes<span class="_ _f"> </span>visible<span class="_ _f"> </span>all<span class="_ _f"> </span>symbols<span class="_ _8"> </span>in<span class="_ _f"> </span>a<span class="_ _f"> </span>blo<span class="_ _c"></span>ck</span></span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">21/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf19" class="pf w0 h0" data-page-no="19"><div class="pc pc19 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAItUlEQVR42u3YsU3EQBCGUS/yiGhFDYiIChAiRqIzmqAcAoqgA6LTRkxiMlKkO+Gbhfca8Op38mnazd3DAgAAZby/vV5YAQCAakQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAADfWmZaAQCAOiLCJRUAgHJEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAADsbJ3orWMMPwwA4Di994le65IKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAMDJWmZaAQCAOiLCJRUAgHJEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAADsbDUBsxhj7POh3ru1AeC8XFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAwHm1zLQCAAB1RIRLKgAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAANjZOtFbxxh+GADAcXrvE73WJRUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAgJO1zLQCAAB1RIRLKgAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQD4J9aJ3jrG8MMAgAp670b4VS6pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBgbi0zrQAAQB0R4ZIKAEA5IhUAAJEKAAA/WQ/P11YA/qSPxxcjAMzo9v6ptavL7fC5LNu2GQQAgBK+AKkKK/x8rNbjAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">import<span class="_ _9"> </span><span class="ff1">Example</span></div><div class="t m0 x1 hc yc5 ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>include<span class="_ _12"> </span><span class="fc4">&lt;iostream&gt;</span></div><div class="t m0 x1 hc yc6 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _11"> </span><span class="ff8 fc7">main<span class="fc0">()<span class="_"> </span>{</span></span></div><div class="t m0 xc hc yc7 ff8 fs7 fc0 sc0 ls0 ws0">std<span class="fc9">::</span>cout<span class="_"> </span><span class="fc9">&lt;&lt;<span class="_"> </span><span class="fcd">&quot;Hello<span class="_"> </span>World&quot;</span></span>;</div><div class="t m0 x1 hc yc8 ff8 fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 ha yc9 ff4 fs6 fc0 sc0 ls0 ws0">Prep<span class="_ _7"></span>ro<span class="_ _c"></span>cessing<span class="_ _f"> </span>size<span class="_ _1e"> </span><span class="ffe">-E<span class="_ _13"> </span></span>:<span class="_ _11"> </span><span class="ff10"></span>1MB</div><div class="t m0 x1 hc yca ff5 fs7 fc6 sc0 ls0 ws0">import<span class="_ _11"> </span><span class="ff8 fc9">&lt;<span class="fc0">iostream</span>&gt;<span class="fc0">;</span></span></div><div class="t m0 x1 hc ycb ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _11"> </span><span class="ff8 fc7">main<span class="fc0">()<span class="_"> </span>{</span></span></div><div class="t m0 xc hc ycc ff8 fs7 fc0 sc0 ls0 ws0">std<span class="fc9">::</span>cout<span class="_"> </span><span class="fc9">&lt;&lt;<span class="_"> </span><span class="fcd">&quot;Hello<span class="_"> </span>World&quot;</span></span>;</div><div class="t m0 x1 hc ycd ff8 fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 ha yce ff4 fs6 fc0 sc0 ls0 ws0">Prep<span class="_ _7"></span>ro<span class="_ _c"></span>cessing<span class="_ _f"> </span>size:<span class="_ _11"> </span>236B<span class="_ _f"> </span>(x500)</div><div class="t m0 x1 ha ycf ff4 fs6 fc0 sc0 ls0 ws0">Compile<span class="_ _f"> </span>time:<span class="_ _11"> </span>2x<span class="_ _f"> </span>(up<span class="_ _f"> </span>to<span class="_ _f"> </span>10x)<span class="_ _f"> </span>less</div><div class="t m0 x9 h10 yd0 ffe fs4 fc0 sc0 ls0 ws0">g++-12<span class="_ _d"> </span>-std=c++20<span class="_ _d"> </span>-fmodules-ts<span class="_ _5"> </span>main.cpp<span class="_ _d"> </span>-x<span class="_ _5"> </span>c++-system-header<span class="_ _d"> </span>iostream</div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">22/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1a" class="pf w0 h0" data-page-no="1a"><div class="pc pc1a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIdklEQVR42u3YsQ3CMBRFURvFooqYAVExAULUSGzGEoxDwRBsQBWlwo3pUOo0/KBzJrCem6ufd4dTAgCAMJ6P+8oKAABEI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAPjKtVYrAAAQRynFJRUAgHBEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAMBEt6C3juPowwAA5un7fkGvdUkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkmgAAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAD+U661WgEAgDhKKS6pAACEI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAADM1w3XrRUApl7nmxEAfmh/vOS8WbfhnVJrzSAAAITwARsbGgIIWC+aAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">export<span class="_ _9"> </span><span class="ff1">Example<span class="_ _11"> </span>-<span class="_ _9"> </span>Single<span class="_ _9"> </span>Prima<span class="_ _7"></span>ry<span class="_ _9"> </span>Mo<span class="_ _c"></span>dule<span class="_ _11"> </span>Interface<span class="_ _9"> </span>Unit</span></div><div class="t m0 x1 hc y34 ff8 fs7 fc0 sc0 ls0 ws0">my_module.cpp</div><div class="t m0 x1 hc yd1 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span>module<span class="_ _11"> </span><span class="ff8 fc0">my.example;<span class="_ _22"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>make<span class="_ _11"> </span>visible<span class="_ _11"> </span>all<span class="_ _11"> </span>module<span class="_ _11"> </span>symbols</span></span></div><div class="t m0 x1 hc yd2 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span><span class="fc8">int<span class="_ _11"> </span><span class="ff8 fc7">f1<span class="fc0">()<span class="_"> </span>{<span class="_"> </span></span></span></span>return<span class="_ _11"> </span><span class="ff8 fc9">3<span class="fc0">;<span class="_"> </span>}<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>export<span class="_ _11"> </span>function</span></span></span></div><div class="t m0 x1 hc yd3 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span>namespace<span class="_ _11"> </span><span class="fc7">my_ns<span class="_ _11"> </span><span class="ff8 fc0">{<span class="_ _22"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>export<span class="_ _11"> </span>namespace<span class="_ _11"> </span>and<span class="_ _11"> </span>its<span class="_ _11"> </span>content</span></span></span></div><div class="t m0 x1 hc yd4 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _11"> </span><span class="ff8 fc7">f2<span class="fc0">()<span class="_"> </span>{<span class="_"> </span></span></span><span class="fc6">return<span class="_ _11"> </span><span class="ff8 fc9">5<span class="fc0">;<span class="_"> </span>}</span></span></span></div><div class="t m0 x1 hc yd5 ff8 fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hc yd6 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span><span class="ff8 fc0">{<span class="_ _23"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>export<span class="_ _11"> </span>code<span class="_ _11"> </span>block</span></span></div><div class="t m0 x1 hc yd7 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _11"> </span><span class="ff8 fc7">f3<span class="fc0">()<span class="_"> </span>{<span class="_"> </span></span></span><span class="fc6">return<span class="_ _11"> </span><span class="ff8 fc9">2<span class="fc0">;<span class="_"> </span>}</span></span></span></div><div class="t m0 x1 hc yd8 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _11"> </span><span class="ff8 fc7">f4<span class="fc0">()<span class="_"> </span>{<span class="_"> </span></span></span><span class="fc6">return<span class="_ _11"> </span><span class="ff8 fc9">8<span class="fc0">;<span class="_"> </span>}</span></span></span></div><div class="t m0 x1 hc yd9 ff8 fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hc yda ff5 fs7 fc8 sc0 ls0 ws0">void<span class="_ _11"> </span><span class="ff8 fc0">internal()<span class="_"> </span>{}<span class="_ _24"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>NOT<span class="_ _11"> </span>exported.<span class="_ _11"> </span>It<span class="_ _11"> </span>can<span class="_ _11"> </span>be<span class="_ _11"> </span>used<span class="_ _11"> </span>only<span class="_ _11"> </span>internally</span></span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">23/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1b" class="pf w0 h0" data-page-no="1b"><div class="pc pc1b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIj0lEQVR42u3YsUlEQRSG0TfyLkaDNSxGViBiLGxnNrHlbGARdmC0TORNnpkIJroa3GHPqWD4J/m47fb+cQEAgDJeX45XVgAAoBqRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgDAp5aZVgAAoI6IcEkFAKAckQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAADwxTrRW8cYPgwA4Dy994le65IKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAA/1DLTCgAA1BERLqkAAJQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAH5hneitYwwfBgBwnt77RK91SQUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKSaAAAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAwDctM60AAEAdEeGSCgBAOSIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAXLb19LyzAsC/eHs6GAHg7+4e9q3dXG+n92XZts0gAACU8AH7+iAA7UgBSgAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">export<span class="_ _9"> </span><span class="ff1">Example<span class="_ _11"> </span>-<span class="_ _9"> </span>T<span class="_ _3"></span>wo<span class="_ _9"> </span>Mo<span class="_ _c"></span>dule<span class="_ _9"> </span>Interface<span class="_ _11"> </span>Units</span></div><div class="t m0 x1 hf y34 ff8 fs7 fc0 sc0 ls0 ws0">my_module1.cpp<span class="_ _13"> </span><span class="ffd">Primary<span class="_ _13"> </span>Module<span class="_ _b"> </span>Interface<span class="_ _13"> </span>Unit</span></div><div class="t m0 x1 hc yd1 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span>module<span class="_ _11"> </span><span class="ff8 fc0">my.example;<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>This<span class="_ _11"> </span>is<span class="_ _11"> </span>the<span class="_ _11"> </span>only<span class="_ _11"> </span>file<span class="_ _11"> </span>that<span class="_ _11"> </span>exports<span class="_ _11"> </span>all<span class="_ _11"> </span>module<span class="_ _11"> </span>symbols</span></span></div><div class="t m0 x1 hc yd2 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span><span class="fc8">int<span class="_ _11"> </span><span class="ff8 fc7">f1<span class="fc0">()<span class="_"> </span>{<span class="_"> </span></span></span></span>return<span class="_ _11"> </span><span class="ff8 fc9">3<span class="fc0">;<span class="_"> </span>}<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>export<span class="_ _11"> </span>function</span></span></span></div><div class="t m0 x1 hf ydb ff8 fs7 fc0 sc0 ls0 ws0">my_module2.cpp<span class="_ _13"> </span><span class="ffd">Mo<span class="_ _c"></span>dule<span class="_ _13"> </span>Interface<span class="_ _13"> </span>Unit</span></div><div class="t m0 x1 hc ydc ff5 fs7 fc6 sc0 ls0 ws0">module<span class="_ _11"> </span><span class="ff8 fc0">my.example;<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>Module<span class="_ _11"> </span>declaration<span class="_ _11"> </span>but<span class="_ _11"> </span>symbols<span class="_ _11"> </span>are<span class="_ _11"> </span>not<span class="_ _11"> </span>exported</span></span></div><div class="t m0 x1 hc ydd ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span>namespace<span class="_ _11"> </span><span class="fc7">my_ns<span class="_ _11"> </span><span class="ff8 fc0">{<span class="_ _22"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>export<span class="_ _11"> </span>namespace</span></span></span></div><div class="t m0 x1 hc yde ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _11"> </span><span class="ff8 fc7">f2<span class="fc0">()<span class="_"> </span>{<span class="_"> </span></span></span><span class="fc6">return<span class="_ _11"> </span><span class="ff8 fc9">5<span class="fc0">;<span class="_"> </span>}</span></span></span></div><div class="t m0 x1 hc ydf ff8 fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hc ye0 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span><span class="ff8 fc0">{<span class="_ _23"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>export<span class="_ _11"> </span>code<span class="_ _11"> </span>block7</span></span></div><div class="t m0 x1 hc ye1 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _11"> </span><span class="ff8 fc7">f3<span class="fc0">()<span class="_"> </span>{<span class="_"> </span></span></span><span class="fc6">return<span class="_ _11"> </span><span class="ff8 fc9">2<span class="fc0">;<span class="_"> </span>}</span></span></span></div><div class="t m0 x1 hc ye2 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _11"> </span><span class="ff8 fc7">f4<span class="fc0">()<span class="_"> </span>{<span class="_"> </span></span></span><span class="fc6">return<span class="_ _11"> </span><span class="ff8 fc9">8<span class="fc0">;<span class="_"> </span>}</span></span></span></div><div class="t m0 x1 hc ye3 ff8 fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">24/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1c" class="pf w0 h0" data-page-no="1c"><div class="pc pc1c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIjklEQVR42u3YsU0DQRCG0Vt0I6KVa7CIqAAhYiR35iZcjgMXQQdE1kZMcs4sp5iAOfm9Clb/Jp+mvbx9TAAAUMbX6fhkBQAAqhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAABctcy0AgAAdUSESyoAAOWIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIAb84reOsbwYQAA9+m9r+i1LqkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUEwAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAHhYLTOtAABAHRHhkgoAQDkiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEA4BfmFb11jOHDAADu03tf0WtdUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAA+LOWmVYAAKCOiHBJBQCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAHtt83m+tAPCPvj8PRgC49fq+a23zvJx/pmlZFoMAAFDCBfpVIAAfYZsiAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">export<span class="_ _9"> </span><span class="ff1">Example<span class="_ _11"> </span>-<span class="_ _9"> </span>Mo<span class="_ _c"></span>dule<span class="_ _9"> </span>Interface<span class="_ _11"> </span>and<span class="_ _9"> </span>Implementation<span class="_ _9"> </span>Units</span></div><div class="t m0 x1 hf y34 ff8 fs7 fc0 sc0 ls0 ws0">my_module1.cpp<span class="_ _13"> </span><span class="ffd">Primary<span class="_ _13"> </span>Module<span class="_ _b"> </span>Interface<span class="_ _13"> </span>Unit</span></div><div class="t m0 x1 hc yd1 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span>module<span class="_ _11"> </span><span class="ff8 fc0">my.example;<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>This<span class="_ _11"> </span>is<span class="_ _11"> </span>the<span class="_ _11"> </span>only<span class="_ _11"> </span>file<span class="_ _11"> </span>that<span class="_ _11"> </span>exports<span class="_ _11"> </span>all<span class="_ _11"> </span>module<span class="_ _11"> </span>symbols</span></span></div><div class="t m0 x1 hc yd2 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span><span class="fc8">int<span class="_ _11"> </span><span class="ff8 fc7">f1<span class="fc0">();<span class="_ _25"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>export<span class="_ _11"> </span>function</span></span></span></span></div><div class="t m0 x1 hc yd3 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span><span class="ff8 fc0">{<span class="_ _20"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>export<span class="_ _11"> </span>code<span class="_ _11"> </span>block</span></span></div><div class="t m0 x1 hc yd4 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _11"> </span><span class="ff8 fc7">f3<span class="fc0">();</span></span></div><div class="t m0 x1 hc yd5 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _11"> </span><span class="ff8 fc7">f4<span class="fc0">();</span></span></div><div class="t m0 x1 hc ye4 ff8 fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 hf ye5 ff8 fs7 fc0 sc0 ls0 ws0">my_module2.cpp<span class="_ _13"> </span><span class="ffd">Mo<span class="_ _c"></span>dule<span class="_ _13"> </span>Implementation<span class="_ _13"> </span>Unit</span></div><div class="t m0 x1 hc ye6 ff5 fs7 fc6 sc0 ls0 ws0">module<span class="_ _11"> </span><span class="ff8 fc0">my.example;<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>Module<span class="_ _11"> </span>declaration<span class="_ _11"> </span>but<span class="_ _11"> </span>symbols<span class="_ _11"> </span>are<span class="_ _11"> </span>not<span class="_ _11"> </span>exported</span></span></div><div class="t m0 x1 hc ye1 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _11"> </span><span class="ff8 fc7">f1<span class="fc0">()<span class="_"> </span>{<span class="_"> </span></span></span><span class="fc6">return<span class="_ _11"> </span><span class="ff8 fc9">3<span class="fc0">;<span class="_"> </span>}</span></span></span></div><div class="t m0 x1 hc ye2 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _11"> </span><span class="ff8 fc7">f3<span class="fc0">()<span class="_"> </span>{<span class="_"> </span></span></span><span class="fc6">return<span class="_ _11"> </span><span class="ff8 fc9">2<span class="fc0">;<span class="_"> </span>}</span></span></span></div><div class="t m0 x1 hc ye3 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _11"> </span><span class="ff8 fc7">f4<span class="fc0">()<span class="_"> </span>{<span class="_"> </span></span></span><span class="fc6">return<span class="_ _11"> </span><span class="ff8 fc9">8<span class="fc0">;<span class="_"> </span>}</span></span></span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">25/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1d" class="pf w0 h0" data-page-no="1d"><div class="pc pc1d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Keyw<span class="_ _19"></span>ord<span class="_ _9"> </span>Notes</div><div class="t m0 x1 h11 y27 ff11 fs2 fc7 sc0 ls0 ws0">import</div><div class="t m0 xf ha y91 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">A<span class="_ _f"> </span><span class="ff1">mo<span class="_ _c"></span>dule<span class="_ _8"> </span>implementation<span class="_ _8"> </span>unit<span class="_ _8"> </span></span>can<span class="_ _1e"> </span><span class="ff5">import<span class="_ _1e"> </span></span>another<span class="_ _b"> </span>mo<span class="_ _c"></span>dule,<span class="_ _f"> </span>but<span class="_ _f"> </span>cannot</span></div><div class="t m0 xe ha y92 ff5 fs6 fc0 sc0 ls0 ws0">export<span class="_ _1e"> </span><span class="ff4">any<span class="_ _b"> </span>names.<span class="_ _11"> </span>Symb<span class="_ _c"></span>ols<span class="_ _f"> </span>of<span class="_ _b"> </span>the<span class="_ _f"> </span><span class="ffc">mo<span class="_ _c"></span>dule<span class="_ _b"> </span>interface<span class="_ _f"> </span>unit<span class="_ _9"> </span></span>are<span class="_ _b"> </span>imp<span class="_ _c"></span>orted<span class="_ _b"> </span>implicitly</span></div><div class="t m0 xf ha ye7 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">All<span class="_ _1e"> </span><span class="ff5">import<span class="_ _1e"> </span></span>must<span class="_ _b"> </span>app<span class="_ _c"></span>ear<span class="_ _b"> </span>b<span class="_ _c"></span>efore<span class="_ _b"> </span>any<span class="_ _f"> </span>declarations<span class="_ _b"> </span>in<span class="_ _f"> </span>that<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _f"> </span>unit<span class="_ _f"> </span>and<span class="_ _f"> </span>after</span></div><div class="t m0 xe ha ye8 ff5 fs6 fc0 sc0 ls0 ws0">module;<span class="_ _1e"> </span><span class="ff4">a<span class="_ _13"> </span></span>export<span class="_ _5"> </span>module<span class="_ _1e"> </span><span class="ff4">(if<span class="_ _f"> </span>present)</span></div><div class="t m0 x1 h11 ye9 ff11 fs2 fc7 sc0 ls0 ws0">export</div><div class="t m0 xf ha yea ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Symb<span class="_ _c"></span>ols<span class="_ _f"> </span>with<span class="_ _f"> </span><span class="ffc">internal<span class="_ _f"> </span>linkage<span class="_ _9"> </span></span>o<span class="_ _7"></span>r<span class="_ _f"> </span><span class="ffc">no<span class="_ _f"> </span>linkage<span class="_ _9"> </span></span>cannot<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>exp<span class="_ _c"></span>o<span class="_ _7"></span>rted,<span class="_ _f"> </span>i.e.<span class="_ _11"> </span>anonymous</span></div><div class="t m0 x6 ha yeb ff4 fs6 fc0 sc0 ls0 ws0">namespaces<span class="_ _f"> </span>and<span class="_ _1e"> </span><span class="ffe">static<span class="_ _1e"> </span></span>entities</div><div class="t m0 xf ha yec ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">The<span class="_ _1e"> </span><span class="ff5">export<span class="_ _1e"> </span></span>k<span class="_ _19"></span>eywo<span class="_ _19"></span>rd<span class="_ _f"> </span>is<span class="_ _f"> </span>used<span class="_ _f"> </span>in<span class="_ _f"> </span><span class="ff1">mo<span class="_ _c"></span>dule<span class="_ _8"> </span>interface<span class="_ _9"> </span>units<span class="_ _f"> </span></span>only</span></div><div class="t m0 xf ha yed ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">The<span class="_ _f"> </span>semantic<span class="_ _f"> </span>p<span class="_ _7"></span>rop<span class="_ _c"></span>erties<span class="_ _f"> </span>asso<span class="_ _c"></span>ciated<span class="_ _f"> </span>to<span class="_ _f"> </span><span class="ff1">exp<span class="_ _c"></span>o<span class="_ _7"></span>rted<span class="_ _f"> </span><span class="ff4">symb<span class="_ _c"></span>ols<span class="_ _f"> </span>b<span class="_ _c"></span>ecome<span class="_ _f"> </span><span class="ffc">reachable</span></span></span></span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">26/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1e" class="pf w0 h0" data-page-no="1e"><div class="pc pc1e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">export<span class="_ _12"> </span>import<span class="_ _9"> </span><span class="ff1">Declaration</span></div><div class="t m0 x1 ha yee ffc fs6 fc0 sc0 ls0 ws0">Imp<span class="_ _c"></span>o<span class="_ _7"></span>rted<span class="_ _f"> </span>mo<span class="_ _c"></span>dules<span class="_ _9"> </span><span class="ff4">can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>directly<span class="_ _8"> </span><span class="ff1">re-exp<span class="_ _c"></span>orted</span></span></div><div class="t m0 x1 hc yef ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span>module<span class="_ _11"> </span><span class="ff8 fc0">main_module;<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>Top-level<span class="_ _11"> </span>primary<span class="_ _11"> </span>module<span class="_ _11"> </span>interface<span class="_ _11"> </span>unit</span></span></div><div class="t m0 x1 hc yf0 ff5 fs7 fc6 sc0 ls0 ws0"><span class="fce sc0">export</span><span class="_ _11"> </span><span class="fce sc0">import</span><span class="_ _11"> </span><span class="ff8 fc0"><span class="fce sc0">sub_module;</span><span class="_ _2"> </span><span class="ff7 fc4"><span class="fce sc0">//</span><span class="_ _11"> </span><span class="fce sc0">import</span><span class="_ _11"> </span><span class="fce sc0">and</span><span class="_ _11"> </span><span class="fce sc0">re-export</span><span class="_ _11"> </span><span class="fce sc0">&quot;sub_module&quot;</span></span></span></div><div class="t m0 x1 hc yf1 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span>module<span class="_ _11"> </span><span class="ff8 fc0">sub_module;<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>Primary<span class="_ _11"> </span>module<span class="_ _11"> </span>interface<span class="_ _11"> </span>unit</span></span></div><div class="t m0 x1 hc yf2 ff5 fs7 fc6 sc0 ls0 ws0"><span class="fce sc0">export</span><span class="_ _11"> </span><span class="fc8"><span class="fce sc0">void</span><span class="_ _11"> </span><span class="ff8 fc7"><span class="fce sc0">f</span><span class="fc0"><span class="fce sc0">()</span><span class="_"> </span><span class="fce sc0">{}</span></span></span></span></div><div class="t m0 x1 hc yf3 ff5 fs7 fc6 sc0 ls0 ws0">import<span class="_ _11"> </span><span class="ff8 fc0">main_module;</span></div><div class="t m0 x1 hc yf4 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _11"> </span><span class="ff8 fc7">main<span class="fc0">()<span class="_"> </span>{</span></span></div><div class="t m0 xc hc yf5 ff8 fs7 fc0 sc0 ls0 ws0">f();<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>ok,<span class="_ _11"> </span>f()<span class="_ _11"> </span>is<span class="_ _11"> </span>visible</span></div><div class="t m0 x1 hc yf6 ff8 fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">27/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf1f" class="pf w0 h0" data-page-no="1f"><div class="pc pc1f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Global<span class="_ _9"> </span>Mo<span class="_ _c"></span>dule<span class="_ _11"> </span>F<span class="_ _19"></span>ragment</div><div class="t m0 x1 ha yf7 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">global<span class="_ _8"> </span>mo<span class="_ _c"></span>dule<span class="_ _8"> </span>fragment<span class="_ _f"> </span></span>(<span class="ffc">unnamed<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _0"></span></span>)<span class="_ _f"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>used<span class="_ _f"> </span>to<span class="_ _f"> </span><span class="ffc">include<span class="_ _f"> </span>header<span class="_ _f"> </span>files<span class="_ _11"> </span></span>in</div><div class="t m0 x1 ha yf8 ff4 fs6 fc0 sc0 ls0 ws0">a<span class="_ _f"> </span><span class="ffc">mo<span class="_ _c"></span>dule<span class="_ _f"> </span>interface<span class="_ _9"> </span></span>when<span class="_ _f"> </span>imp<span class="_ _c"></span>o<span class="_ _19"></span>rting<span class="_ _f"> </span>them<span class="_ _f"> </span>is<span class="_ _f"> </span>not<span class="_ _f"> </span>p<span class="_ _c"></span>ossible<span class="_ _f"> </span>or<span class="_ _b"> </span>prep<span class="_ _19"></span>ro<span class="_ _c"></span>cessing<span class="_ _f"> </span>directives<span class="_ _f"> </span>are</div><div class="t m0 x1 ha yf9 ff4 fs6 fc0 sc0 ls0 ws0">needed</div><div class="t m0 x1 hc yfa ff5 fs7 fc6 sc0 ls0 ws0">module<span class="ff8 fc0">;<span class="_ _20"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>start<span class="_ _11"> </span><span class="ff12">Global<span class="_ _11"> </span>Module<span class="_ _11"> </span>Fragment</span></span></span></div><div class="t m0 x1 hc yfb ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>define<span class="_ _11"> </span>ENABLE_FAST_MATH</div><div class="t m0 x1 hc yfc ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>include<span class="_ _12"> </span><span class="fc4">&quot;my_math.h&quot;</span></div><div class="t m0 x1 hc yfd ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span>module<span class="_ _11"> </span><span class="ff8 fc0">my.</span>module<span class="ff8 fc0">;<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>end<span class="_ _11"> </span><span class="ff12">Global<span class="_ _11"> </span>Module<span class="_ _11"> </span>Fragment</span></span></span></div><div class="t m0 x1 ha yfe ff4 fs6 fc0 sc0 ls0 ws0">Macro<span class="_ _f"> </span>definitions<span class="_ _f"> </span>o<span class="_ _7"></span>r<span class="_ _f"> </span>other<span class="_ _f"> </span>p<span class="_ _7"></span>reprocessing<span class="_ _f"> </span>directives<span class="_ _f"> </span>are<span class="_ _b"> </span>not<span class="_ _f"> </span>visible<span class="_ _f"> </span>outside<span class="_ _f"> </span>the<span class="_ _f"> </span>file<span class="_ _f"> </span>itself</div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">28/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf20" class="pf w0 h0" data-page-no="20"><div class="pc pc20 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Private<span class="_ _9"> </span>Mo<span class="_ _c"></span>dule<span class="_ _11"> </span>F<span class="_ _19"></span>ragment</div><div class="t m0 x1 ha y27 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">p<span class="_ _7"></span>rivate<span class="_ _8"> </span>mo<span class="_ _c"></span>dule<span class="_ _8"> </span>fragment<span class="_ _f"> </span><span class="ff4">allows<span class="_ _b"> </span>a<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _f"> </span>to<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>represented<span class="_ _b"> </span>as<span class="_ _f"> </span>a<span class="_ _f"> </span>single<span class="_ _f"> </span>translation</span></span></div><div class="t m0 x1 ha y28 ff4 fs6 fc0 sc0 ls0 ws0">unit<span class="_ _f"> </span>without<span class="_ _f"> </span>making<span class="_ _f"> </span>all<span class="_ _f"> </span>the<span class="_ _f"> </span>contents<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _f"> </span>reachable<span class="_ _f"> </span>to<span class="_ _f"> </span>imp<span class="_ _c"></span>o<span class="_ _7"></span>rters</div><div class="t m0 x1 ha yff ff10 fs6 fc0 sc0 ls0 ws0"><span class="_ _f"> </span><span class="ff4">A<span class="_ _f"> </span>mo<span class="_ _c"></span>dification<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span><span class="ffc">p<span class="_ _7"></span>rivate<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _f"> </span>fragment<span class="_ _9"> </span><span class="ff4">do<span class="_ _c"></span>es<span class="_ _f"> </span>not<span class="_ _f"> </span>cause<span class="_ _f"> </span>recompilation</span></span></span></div><div class="t m0 x1 ha y100 ff4 fs6 fc0 sc0 ls0 ws0">If<span class="_ _f"> </span>a<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _f"> </span>unit<span class="_ _f"> </span>contains<span class="_ _f"> </span>a<span class="_ _f"> </span><span class="ffc">p<span class="_ _7"></span>rivate<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _f"> </span>fragment<span class="ff4">,<span class="_ _f"> </span>it<span class="_ _f"> </span>will<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>the<span class="_ _f"> </span>only<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _f"> </span>unit<span class="_ _f"> </span>of</span></span></div><div class="t m0 x1 ha y101 ff4 fs6 fc0 sc0 ls0 ws0">its<span class="_ _f"> </span>mo<span class="_ _c"></span>dule</div><div class="t m0 x1 hc y102 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span>module<span class="_ _11"> </span><span class="ff8 fc0">my.example;</span></div><div class="t m0 x1 hc y103 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span><span class="fc8">int<span class="_ _11"> </span><span class="ff8 fc7">f<span class="fc0">();</span></span></span></div><div class="t m0 x1 hc y104 ff8 fs7 fcf sc0 ls0 ws0">module<span class="_"> </span><span class="fc0">:<span class="ff5 fc6">private</span>;<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>start<span class="_ _11"> </span>private<span class="_ _11"> </span>module<span class="_ _11"> </span>fragment</span></span></div><div class="t m0 x1 hc y105 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _11"> </span><span class="ff8 fc7">f<span class="fc0">()<span class="_"> </span>{<span class="_ _26"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>definition<span class="_ _11"> </span>not<span class="_ _11"> </span>reachable<span class="_ _11"> </span>from<span class="_ _11"> </span>importers<span class="_ _11"> </span>of<span class="_ _11"> </span>f()</span></span></span></div><div class="t m0 xc hc y106 ff5 fs7 fc6 sc0 ls0 ws0">return<span class="_ _11"> </span><span class="ff8 fc9">42<span class="fc0">;</span></span></div><div class="t m0 x1 hc y107 ff8 fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">29/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf21" class="pf w0 h0" data-page-no="21"><div class="pc pc21 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Header<span class="_ _9"> </span>Mo<span class="_ _c"></span>dule<span class="_ _11"> </span>Unit</div><div class="t m0 x1 ha y108 ffc fs6 fc0 sc0 ls0 ws0">Legacy<span class="_ _f"> </span>headers<span class="_ _11"> </span><span class="ff4">can<span class="_ _b"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>directly<span class="_ _f"> </span>imp<span class="_ _c"></span>orted<span class="_ _b"> </span>with<span class="_ _1e"> </span><span class="ffe">import<span class="_ _1e"> </span></span>instead<span class="_ _b"> </span>of<span class="_ _1e"> </span><span class="ffe">#include</span></span></div><div class="t m0 x1 ha y109 ffc fs6 fc0 sc0 ls0 ws0">All<span class="_ _f"> </span>decla<span class="_ _7"></span>rations<span class="_ _11"> </span><span class="ff4">a<span class="_ _19"></span>re<span class="_ _f"> </span>implicitly<span class="_ _f"> </span><span class="ffc">exp<span class="_ _c"></span>orted<span class="_ _9"> </span></span>and<span class="_ _f"> </span>attached<span class="_ _f"> </span>to<span class="_ _f"> </span>the<span class="_ _f"> </span><span class="ff1">global<span class="_ _9"> </span>mo<span class="_ _c"></span>dule</span></span></div><div class="t m0 x1 ha y10a ff1 fs6 fc0 sc0 ls0 ws0">(fragment)</div><div class="t m0 xf ha y10b ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Macros<span class="_ _f"> </span>from<span class="_ _f"> </span>the<span class="_ _f"> </span>header<span class="_ _f"> </span>a<span class="_ _7"></span>re<span class="_ _f"> </span>available<span class="_ _f"> </span>for<span class="_ _b"> </span>the<span class="_ _f"> </span><span class="ffc">imp<span class="_ _c"></span>orter</span>,<span class="_ _b"> </span>but<span class="_ _f"> </span>macros<span class="_ _f"> </span>defined<span class="_ _f"> </span>in<span class="_ _f"> </span>the</span></div><div class="t m0 x6 ha y10c ffc fs6 fc0 sc0 ls0 ws0">imp<span class="_ _c"></span>o<span class="_ _7"></span>rter<span class="_ _11"> </span><span class="ff4">have<span class="_ _f"> </span>no<span class="_ _f"> </span>effect<span class="_ _f"> </span>on<span class="_ _f"> </span>the<span class="_ _f"> </span></span>imp<span class="_ _c"></span>orted<span class="_ _b"> </span>header</div><div class="t m0 xf ha y10d ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Imp<span class="_ _c"></span>o<span class="_ _7"></span>rting<span class="_ _f"> </span>compiled<span class="_ _f"> </span>decla<span class="_ _7"></span>rations<span class="_ _f"> </span>is<span class="_ _f"> </span>faster<span class="_ _f"> </span>than<span class="_ _1e"> </span><span class="ffe">#include</span></span></div><div class="t m0 x1 ha y10e ff4 fs6 fcc sc0 ls0 ws0">C++23<span class="_ _f"> </span><span class="fc0">will<span class="_ _f"> </span>intro<span class="_ _c"></span>duce<span class="_ _f"> </span>mo<span class="_ _c"></span>dules<span class="_ _f"> </span>fo<span class="_ _7"></span>r<span class="_ _f"> </span>the<span class="_ _f"> </span>standa<span class="_ _7"></span>rd<span class="_ _f"> </span>lib<span class="_ _7"></span>ra<span class="_ _7"></span>ry</span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">30/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf22" class="pf w0 h0" data-page-no="22"><div class="pc pc22 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Mo<span class="_ _c"></span>dule<span class="_ _9"> </span>Pa<span class="_ _19"></span>rtitions<span class="_ _27"> </span>1/2</div><div class="t m0 x1 ha y10f ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ffc">mo<span class="_ _c"></span>dule<span class="_ _9"> </span></span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>o<span class="_ _19"></span>rganized<span class="_ _f"> </span>in<span class="_ _f"> </span><span class="ffc">isolated<span class="_ _11"> </span><span class="ff1">mo<span class="_ _c"></span>dule<span class="_ _9"> </span>pa<span class="_ _19"></span>rtitions</span></span></div><div class="t m0 x1 ha y110 ffc fs6 fc0 sc0 ls0 ws0">Syntax<span class="_ _28"></span><span class="ff4">:</span></div><div class="t m0 x1 hc y111 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span>module<span class="_ _11"> </span><span class="ff8 fc0">module_name<span class="_"> </span><span class="fc9">:<span class="_"> </span></span>partition_name;</span></div><div class="t m0 xf ha y112 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffc">Decla<span class="_ _7"></span>rations<span class="_ _11"> </span><span class="ff4">in<span class="_ _b"> </span>any<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span><span class="ff1">partitions<span class="_ _b"> </span></span>are<span class="_ _b"> </span>visible<span class="_ _f"> </span>within<span class="_ _f"> </span>the<span class="_ _f"> </span>entire<span class="_ _f"> </span>mo<span class="_ _c"></span>dule</span></span></div><div class="t m0 xf ha y113 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Lik<span class="_ _7"></span>e<span class="_ _f"> </span>common<span class="_ _f"> </span>mo<span class="_ _c"></span>dules,<span class="_ _f"> </span>a<span class="_ _f"> </span><span class="ffc">mo<span class="_ _c"></span>dule<span class="_ _f"> </span>pa<span class="_ _7"></span>rtition<span class="_ _f"> </span><span class="ff4">consists<span class="_ _f"> </span>in<span class="_ _f"> </span>one<span class="_ _f"> </span><span class="ff1">mo<span class="_ _c"></span>dule<span class="_ _9"> </span>pa<span class="_ _19"></span>rtition</span></span></span></span></div><div class="t m0 x6 ha y114 ff1 fs6 fc0 sc0 ls0 ws0">interface<span class="_ _8"> </span>unit<span class="_ _f"> </span><span class="ff4">and<span class="_ _f"> </span>zero<span class="_ _f"> </span>or<span class="_ _b"> </span>more<span class="_ _b"> </span></span>mo<span class="_ _c"></span>dule<span class="_ _9"> </span>pa<span class="_ _19"></span>rtition<span class="_ _9"> </span>implementation<span class="_ _8"> </span>units</div><div class="t m0 xf ha y115 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffc">Mo<span class="_ _c"></span>dule<span class="_ _f"> </span>pa<span class="_ _7"></span>rtitions<span class="_ _11"> </span><span class="ff4">a<span class="_ _19"></span>re<span class="_ _f"> </span>not<span class="_ _f"> </span><span class="ffc">visible<span class="_ _9"> </span></span>outside<span class="_ _f"> </span>the<span class="_ _f"> </span>mo<span class="_ _c"></span>dule</span></span></div><div class="t m0 xf ha y116 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffc">Mo<span class="_ _c"></span>dule<span class="_ _f"> </span>pa<span class="_ _7"></span>rtitions<span class="_ _11"> </span><span class="ff4">do<span class="_ _b"> </span>not<span class="_ _f"> </span></span>implicitly<span class="_ _f"> </span>imp<span class="_ _c"></span>ort<span class="_ _9"> </span><span class="ff4">the<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _f"> </span>interface</span></span></div><div class="t m0 xf ha y117 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">All<span class="_ _f"> </span>names<span class="_ _f"> </span><span class="ffe">exported<span class="_ _f"> </span></span>by<span class="_ _b"> </span><span class="ffc">partition<span class="_ _b"> </span>interface<span class="_ _9"> </span></span>files<span class="_ _f"> </span>must<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span><span class="ffe">imported<span class="_ _f"> </span></span>and</span></div><div class="t m0 x6 ha y118 ffe fs6 fc0 sc0 ls0 ws0">re-exported<span class="_ _f"> </span><span class="ff4">b<span class="_ _7"></span>y<span class="_ _f"> </span>the<span class="_ _f"> </span><span class="ffc">p<span class="_ _7"></span>rimary<span class="_ _b"> </span>mo<span class="_ _c"></span>dule<span class="_ _f"> </span>interface<span class="_ _f"> </span>file</span></span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">31/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf23" class="pf w0 h0" data-page-no="23"><div class="pc pc23 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Mo<span class="_ _c"></span>dule<span class="_ _9"> </span>Pa<span class="_ _19"></span>rtitions<span class="_ _27"> </span>2/2</div><div class="t m0 x1 hc y34 ff8 fs7 fc0 sc0 ls0 ws0">main_module.ixx</div><div class="t m0 x1 hc y119 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span>module<span class="_ _11"> </span><span class="ff8 fc0">main_module;</span></div><div class="t m0 x1 hc y11a ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span>import<span class="_ _11"> </span><span class="ff8 fc9">:<span class="fc0">partition1;<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>re-export<span class="_ _11"> </span>f()<span class="_ _11"> </span>to<span class="_ _11"> </span>importers<span class="_ _11"> </span>of<span class="_ _11"> </span>&quot;main_module&quot;</span></span></span></div><div class="t m0 x1 hc y11b ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span>import<span class="_ _11"> </span><span class="ff8 fc9">:<span class="fc0">partition2;<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>re-export<span class="_ _11"> </span>g()<span class="_ _11"> </span>to<span class="_ _11"> </span>importers<span class="_ _11"> </span>of<span class="_ _11"> </span>&quot;main_module&quot;</span></span></span></div><div class="t m0 x1 hc y11c ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span><span class="fc8">void<span class="_ _11"> </span><span class="ff8 fc7">h<span class="fc0">()<span class="_"> </span>{<span class="_"> </span>internal();<span class="_"> </span>}<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>internal()<span class="_ _11"> </span>can<span class="_ _11"> </span>be<span class="_ _11"> </span>directly<span class="_ _11"> </span>used</span></span></span></span></div><div class="t m0 x1 hc y11d ff8 fs7 fc0 sc0 ls0 ws0">partition1.ixx</div><div class="t m0 x1 hc y11e ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span>module<span class="_ _11"> </span><span class="ff8 fc0">module_name<span class="fc9">:</span>partition1;</span></div><div class="t m0 x1 hc y11f ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span><span class="fc8">void<span class="_ _11"> </span><span class="ff8 fc7">f<span class="fc0">()<span class="_"> </span>{}</span></span></span></div><div class="t m0 x1 hc y120 ff8 fs7 fc0 sc0 ls0 ws0">partition2.ixx</div><div class="t m0 x1 hc y121 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span>module<span class="_ _11"> </span><span class="ff8 fc0">module_name<span class="fc9">:</span>partition2;</span></div><div class="t m0 x1 hc y122 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _11"> </span><span class="fc8">void<span class="_ _11"> </span><span class="ff8 fc7">g<span class="fc0">()<span class="_"> </span>{}</span></span></span></div><div class="t m0 x1 hc y123 ff5 fs7 fc8 sc0 ls0 ws0">void<span class="_ _11"> </span><span class="ff8 fc7">internal<span class="fc0">()<span class="_"> </span>{}<span class="_"> </span><span class="ff7 fc4">//<span class="_ _11"> </span>not<span class="_ _11"> </span>exported</span></span></span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">32/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf24" class="pf w0 h0" data-page-no="24"><div class="pc pc24 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x8 h2 y124 ff1 fs0 fc0 sc0 ls0 ws0">Compiling<span class="_ _1"> </span>Multiple</div><div class="t m0 x8 h2 y125 ff1 fs0 fc0 sc0 ls0 ws0">T<span class="_ _29"></span>ranslation<span class="_ _1"> </span>Units</div><a class="l" href="#pf24" data-dest-detail='[36,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:149.618000px;width:241.993000px;height:24.025000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf24" data-dest-detail='[36,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:120.066000px;width:196.473000px;height:19.206000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf25" class="pf w0 h0" data-page-no="25"><div class="pc pc25 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _19"></span>undamental<span class="_ _11"> </span>Compiler<span class="_ _9"> </span>Flags</div><div class="t m0 x1 ha y126 ffc fs6 fc0 sc0 ls0 ws0">Include<span class="_ _9"> </span><span class="ff4">flag:<span class="_ _2a"> </span><span class="ffe">g++<span class="_ _4"> </span><span class="ff5 fc7">-I<span class="_ _5"> </span></span>include/<span class="_ _4"> </span>main.cpp<span class="_ _4"> </span>-o<span class="_ _5"> </span>main.x</span></span></div><div class="t m0 xf ha y127 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ff5">-I<span class="_ _13"> </span><span class="ff4">:<span class="_ _11"> </span>Sp<span class="_ _c"></span>ecify<span class="_ _f"> </span>the<span class="_ _f"> </span></span>include<span class="_ _8"> </span><span class="ff1">path<span class="_ _f"> </span><span class="ff4">for<span class="_ _b"> </span>the<span class="_ _8"> </span>p<span class="_ _7"></span>roject<span class="_ _f"> </span>headers</span></span></span></div><div class="t m0 xf ha y128 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ff5">-isystem<span class="_ _13"> </span><span class="ff4">:<span class="_ _11"> </span>Sp<span class="_ _c"></span>ecify<span class="_ _f"> </span>the<span class="_ _f"> </span></span>include<span class="_ _8"> </span><span class="ff1">path<span class="_ _f"> </span><span class="ff4">for<span class="_ _b"> </span>system<span class="_ _8"> </span>(external)<span class="_ _f"> </span>headers<span class="_ _f"> </span>(w<span class="_ _7"></span>a<span class="_ _7"></span>rnings</span></span></span></div><div class="t m0 x6 ha y129 ff4 fs6 fc0 sc0 ls0 ws0">a<span class="_ _7"></span>re<span class="_ _f"> </span>not<span class="_ _f"> </span>emitted)</div><div class="t m0 x1 ha y12a ff4 fs6 fc0 sc0 ls0 ws0">They<span class="_ _f"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>used<span class="_ _f"> </span>multiple<span class="_ _f"> </span>times</div><div class="t m0 x1 ha y12b ffc fs6 fc0 sc0 ls0 ws0">Imp<span class="_ _c"></span>o<span class="_ _7"></span>rtant<span class="_ _0"></span><span class="ff4">:<span class="_ _11"> </span></span>include<span class="_ _9"> </span><span class="ff4">and<span class="_ _f"> </span></span>libra<span class="_ _19"></span>ry<span class="_ _d"> </span><span class="ff4">compiler<span class="_ _b"> </span>flags,<span class="_ _f"> </span>as<span class="_ _f"> </span>well<span class="_ _b"> </span>as<span class="_ _f"> </span>multiple<span class="_ _f"> </span>values<span class="_ _f"> </span>in<span class="_ _f"> </span>an</span></div><div class="t m0 x1 ha y12c ff4 fs6 fc0 sc0 ls0 ws0">environment<span class="_ _f"> </span>va<span class="_ _7"></span>riable,<span class="_ _f"> </span>a<span class="_ _7"></span>re<span class="_ _f"> </span>evaluated<span class="_ _f"> </span>in<span class="_ _f"> </span>o<span class="_ _7"></span>rder<span class="_ _f"> </span>from<span class="_ _f"> </span>left<span class="_ _f"> </span>to<span class="_ _f"> </span>right.<span class="_ _11"> </span>The<span class="_ _f"> </span>first<span class="_ _f"> </span>match</div><div class="t m0 x1 ha y12d ff4 fs6 fc0 sc0 ls0 ws0">supp<span class="_ _7"></span>ress<span class="_ _f"> </span>the<span class="_ _f"> </span>other<span class="_ _f"> </span>ones</div><div class="t m0 x1 ha y12e ffc fs6 fc0 sc0 ls0 ws0">Compile<span class="_ _9"> </span><span class="ff4">to<span class="_ _f"> </span>a<span class="_ _f"> </span>file<span class="_ _f"> </span>object:<span class="_ _2a"> </span><span class="ffe">g++<span class="_ _4"> </span><span class="ff5 fc7">-c<span class="_ _5"> </span></span>source.cpp<span class="_ _4"> </span>-o<span class="_ _4"> </span>source.o</span></span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">33/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf26" class="pf w0 h0" data-page-no="26"><div class="pc pc26 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Compile<span class="_ _9"> </span>Metho<span class="_ _c"></span>ds</div><div class="t m0 x1 ha y12f ff1 fs6 fc0 sc0 ls0 ws0">Metho<span class="_ _c"></span>d<span class="_ _8"> </span>1</div><div class="t m0 x1 ha y130 ffc fs6 fc0 sc0 ls0 ws0">Compile<span class="_ _9"> </span><span class="ff4">all<span class="_ _f"> </span>files<span class="_ _f"> </span>together<span class="_ _f"> </span>(naive):</span></div><div class="t m0 x9 h12 y131 ffe fs6 fc0 sc0 ls0 ws0">g++<span class="_ _4"> </span>main.cpp<span class="_ _5"> </span>source.cpp<span class="_ _4"> </span>-o<span class="_ _4"> </span>main.out</div><div class="t m0 x1 ha y132 ff1 fs6 fc0 sc0 ls0 ws0">Metho<span class="_ _c"></span>d<span class="_ _8"> </span>2</div><div class="t m0 x1 ha y133 ffc fs6 fc0 sc0 ls0 ws0">Compile<span class="_ _9"> </span><span class="ff4">each<span class="_ _f"> </span></span>translation<span class="_ _f"> </span>unit<span class="_ _9"> </span><span class="ff4">in<span class="_ _f"> </span>a<span class="_ _f"> </span>file<span class="_ _f"> </span>object:</span></div><div class="t m0 x9 h12 y134 ffe fs6 fc0 sc0 ls0 ws0">g++<span class="_ _4"> </span><span class="ff5 fc7">-c<span class="_ _5"> </span></span>source.cpp<span class="_ _4"> </span>-o<span class="_ _4"> </span>source.o</div><div class="t m0 x9 h12 y135 ffe fs6 fc0 sc0 ls0 ws0">g++<span class="_ _4"> </span><span class="ff5 fc7">-c<span class="_ _5"> </span></span>main.cpp<span class="_ _4"> </span>-o<span class="_ _4"> </span>main.o</div><div class="t m0 x1 ha y136 ff4 fs6 fc0 sc0 ls0 ws0">Multiple<span class="_ _f"> </span>objects<span class="_ _f"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>compiled<span class="_ _f"> </span>in<span class="_ _f"> </span>pa<span class="_ _7"></span>rallel</div><div class="t m0 x1 ha y137 ffc fs6 fc0 sc0 ls0 ws0">Link<span class="_ _11"> </span><span class="ff4">all<span class="_ _b"> </span>file<span class="_ _f"> </span>objects:</span></div><div class="t m0 x9 h12 y138 ffe fs6 fc0 sc0 ls0 ws0">g++<span class="_ _4"> </span>main.o<span class="_ _5"> </span>source.o<span class="_ _4"> </span>-o<span class="_ _4"> </span>main.out</div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">34/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf27" class="pf w0 h0" data-page-no="27"><div class="pc pc27 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x8 h2 y26 ff1 fs0 fc0 sc0 ls0 ws0">Lib<span class="_ _6"></span>ra<span class="_ _19"></span>ries<span class="_ _1"> </span>in<span class="_ _1"> </span>C++</div><a class="l" href="#pf27" data-dest-detail='[39,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:134.352000px;width:194.287000px;height:22.106000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf28" class="pf w0 h0" data-page-no="28"><div class="pc pc28 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIwElEQVR42u3ZMUpDURCG0Vx5g9XFNYiVhbWIlaDgztyEe7HQwh3YuAOrcCuHSCwESamQkElyzgry/rziY147u7yeAQBAGe+vL0dWAACgGpEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAMCvlplWAACgjohwSQUAoByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQCobDIBAMB/LRZfFze3lX/h2/PTTi/cMtN7BgBAHRHhcz8AAOWIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARKoJAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAYD9MJoA/GmMc2iP33v3vAGyFSyoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAACwVi0zrQAAQB0R4ZIKAEA5IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAANVNJmDVGMMIZfXejQDAgXBJBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAANaqZaYVAACoIyJcUgEAKEekAgAgUgEAQKQCACBSAQBApAIAIFIBAGDTJhOwaoxhhG3pvRsBAH64pAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAgN3WMtMKAADUEREuqQAAlCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAsCnT/OHUCgCwWz7uHo3AHju/um/t5Hg5/5zNlsulQQAAKOEb9xgu/AS3IgUAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Static<span class="_ _9"> </span>Libra<span class="_ _19"></span>ry</div><div class="t m0 x1 ha y139 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">static<span class="_ _8"> </span>libra<span class="_ _19"></span>ry<span class="_ _f"> </span><span class="ff4">is<span class="_ _f"> </span>a<span class="_ _f"> </span>set<span class="_ _f"> </span>of<span class="_ _f"> </span>object<span class="_ _f"> </span>files<span class="_ _f"> </span>(just<span class="_ _f"> </span>the<span class="_ _f"> </span>concatenation)<span class="_ _f"> </span>that<span class="_ _f"> </span>are<span class="_ _b"> </span>directly<span class="_ _f"> </span>linked</span></span></div><div class="t m0 x1 ha y13a ff4 fs6 fc0 sc0 ls0 ws0">into<span class="_ _f"> </span>the<span class="_ _f"> </span>final<span class="_ _f"> </span>executable.<span class="_ _11"> </span>If<span class="_ _f"> </span>a<span class="_ _f"> </span>program<span class="_ _b"> </span>is<span class="_ _f"> </span>compiled<span class="_ _f"> </span>with<span class="_ _f"> </span>a<span class="_ _f"> </span>static<span class="_ _f"> </span>libra<span class="_ _19"></span>ry<span class="_ _6"></span>,<span class="_ _f"> </span>all<span class="_ _f"> </span>the</div><div class="t m0 x1 ha y13b ff4 fs6 fc0 sc0 ls0 ws0">functionalit<span class="_ _7"></span>y<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>static<span class="_ _f"> </span>lib<span class="_ _7"></span>rary<span class="_ _b"> </span>b<span class="_ _c"></span>ecomes<span class="_ _f"> </span>par<span class="_ _7"></span>t<span class="_ _f"> </span>of<span class="_ _f"> </span>final<span class="_ _f"> </span>executable</div><div class="t m0 xa ha y13c ff1 fs6 fc0 sc0 ls0 ws0"><span class="_ _18"> </span><span class="ff4">A<span class="_ _b"> </span>static<span class="_ _f"> </span>libra<span class="_ _19"></span>ry<span class="_ _f"> </span>cannot<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>mo<span class="_ _c"></span>dified<span class="_ _f"> </span>without<span class="_ _f"> </span>re-link<span class="_ _f"> </span>the<span class="_ _f"> </span>final<span class="_ _f"> </span>executable</span></div><div class="t m0 xa ha y13d ff1 fs6 fc0 sc0 ls0 ws0"><span class="_ _18"> </span><span class="ff4">Increase<span class="_ _b"> </span>the<span class="_ _f"> </span>size<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>final<span class="_ _f"> </span>executable</span></div><div class="t m0 x5 ha y13e ff1 fs6 fc0 sc0 ls0 ws0">+<span class="_ _5"> </span><span class="ff4">The<span class="_ _f"> </span>link<span class="_ _7"></span>er<span class="_ _f"> </span>can<span class="_ _f"> </span>optimize<span class="_ _f"> </span>the<span class="_ _f"> </span>final<span class="_ _f"> </span>executable<span class="_ _f"> </span>(<span class="ffc">link<span class="_ _f"> </span>time<span class="_ _f"> </span>optimization<span class="_ _c"></span></span>)</span></div><div class="t m0 x1 ha y13f ff4 fs6 fc0 sc0 ls0 ws0">Given<span class="_ _f"> </span>the<span class="_ _f"> </span>static<span class="_ _f"> </span>lib<span class="_ _7"></span>ra<span class="_ _7"></span>ry<span class="_ _1e"> </span><span class="ffe">my_lib<span class="_ _13"> </span></span>,<span class="_ _f"> </span>the<span class="_ _f"> </span>co<span class="_ _7"></span>rresp<span class="_ _c"></span>onding<span class="_ _f"> </span>file<span class="_ _f"> </span>is:</div><div class="t m0 xe h12 y140 ff5 fs6 fc0 sc0 ls0 ws0">Linux<span class="_ _15"> </span><span class="ffe">libmy_lib.a</span></div><div class="t m0 x15 h12 y141 ff5 fs6 fc0 sc0 ls0 ws0">Windows<span class="_ _15"> </span><span class="ffe">my_lib.lib</span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">35/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf29" class="pf w0 h0" data-page-no="29"><div class="pc pc29 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Building<span class="_ _9"> </span>Static<span class="_ _11"> </span>Lib<span class="_ _19"></span>ra<span class="_ _19"></span>ries</div><div class="t m0 x1 ha y142 ff1 fs6 fc0 sc0 ls0 ws0">Steps<span class="_ _8"> </span>to<span class="_ _8"> </span>build<span class="_ _9"> </span>a<span class="_ _8"> </span>static<span class="_ _8"> </span>libra<span class="_ _19"></span>ry</div><div class="t m0 xf ha y143 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Compile<span class="_ _f"> </span>object<span class="_ _f"> </span>files<span class="_ _f"> </span>fo<span class="_ _7"></span>r<span class="_ _f"> </span>each<span class="_ _f"> </span>translation<span class="_ _f"> </span>unit<span class="_ _f"> </span>(<span class="ffe">.cpp</span>)</span></div><div class="t m0 xf ha y144 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Create<span class="_ _f"> </span>the<span class="_ _f"> </span>static<span class="_ _f"> </span>lib<span class="_ _7"></span>rary<span class="_ _b"> </span>by<span class="_ _b"> </span>using<span class="_ _f"> </span>the<span class="_ _f"> </span><span class="ff5">archiver<span class="_ _f"> </span></span>(<span class="ff5">ar</span>)<span class="_ _f"> </span>Linux<span class="_ _f"> </span>utility</span></div><div class="t m0 x1 hc y145 ff8 fs7 fc7 sc0 ls0 ws0">g++<span class="_"> </span><span class="fc0">source1.c<span class="_"> </span><span class="fcb">-c<span class="_"> </span></span>source1.o</span></div><div class="t m0 x1 hc y146 ff8 fs7 fc7 sc0 ls0 ws0">g++<span class="_"> </span><span class="fc0">source2.c<span class="_"> </span><span class="fcb">-c<span class="_"> </span></span>source2.o</span></div><div class="t m0 x1 hc y147 ff8 fs7 fc7 sc0 ls0 ws0">ar<span class="_"> </span><span class="fcb">rvs<span class="_"> </span><span class="fc0">libmystaticlib.a<span class="_"> </span>source1.o<span class="_"> </span>source2.o</span></span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">36/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2a" class="pf w0 h0" data-page-no="2a"><div class="pc pc2a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Using<span class="_ _9"> </span>Static<span class="_ _11"> </span>Lib<span class="_ _19"></span>ra<span class="_ _19"></span>ries</div><div class="t m0 x1 ha y27 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ffc">static<span class="_ _f"> </span>lib<span class="_ _7"></span>ra<span class="_ _7"></span>ry<span class="_ _11"> </span><span class="ff4">has<span class="_ _f"> </span>to<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span><span class="ff1">linked<span class="_ _b"> </span></span>to<span class="_ _f"> </span>the<span class="_ _f"> </span>final<span class="_ _f"> </span>executable:</span></span></div><div class="t m0 xe h12 y91 ff5 fs6 fc0 sc0 ls0 ws0">Linux<span class="_ _15"> </span><span class="ffe">g++<span class="_ _4"> </span></span><span class="fc7">-l</span><span class="ffe">library<span class="_ _5"> </span>main.cpp<span class="_ _4"> </span>-o<span class="_ _4"> </span>main</span></div><div class="t m0 x15 h12 y148 ff5 fs6 fc0 sc0 ls0 ws0">Windows<span class="_ _15"> </span><span class="ffe">msvc<span class="_ _4"> </span>&lt;path_to_library&gt;/library.lib<span class="_ _5"> </span>main.cpp<span class="_ _4"> </span>/OUT:main.exe</span></div><div class="t m0 x1 ha y149 ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span>directo<span class="_ _7"></span>ries<span class="_ _f"> </span>where<span class="_ _f"> </span>to<span class="_ _f"> </span>sea<span class="_ _7"></span>rch<span class="_ _f"> </span>for<span class="_ _b"> </span><span class="ffc">static<span class="_ _11"> </span></span>lib<span class="_ _19"></span>raries<span class="_ _b"> </span>at<span class="_ _f"> </span><span class="ffc">compile-time<span class="_ _9"> </span></span>are<span class="_ _b"> </span>sp<span class="_ _c"></span>ecified<span class="_ _f"> </span>with</div><div class="t m0 x1 ha y14a ff4 fs6 fc0 sc0 ls0 ws0">environment<span class="_ _f"> </span>va<span class="_ _7"></span>riables:</div><div class="t m0 xe ha y14b ff5 fs6 fc0 sc0 ls0 ws0">Linux<span class="_ _15"> </span>LIBRARY_PATH<span class="_ _1e"> </span><span class="ff4">Sea<span class="_ _19"></span>rch<span class="_ _f"> </span>for<span class="_ _12"> </span><span class="ffe">.a<span class="_ _1e"> </span></span>files</span></div><div class="t m0 x15 ha y14c ff5 fs6 fc0 sc0 ls0 ws0">Windows<span class="_ _15"> </span>LIBPATH<span class="_ _1e"> </span><span class="ff4">Sea<span class="_ _19"></span>rch<span class="_ _f"> </span>for<span class="_ _12"> </span><span class="ffe">.lib<span class="_ _1e"> </span></span>files</span></div><div class="t m0 x1 ha y14d ff4 fs6 fc0 sc0 ls0 ws0">It<span class="_ _f"> </span>is<span class="_ _f"> </span>also<span class="_ _f"> </span>p<span class="_ _c"></span>ossible<span class="_ _f"> </span>to<span class="_ _f"> </span>sp<span class="_ _c"></span>ecify<span class="_ _f"> </span>additional<span class="_ _f"> </span><span class="ffc">lib<span class="_ _7"></span>ra<span class="_ _7"></span>ry<span class="_ _f"> </span>paths<span class="_ _11"> </span><span class="ff4">with<span class="_ _b"> </span>compiler<span class="_ _f"> </span>flags:</span></span></div><div class="t m0 xe h12 y14e ff5 fs6 fc0 sc0 ls0 ws0">Linux<span class="_ _15"> </span><span class="ffe">g++<span class="_ _4"> </span></span><span class="fc7">-L</span><span class="ffe">&lt;library_path&gt;<span class="_ _5"> </span>main.cpp<span class="_ _4"> </span>-o<span class="_ _4"> </span>main</span></div><div class="t m0 x15 h12 y14f ff5 fs6 fc0 sc0 ls0 ws0">Windows<span class="_ _15"> </span><span class="ffe">msvc<span class="_ _4"> </span></span><span class="fc7">/LIBPATH</span><span class="ffe">&lt;library_path&gt;<span class="_ _5"> </span>main.cpp<span class="_ _4"> </span>/OUT:main.exe</span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">37/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2b" class="pf w0 h0" data-page-no="2b"><div class="pc pc2b w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI2ElEQVR42u3ZMUpDQRSG0Yy8i9XgGsTK2kJELCwUcWNuwr1YaOEO0rgDqzBg8DbPQpA0CuILTpJzVpD3T4qPmXJ0ej4DAIBuvDw/7VkBAIDeiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAL6UzLQCAAD9iAg3qQAAdEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAA/tNgAgBgpxxfXG7cb54/PuzaMZXM9GcFAKAfEeG5HwCA7ohUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAYFKDCeA7b8vlyfXtjnzs/PHBiQPQj5KZVgAAoB8R4bkfAIDuiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAESqCQAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAABMbjAB/FFrbdc+udbq3AFYKzepAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAwKRKZloBAIB+RISbVAAAuiNSAQAQqQAAIFIBABCpAAAgUgEA2DqDCVjVWjPCRqu1GgGALeAmFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAAJhUyUwrAADQj4gYrMCq1poR/kut1ck6WQA+ee4HAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAAJlUy0woAAPQjItykAgDQHZEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAH42LO4OrQAArMnr1b0R+K3js5tSDvbHxftsNo6jQQAA6MIHmrM3+szXzPwAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Dynamic<span class="_ _9"> </span>Libra<span class="_ _19"></span>ry</div><div class="t m0 x1 ha y27 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">dynamic<span class="_ _8"> </span>libra<span class="_ _19"></span>ry<span class="ff4">,<span class="_ _f"> </span>also<span class="_ _f"> </span>called<span class="_ _f"> </span>a<span class="_ _f"> </span></span>sha<span class="_ _7"></span>red<span class="_ _8"> </span>libra<span class="_ _19"></span>ry<span class="ff4">,<span class="_ _f"> </span>consists<span class="_ _f"> </span>of<span class="_ _f"> </span>routines<span class="_ _f"> </span>that<span class="_ _f"> </span>are<span class="_ _b"> </span>loaded</span></span></div><div class="t m0 x1 ha y28 ff4 fs6 fc0 sc0 ls0 ws0">into<span class="_ _f"> </span>the<span class="_ _f"> </span>application<span class="_ _f"> </span>at<span class="_ _f"> </span>run-time.<span class="_ _11"> </span>If<span class="_ _f"> </span>a<span class="_ _f"> </span>program<span class="_ _b"> </span>is<span class="_ _f"> </span>compiled<span class="_ _f"> </span>with<span class="_ _f"> </span>a<span class="_ _f"> </span>dynamic<span class="_ _f"> </span>libra<span class="_ _19"></span>ry<span class="_ _6"></span>,<span class="_ _f"> </span>the</div><div class="t m0 x1 ha y150 ff4 fs6 fc0 sc0 ls0 ws0">lib<span class="_ _7"></span>ra<span class="_ _7"></span>ry<span class="_ _f"> </span>do<span class="_ _c"></span>es<span class="_ _f"> </span>not<span class="_ _f"> </span>b<span class="_ _c"></span>ecome<span class="_ _f"> </span>pa<span class="_ _7"></span>rt<span class="_ _f"> </span>of<span class="_ _f"> </span>final<span class="_ _f"> </span>executable.<span class="_ _11"> </span>It<span class="_ _f"> </span>remains<span class="_ _f"> </span>as<span class="_ _f"> </span>a<span class="_ _f"> </span>separate<span class="_ _b"> </span>unit</div><div class="t m0 x5 ha y93 ff1 fs6 fc0 sc0 ls0 ws0">+<span class="_ _5"> </span><span class="ff4">A<span class="_ _f"> </span>dynamic<span class="_ _f"> </span>lib<span class="_ _7"></span>rary<span class="_ _b"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>mo<span class="_ _c"></span>dified<span class="_ _f"> </span>without<span class="_ _f"> </span>re-link:<span class="_ _11"> </span>bug<span class="_ _f"> </span>fixing,<span class="_ _f"> </span>new<span class="_ _f"> </span>functionalities</span></div><div class="t m0 xa ha y94 ff1 fs6 fc0 sc0 ls0 ws0"><span class="_ _18"> </span><span class="ff4">Dynamic<span class="_ _b"> </span>libra<span class="_ _19"></span>ry<span class="_ _f"> </span>functions<span class="_ _f"> </span>are<span class="_ _b"> </span>called<span class="_ _f"> </span>outside<span class="_ _f"> </span>the<span class="_ _f"> </span>executable.<span class="_ _d"> </span>Neither<span class="_ _b"> </span>the<span class="_ _f"> </span>linker<span class="_ _b"> </span>nor</span></div><div class="t m0 x6 ha y95 ff4 fs6 fc0 sc0 ls0 ws0">the<span class="_ _f"> </span>compiler<span class="_ _f"> </span>can<span class="_ _f"> </span>optimize<span class="_ _f"> </span>the<span class="_ _f"> </span>co<span class="_ _c"></span>de<span class="_ _f"> </span>b<span class="_ _c"></span>et<span class="_ _7"></span>w<span class="_ _7"></span>een<span class="_ _f"> </span>sha<span class="_ _7"></span>red<span class="_ _f"> </span>lib<span class="_ _7"></span>raries<span class="_ _b"> </span>and<span class="_ _f"> </span>the<span class="_ _f"> </span>final</div><div class="t m0 x6 ha y151 ff4 fs6 fc0 sc0 ls0 ws0">executable</div><div class="t m0 xf ha y152 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">The<span class="_ _f"> </span>environment<span class="_ _f"> </span>va<span class="_ _7"></span>riables<span class="_ _f"> </span>must<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>set<span class="_ _f"> </span>to<span class="_ _f"> </span>the<span class="_ _f"> </span>right<span class="_ _f"> </span>shared<span class="_ _b"> </span>libra<span class="_ _19"></span>ry<span class="_ _f"> </span>path,<span class="_ _f"> </span>otherwise</span></div><div class="t m0 x6 ha y153 ff4 fs6 fc0 sc0 ls0 ws0">the<span class="_ _f"> </span>application<span class="_ _f"> </span>crashes<span class="_ _f"> </span>at<span class="_ _f"> </span>the<span class="_ _f"> </span>b<span class="_ _c"></span>eginning</div><div class="t m0 x1 ha y154 ff4 fs6 fc0 sc0 ls0 ws0">Given<span class="_ _f"> </span>the<span class="_ _f"> </span>sha<span class="_ _7"></span>red<span class="_ _f"> </span>lib<span class="_ _7"></span>ra<span class="_ _7"></span>ry<span class="_ _1e"> </span><span class="ffe">my_lib<span class="_ _13"> </span></span>,<span class="_ _f"> </span>the<span class="_ _f"> </span>co<span class="_ _7"></span>rresp<span class="_ _c"></span>onding<span class="_ _f"> </span>file<span class="_ _f"> </span>is:</div><div class="t m0 xe h12 y155 ff5 fs6 fc0 sc0 ls0 ws0">Linux<span class="_ _15"> </span><span class="ffe">libmy_lib.so</span></div><div class="t m0 x15 ha y156 ff5 fs6 fc0 sc0 ls0 ws0">Windows<span class="_ _15"> </span><span class="ffe">my_lib.dll<span class="_ _1e"> </span><span class="ff4">+<span class="_ _1e"> </span></span>my_lib.lib</span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">38/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2c" class="pf w0 h0" data-page-no="2c"><div class="pc pc2c w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Building<span class="_ _9"> </span>Dynamic<span class="_ _11"> </span>Lib<span class="_ _19"></span>ra<span class="_ _7"></span>ries</div><div class="t m0 x1 ha y157 ff1 fs6 fc0 sc0 ls0 ws0">Steps<span class="_ _8"> </span>to<span class="_ _8"> </span>build<span class="_ _9"> </span>a<span class="_ _8"> </span>dynamic<span class="_ _8"> </span>libra<span class="_ _19"></span>ry</div><div class="t m0 xf ha y158 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Compile<span class="_ _f"> </span>object<span class="_ _f"> </span>files<span class="_ _f"> </span>fo<span class="_ _7"></span>r<span class="_ _f"> </span>each<span class="_ _f"> </span>translation<span class="_ _f"> </span>unit<span class="_ _f"> </span>(<span class="ffe">.cpp</span>).<span class="_ _11"> </span>Since<span class="_ _f"> </span>libra<span class="_ _19"></span>ry<span class="_ _f"> </span>cannot<span class="_ _f"> </span>store</span></div><div class="t m0 x6 ha y143 ff4 fs6 fc0 sc0 ls0 ws0">co<span class="_ _c"></span>de<span class="_ _f"> </span>at<span class="_ _f"> </span>fixed<span class="_ _f"> </span>addresses,<span class="_ _f"> </span>the<span class="_ _f"> </span>compiler<span class="_ _f"> </span>must<span class="_ _f"> </span>generate<span class="_ _f"> </span><span class="ffc">p<span class="_ _c"></span>osition<span class="_ _f"> </span>indep<span class="_ _c"></span>endent<span class="_ _f"> </span>co<span class="_ _c"></span>de</span></div><div class="t m0 x6 ha y159 ff4 fs6 fc0 sc0 ls0 ws0">(<span class="_ _13"> </span><span class="ffe">-fPIC<span class="_ _13"> </span></span>)</div><div class="t m0 xf ha y15a ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Create<span class="_ _f"> </span>the<span class="_ _f"> </span>dynamic<span class="_ _f"> </span>lib<span class="_ _7"></span>rary</span></div><div class="t m0 x1 hc y15b ff8 fs7 fc7 sc0 ls0 ws0">g++<span class="_"> </span><span class="fc0">source1.c<span class="_"> </span><span class="fcb">-c<span class="_"> </span></span>source1.o<span class="_"> </span><span class="fcb">-fPIC</span></span></div><div class="t m0 x1 hc y15c ff8 fs7 fc7 sc0 ls0 ws0">g++<span class="_"> </span><span class="fc0">source2.c<span class="_"> </span><span class="fcb">-c<span class="_"> </span></span>source2.o<span class="_"> </span><span class="fcb">-fPIC</span></span></div><div class="t m0 x1 hc y15d ff8 fs7 fc7 sc0 ls0 ws0">g++<span class="_"> </span><span class="fc0">source1.o<span class="_"> </span>source2.o<span class="_"> </span><span class="fcb">-shared<span class="_"> </span>-o<span class="_"> </span></span>libmydynamiclib.so</span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">39/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2d" class="pf w0 h0" data-page-no="2d"><div class="pc pc2d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Using<span class="_ _9"> </span>Dynamic<span class="_ _11"> </span>Lib<span class="_ _19"></span>ra<span class="_ _19"></span>ries<span class="_ _2b"> </span>1/2</div><div class="t m0 x1 ha y15e ffc fs6 fc0 sc0 ls0 ws0">Dynamic<span class="_ _f"> </span>lib<span class="_ _7"></span>ra<span class="_ _7"></span>ries<span class="_ _11"> </span><span class="ff4">need<span class="_ _b"> </span>to<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>available<span class="_ _f"> </span>when<span class="_ _f"> </span>the<span class="_ _f"> </span>program<span class="_ _b"> </span>executes<span class="_ _f"> </span>(</span>run-time<span class="_ _0"></span><span class="ff4">).<span class="_ _11"> </span>The</span></div><div class="t m0 x1 ha y15f ff4 fs6 fc0 sc0 ls0 ws0">p<span class="_ _7"></span>rogram<span class="_ _f"> </span>sea<span class="_ _7"></span>rches<span class="_ _f"> </span>fo<span class="_ _7"></span>r<span class="_ _f"> </span>dynamic<span class="_ _f"> </span>libra<span class="_ _19"></span>ries<span class="_ _f"> </span>in<span class="_ _f"> </span>the<span class="_ _f"> </span>same<span class="_ _f"> </span>directory<span class="_ _b"> </span>and<span class="_ _f"> </span>the<span class="_ _f"> </span>paths<span class="_ _f"> </span>sp<span class="_ _c"></span>ecified<span class="_ _f"> </span>in</div><div class="t m0 x1 ha y160 ff4 fs6 fc0 sc0 ls0 ws0">the<span class="_ _f"> </span>follo<span class="_ _7"></span>wing<span class="_ _f"> </span>environment<span class="_ _f"> </span>va<span class="_ _7"></span>riables:</div><div class="t m0 x1 h13 y161 ff5 fs3 fc0 sc0 ls0 ws0">Linux<span class="_ _f"> </span><span class="ff4 fs6">Sea<span class="_ _7"></span>rch<span class="_ _f"> </span>fo<span class="_ _7"></span>r<span class="_ _1e"> </span><span class="ffe">.so<span class="_ _1e"> </span></span>files</span></div><div class="t m0 xa h6 y162 ff9 fs4 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ffe">LD_LIBRARY_PATH<span class="_ _12"> </span><span class="ff4">environment<span class="_ _b"> </span>variable</span></span></div><div class="t m0 xa h6 y163 ff9 fs4 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ffe">/lib64<span class="_ _12"> </span><span class="ff4">and<span class="_ _12"> </span></span>/usr/lib64</span></div><div class="t m0 xa h6 y164 ff9 fs4 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ffe">RPATH<span class="_ _12"> </span><span class="ff4">and<span class="_ _12"> </span></span>RUNPATH<span class="_ _12"> </span><span class="ff4">fields<span class="_ _b"> </span>with<span class="_ _b"> </span>custom<span class="_ _b"> </span>values<span class="_ _b"> </span>emb<span class="_ _c"></span>edded<span class="_ _b"> </span>in<span class="_ _b"> </span>the<span class="_ _b"> </span>executable</span></span></div><div class="t m0 xa h6 y165 ff9 fs4 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ffe">/etc/ld.so.cache<span class="_ _12"> </span><span class="ff4">cache<span class="_ _b"> </span>of<span class="_ _b"> </span>libra<span class="_ _19"></span>ry<span class="_ _b"> </span>lo<span class="_ _c"></span>cations<span class="_ _b"> </span>created<span class="_ _b"> </span>by<span class="_ _13"> </span>the<span class="_ _12"> </span><span class="ffe">ldconfig<span class="_ _12"> </span></span>command.</span></span></div><div class="t m0 x6 h6 y166 ff4 fs4 fc0 sc0 ls0 ws0">Can<span class="_ _b"> </span>b<span class="_ _c"></span>e<span class="_ _b"> </span>inspected<span class="_ _b"> </span>by<span class="_ _12"> </span><span class="ffe">ldconfig<span class="_ _d"> </span>-p</span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">40/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2e" class="pf w0 h0" data-page-no="2e"><div class="pc pc2e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Using<span class="_ _9"> </span>Dynamic<span class="_ _11"> </span>Lib<span class="_ _19"></span>ra<span class="_ _19"></span>ries<span class="_ _2b"> </span>2/2</div><div class="t m0 x1 h13 y167 ff5 fs3 fc0 sc0 ls0 ws0">Windows<span class="_ _f"> </span><span class="ff4 fs6">Sea<span class="_ _7"></span>rch<span class="_ _f"> </span>fo<span class="_ _7"></span>r<span class="_ _1e"> </span><span class="ffe">.dll<span class="_ _1e"> </span></span>files</span></div><div class="t m0 xf ha y168 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ffe">PATH<span class="_ _1e"> </span><span class="ff4">environment<span class="_ _b"> </span>variable</span></span></div><div class="t m0 xf ha y169 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Executable<span class="_ _f"> </span>directo<span class="_ _7"></span>ry<span class="_ _f"> </span>and<span class="_ _f"> </span>current<span class="_ _f"> </span>wo<span class="_ _19"></span>rking<span class="_ _f"> </span>directo<span class="_ _7"></span>ry</span></div><div class="t m0 xf ha y16a ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ffe">%SystemRoot%\System32<span class="_ _13"> </span><span class="ff4">,<span class="_ _1e"> </span></span>%SystemRoot%<span class="_ _1e"> </span><span class="ff4">system<span class="_ _b"> </span>directories</span></span></div><div class="t m0 xf ha y16b ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ffe">HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control</span></div><div class="t m0 xe ha y16c ffe fs6 fc0 sc0 ls0 ws0">\Session<span class="_ _4"> </span>Manager\KnownDLLs<span class="_ _12"> </span><span class="ff4">list<span class="_ _8"> </span>of<span class="_ _f"> </span>kno<span class="_ _7"></span>wn<span class="_ _f"> </span>DLLs</span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">41/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf2f" class="pf w0 h0" data-page-no="2f"><div class="pc pc2f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Application<span class="_ _9"> </span>Binary<span class="_ _9"> </span>Interface<span class="_ _9"> </span>(ABI)</div><div class="t m0 x1 ha y16d ff4 fs6 fc0 sc0 ls0 ws0">An<span class="_ _f"> </span><span class="ff1">Application<span class="_ _8"> </span>Bina<span class="_ _7"></span>ry<span class="_ _8"> </span>Interface<span class="_ _8"> </span>(ABI)<span class="_ _f"> </span><span class="ff4">defines<span class="_ _f"> </span>the<span class="_ _f"> </span>low-level<span class="_ _b"> </span>details<span class="_ _f"> </span>of<span class="_ _f"> </span>how<span class="_ _b"> </span>programs</span></span></div><div class="t m0 x1 ha y16e ff4 fs6 fc0 sc0 ls0 ws0">comp<span class="_ _c"></span>osed<span class="_ _f"> </span>of<span class="_ _f"> </span>sepa<span class="_ _7"></span>rately<span class="_ _f"> </span>compiled<span class="_ _f"> </span>mo<span class="_ _c"></span>dules<span class="_ _f"> </span>w<span class="_ _7"></span>o<span class="_ _7"></span>rk<span class="_ _f"> </span>together.<span class="_ _11"> </span>An<span class="_ _f"> </span>ABI<span class="_ _f"> </span>sp<span class="_ _c"></span>ecifies<span class="_ _f"> </span>how</div><div class="t m0 x1 ha y16f ff4 fs6 fc0 sc0 ls0 ws0">functions<span class="_ _f"> </span>a<span class="_ _7"></span>re<span class="_ _f"> </span>called<span class="_ _f"> </span>and<span class="_ _f"> </span>ho<span class="_ _7"></span>w<span class="_ _f"> </span>data<span class="_ _f"> </span>is<span class="_ _f"> </span>exchanged.</div><div class="t m0 x1 ha y170 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">stable<span class="_ _8"> </span>ABI<span class="_ _f"> </span></span>is<span class="_ _f"> </span>essential<span class="_ _f"> </span>to<span class="_ _f"> </span>up<span class="_ _c"></span>date<span class="_ _f"> </span>the<span class="_ _f"> </span>programs<span class="_ _b"> </span>shared<span class="_ _b"> </span>libra<span class="_ _19"></span>ries<span class="_ _f"> </span>without<span class="_ _f"> </span>recompiling</div><div class="t m0 x1 ha y171 ff4 fs6 fc0 sc0 ls0 ws0">all<span class="_ _f"> </span>the<span class="_ _f"> </span>co<span class="_ _c"></span>de</div><div class="t m0 x1 ha y172 ff4 fs6 fc0 sc0 ls0 ws0">Some<span class="_ _f"> </span>examples<span class="_ _f"> </span>of<span class="_ _f"> </span>ABI-b<span class="_ _7"></span>reaking<span class="_ _f"> </span>changes<span class="_ _f"> </span>a<span class="_ _7"></span>re<span class="_ _f"> </span>changing<span class="_ _f"> </span>the<span class="_ _f"> </span>type<span class="_ _f"> </span>or<span class="_ _b"> </span>order<span class="_ _b"> </span>of<span class="_ _f"> </span>memb<span class="_ _c"></span>ers</div><div class="t m0 x1 ha y173 ff4 fs6 fc0 sc0 ls0 ws0">within<span class="_ _f"> </span>a<span class="_ _1e"> </span><span class="ffe">struct<span class="_ _13"> </span></span>,<span class="_ _b"> </span>mo<span class="_ _c"></span>difying<span class="_ _f"> </span>the<span class="_ _f"> </span>return<span class="_ _f"> </span>type<span class="_ _f"> </span>or<span class="_ _f"> </span>pa<span class="_ _19"></span>rameters<span class="_ _f"> </span>of<span class="_ _f"> </span>a<span class="_ _f"> </span>function,<span class="_ _f"> </span>or<span class="_ _b"> </span>adding<span class="_ _f"> </span>a</div><div class="t m0 x9 ha y174 ffe fs6 fc0 sc0 ls0 ws0">virtual<span class="_ _1e"> </span><span class="ff4">function<span class="_ _b"> </span>to<span class="_ _f"> </span>a<span class="_ _f"> </span>class<span class="_ _f"> </span>that<span class="_ _f"> </span>previously<span class="_ _f"> </span>did<span class="_ _f"> </span>not<span class="_ _f"> </span>have<span class="_ _f"> </span>one</span></div><div class="t m0 x1 ha y175 ff4 fs6 fc0 sc0 ls0 ws0">An<span class="_ _f"> </span>ABI<span class="_ _f"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>also<span class="_ _f"> </span>check<span class="_ _7"></span>ed<span class="_ _f"> </span>across<span class="_ _f"> </span>different<span class="_ _f"> </span>sha<span class="_ _7"></span>red<span class="_ _f"> </span>lib<span class="_ _7"></span>rary/header<span class="_ _b"> </span>versions<span class="_ _f"> </span>with</div><div class="t m0 x1 ha y176 ff4 fs6 fc0 sc0 ls0 ws0">sp<span class="_ _c"></span>ecific<span class="_ _f"> </span>to<span class="_ _c"></span>ols,<span class="_ _f"> </span>such<span class="_ _f"> </span>as<span class="_ _f"> </span><span class="ff5">ABI<span class="_ _4"> </span>Compliance<span class="_ _5"> </span>Checker<span class="_ _13"> </span><span class="fff fs8"></span></span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">42/48</div><a class="l" href="https://github.com/lvc/abi-compliance-checker"><div class="d m1" style="border-style:none;position:absolute;left:129.714000px;bottom:30.732000px;width:127.992000px;height:12.694000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf30" class="pf w0 h0" data-page-no="30"><div class="pc pc30 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Demangling</div><div class="t m0 x1 ha y27 ff1 fs6 fc0 sc0 ls0 ws0">Name<span class="_ _8"> </span>mangling<span class="_ _f"> </span><span class="ff4">is<span class="_ _f"> </span>a<span class="_ _f"> </span>technique<span class="_ _f"> </span>used<span class="_ _f"> </span>to<span class="_ _f"> </span>solve<span class="_ _8"> </span>va<span class="_ _7"></span>rious<span class="_ _f"> </span>p<span class="_ _7"></span>roblems<span class="_ _f"> </span>caused<span class="_ _f"> </span>b<span class="_ _7"></span>y<span class="_ _f"> </span>the<span class="_ _f"> </span>need<span class="_ _f"> </span>to</span></div><div class="t m0 x1 ha y28 ff4 fs6 fc0 sc0 ls0 ws0">resolve<span class="_ _f"> </span>unique<span class="_ _f"> </span>names</div><div class="t m0 x1 ha yff ff4 fs6 fc0 sc0 ls0 ws0">T<span class="_ _6"></span>ransforming<span class="_ _b"> </span>C++<span class="_ _f"> </span>ABI<span class="_ _f"> </span>(Application<span class="_ _f"> </span>binary<span class="_ _b"> </span>interface)<span class="_ _f"> </span>identifiers<span class="_ _f"> </span>into<span class="_ _f"> </span>the<span class="_ _f"> </span>original</div><div class="t m0 x1 ha y177 ff4 fs6 fc0 sc0 ls0 ws0">source<span class="_ _f"> </span>identifiers<span class="_ _f"> </span>is<span class="_ _f"> </span>called<span class="_ _f"> </span><span class="ff1">demangling</span></div><div class="t m0 x1 ha y178 ff4 fs6 fc0 sc0 ls0 ws0">Example<span class="_ _f"> </span>(linking<span class="_ _f"> </span>erro<span class="_ _7"></span>r):</div><div class="t m0 x16 hc y179 ff8 fs7 fc0 sc0 ls0 ws0">_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev</div><div class="t m0 x1 ha y17a ff4 fs6 fc0 sc0 ls0 ws0">After<span class="_ _f"> </span>demangling:</div><div class="t m0 x16 hc y17b ff8 fs7 fc0 sc0 ls0 ws0">std<span class="fc9">::</span>basic_filebuf<span class="fc9">&lt;<span class="ff5 fc8">char</span></span>,<span class="_"> </span>std<span class="fc9">::</span>char_traits<span class="fc9">&lt;<span class="ff5 fc8">char</span>&gt;<span class="_"> </span>&gt;::</span><span class="ff13"></span>basic_filebuf()</div><div class="t m0 x1 ha y17c ff1 fs6 fc0 sc0 ls0 ws0">Ho<span class="_ _7"></span>w<span class="_ _8"> </span>to<span class="_ _8"> </span>demangle:<span class="_ _2a"> </span><span class="ffe">echo<span class="_ _4"> </span>&lt;name&gt;<span class="_ _4"> </span>|<span class="_ _4"> </span><span class="fc7">c++filt</span></span></div><div class="t m0 x1 ha y17d ff4 fs6 fc0 sc0 ls0 ws0">Online<span class="_ _f"> </span>Demangler:<span class="_ _11"> </span><span class="ffe">https://demangler.com</span></div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">43/48</div><a class="l" href="https://demangler.com"><div class="d m1" style="border-style:none;position:absolute;left:117.138000px;bottom:13.884000px;width:122.265000px;height:11.993000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf31" class="pf w0 h0" data-page-no="31"><div class="pc pc31 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIkElEQVR42u3YsU0DQRCG0Vt0I0crakBEVICQYyR35iYoh4Ai6MCRtRGTnDMnBMhISHPHexXc/Zt8mvb4vJ8AAKCMz4/3OysAAFCNSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4KplphUAAKgjIlxSAQAoR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAgL8xr+hbxxgeDADgd3rvK/pal1QAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAESqCQAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAHzTMtMKAADUEREuqQAAlCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAsHWzCfjRGMMI29Z7NwIApbikAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAA3aZlpBQAA6ogIl1QAAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAP6v+Xx8sAIAwIqcXt+2/YNPL4fW7nfL+WualmXx4gAAlHABn7IgAAJ/mScAAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Find<span class="_ _9"> </span>Dynamic<span class="_ _11"> </span>Lib<span class="_ _19"></span>ra<span class="_ _19"></span>ry<span class="_ _11"> </span>Dep<span class="_ _c"></span>endencies</div><div class="t m0 x1 ha y27 ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span><span class="ff5 fc7">ldd<span class="_ _f"> </span></span>utilit<span class="_ _7"></span>y<span class="_ _f"> </span>sho<span class="_ _7"></span>ws<span class="_ _f"> </span>the<span class="_ _f"> </span>shared<span class="_ _b"> </span>objects<span class="_ _f"> </span>(shared<span class="_ _b"> </span>libra<span class="_ _19"></span>ries)<span class="_ _f"> </span>required<span class="_ _f"> </span>by<span class="_ _b"> </span>a<span class="_ _f"> </span>program<span class="_ _b"> </span>or</div><div class="t m0 x1 ha y28 ff4 fs6 fc0 sc0 ls0 ws0">other<span class="_ _f"> </span>sha<span class="_ _7"></span>red<span class="_ _f"> </span>objects</div><div class="t m0 x1 hc y17e ff8 fs7 fc0 sc0 ls0 ws0">$<span class="_"> </span><span class="ff5 fcb">ldd<span class="_ _11"> </span><span class="fc0">/bin/ls</span></span></div><div class="t m0 x17 hc y17f ff8 fs7 fc0 sc0 ls0 ws0">linux<span class="fc9">-</span>vdso.so<span class="fc9">.1<span class="_"> </span></span>(<span class="fc9">0x00007ffcc3563000</span>)</div><div class="t m0 x17 hc y180 ff8 fs7 fc0 sc0 ls0 ws0">libselinux.so<span class="fc9">.1<span class="_"> </span>=&gt;<span class="_"> </span>/</span>lib64<span class="fc9">/</span>libselinux.so<span class="fc9">.1<span class="_"> </span></span>(<span class="fc9">0x00007f87e5459000</span>)</div><div class="t m0 x17 hc y181 ff8 fs7 fc0 sc0 ls0 ws0">libcap.so<span class="fc9">.2<span class="_"> </span>=&gt;<span class="_"> </span>/</span>lib64<span class="fc9">/</span>libcap.so<span class="fc9">.2<span class="_"> </span></span>(<span class="fc9">0x00007f87e5254000</span>)</div><div class="t m0 x17 hc y182 ff8 fs7 fc0 sc0 ls0 ws0">libc.so<span class="fc9">.6<span class="_"> </span>=&gt;<span class="_"> </span>/</span>lib64<span class="fc9">/</span>libc.so<span class="fc9">.6<span class="_"> </span></span>(<span class="fc9">0x00007f87e4e92000</span>)</div><div class="t m0 x17 hc y183 ff8 fs7 fc0 sc0 ls0 ws0">libpcre.so<span class="fc9">.1<span class="_"> </span>=&gt;<span class="_"> </span>/</span>lib64<span class="fc9">/</span>libpcre.so<span class="fc9">.1<span class="_"> </span></span>(<span class="fc9">0x00007f87e4c22000</span>)</div><div class="t m0 x17 hc y184 ff8 fs7 fc0 sc0 ls0 ws0">libdl.so<span class="fc9">.2<span class="_"> </span>=&gt;<span class="_"> </span>/</span>lib64<span class="fc9">/</span>libdl.so<span class="fc9">.2<span class="_"> </span></span>(<span class="fc9">0x00007f87e4a1e000</span>)</div><div class="t m0 x17 hc y185 ff8 fs7 fc9 sc0 ls0 ws0">/<span class="fc0">lib64</span>/<span class="fc0">ld</span>-<span class="fc0">linux</span>-<span class="fc0">x86</span>-64.<span class="fc0">so</span>.2<span class="_"> </span><span class="fc0">(</span>0x00005574bf12e000<span class="fc0">)</span></div><div class="t m0 x17 hc y186 ff8 fs7 fc0 sc0 ls0 ws0">libattr.so<span class="fc9">.1<span class="_"> </span>=&gt;<span class="_"> </span>/</span>lib64<span class="fc9">/</span>libattr.so<span class="fc9">.1<span class="_"> </span></span>(<span class="fc9">0x00007f87e4817000</span>)</div><div class="t m0 x17 hc y187 ff8 fs7 fc0 sc0 ls0 ws0">libpthread.so<span class="fc9">.0<span class="_"> </span>=&gt;<span class="_"> </span>/</span>lib64<span class="fc9">/</span>libpthread.so<span class="fc9">.0<span class="_"> </span></span>(<span class="fc9">0x00007f87e45fa000</span>)</div><div class="t m0 x1 ha y188 ff4 fs6 fc0 sc0 ls0 ws0">Alternatively<span class="_ _6"></span>,<span class="_ _1e"> </span><span class="ffe">LD_DEBUG=libs<span class="_ _1e"> </span></span>can<span class="_ _b"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>used<span class="_ _f"> </span>to<span class="_ _f"> </span>print<span class="_ _b"> </span>search<span class="_ _b"> </span>and<span class="_ _f"> </span>load<span class="_ _f"> </span>paths<span class="_ _f"> </span>of<span class="_ _f"> </span>shared</div><div class="t m0 x1 ha y189 ff4 fs6 fc0 sc0 ls0 ws0">lib<span class="_ _7"></span>ra<span class="_ _7"></span>ries<span class="_ _f"> </span>at<span class="_ _f"> </span>runtime</div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">44/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf32" class="pf w0 h0" data-page-no="32"><div class="pc pc32 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Find<span class="_ _9"> </span>Object/Executable<span class="_ _11"> </span>Symbols</div><div class="t m0 x18 h14 y18a ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x19 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">1/3</div><div class="t m0 x1 ha y18b ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span><span class="ff5 fc7">nm<span class="_ _f"> </span></span>utilit<span class="_ _7"></span>y<span class="_ _f"> </span>p<span class="_ _7"></span>rovides<span class="_ _f"> </span>information<span class="_ _b"> </span>on<span class="_ _f"> </span>the<span class="_ _f"> </span>symb<span class="_ _c"></span>ols<span class="_ _f"> </span>b<span class="_ _c"></span>eing<span class="_ _f"> </span>used<span class="_ _f"> </span>in<span class="_ _f"> </span>an<span class="_ _f"> </span>object<span class="_ _f"> </span>file<span class="_ _f"> </span>or</div><div class="t m0 x1 ha y18c ff4 fs6 fc0 sc0 ls0 ws0">executable<span class="_ _f"> </span>file</div><div class="t m0 x1 hc y18d ff8 fs7 fc0 sc0 ls0 ws0">$<span class="_"> </span><span class="ff5 fcb">nm<span class="_ _11"> </span></span>-D<span class="_"> </span>-C<span class="_"> </span>something.so</div><div class="t m0 xc hc y18e ff8 fs7 fc0 sc0 ls0 ws0">w<span class="_"> </span>__gmon_start__</div><div class="t m0 xc hc y18f ff8 fs7 fc0 sc0 ls0 ws0">D<span class="_"> </span>__libc_start_main</div><div class="t m0 xc hc y190 ff8 fs7 fc0 sc0 ls0 ws0">D<span class="_"> </span>free</div><div class="t m0 xc hc y191 ff8 fs7 fc0 sc0 ls0 ws0">D<span class="_"> </span>malloc</div><div class="t m0 xc hc y192 ff8 fs7 fc0 sc0 ls0 ws0">D<span class="_"> </span>printf</div><div class="t m0 x1 hc y193 ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _12"> </span>-C:<span class="_ _2"> </span>Decode<span class="_ _11"> </span>low-level<span class="_ _11"> </span>symbol<span class="_ _11"> </span>names</div><div class="t m0 x1 hc y194 ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _12"> </span>-D:<span class="_ _2"> </span>accepts<span class="_ _11"> </span>a<span class="_ _11"> </span>dynamic<span class="_ _11"> </span>library</div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">45/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf33" class="pf w0 h0" data-page-no="33"><div class="pc pc33 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Find<span class="_ _9"> </span>Object/Executable<span class="_ _11"> </span>Symbols</div><div class="t m0 x18 h14 y18a ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x19 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">2/3</div><div class="t m0 x1 ha y195 ff5 fs6 fc7 sc0 ls0 ws0">readelf<span class="_ _f"> </span><span class="ff4 fc0">displa<span class="_ _7"></span>ys<span class="_ _f"> </span>info<span class="_ _7"></span>rmation<span class="_ _f"> </span>ab<span class="_ _c"></span>out<span class="_ _f"> </span>ELF<span class="_ _f"> </span>fo<span class="_ _7"></span>rmat<span class="_ _f"> </span>object<span class="_ _f"> </span>files</span></div><div class="t m0 x1 hc y196 ff8 fs7 fc0 sc0 ls0 ws0">$<span class="_"> </span><span class="ff5 fcb">readelf<span class="_ _11"> </span></span>symbols<span class="_"> </span>something.so<span class="_"> </span>|c++filt</div><div class="t m0 xc hc y197 ff8 fs7 fc0 sc0 ls0 ws0">...<span class="_"> </span>OBJECT<span class="_ _2"> </span>LOCAL<span class="_ _1"> </span>DEFAULT<span class="_ _16"> </span><span class="fc9">17<span class="_"> </span></span>__frame_dummy_init_array_</div><div class="t m0 xc hc y198 ff8 fs7 fc0 sc0 ls0 ws0">...<span class="_"> </span><span class="ff5 fc8">FILE<span class="_ _17"> </span></span>LOCAL<span class="_ _2"> </span>DEFAULT<span class="_ _1"> </span>ABS<span class="_"> </span>prog.cpp</div><div class="t m0 xc hc y199 ff8 fs7 fc0 sc0 ls0 ws0">...<span class="_"> </span>OBJECT<span class="_ _2"> </span>LOCAL<span class="_ _1"> </span>DEFAULT<span class="_ _16"> </span><span class="fc9">14<span class="_"> </span></span>CC1</div><div class="t m0 xc hc y19a ff8 fs7 fc0 sc0 ls0 ws0">...<span class="_"> </span>OBJECT<span class="_ _2"> </span>LOCAL<span class="_ _1"> </span>DEFAULT<span class="_ _16"> </span><span class="fc9">14<span class="_"> </span></span>CC2</div><div class="t m0 xc hc y19b ff8 fs7 fc0 sc0 ls0 ws0">...<span class="_"> </span>FUNC<span class="_ _17"> </span>LOCAL<span class="_ _2"> </span>DEFAULT<span class="_ _16"> </span><span class="fc9">12<span class="_"> </span></span>g()</div><div class="t m0 x1 hc y19c ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _12"> </span>--symbols:<span class="_ _11"> </span>display<span class="_ _11"> </span>symbol<span class="_ _11"> </span>table</div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">46/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf34" class="pf w0 h0" data-page-no="34"><div class="pc pc34 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAId0lEQVR42u3YsQnCQBiG4TvJYRWcQaycQMRacDOXcBwLh3ADq5DKa84uA4QUf+R5+sDxpXn58+F0SQAAEMb79dxYAQCAaEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAACTXGu1AgAAcZRSXFIBAAhHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAMOlW9NZxHP0wAIB5+r5f0WtdUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkmAABApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgDwN3Kt1QoAAMRRSnFJBQAgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgDAYrrhvrcCAACL+1wf8z48nm8577Zt+KbUWrMkAAAh/AAmfxoCaK5gpQAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Find<span class="_ _9"> </span>Object/Executable<span class="_ _11"> </span>Symbols</div><div class="t m0 x18 h14 y18a ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x19 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">3/3</div><div class="t m0 x1 ha y27 ff5 fs6 fc7 sc0 ls0 ws0">objdump<span class="_ _f"> </span><span class="ff4 fc0">displa<span class="_ _7"></span>ys<span class="_ _f"> </span>info<span class="_ _7"></span>rmation<span class="_ _f"> </span>ab<span class="_ _c"></span>out<span class="_ _f"> </span>object<span class="_ _f"> </span>files</span></div><div class="t m0 x1 hc y19d ff8 fs7 fc0 sc0 ls0 ws0">$<span class="_"> </span><span class="ff5 fcb">objdump<span class="_ _11"> </span></span>-t<span class="_"> </span>-C<span class="_"> </span>something.so<span class="_"> </span>|c++filt</div><div class="t m0 x1 hc y19e ff8 fs7 fc0 sc0 ls0 ws0">...<span class="_"> </span>df<span class="_"> </span><span class="fc9">*</span>ABS<span class="fc9">*<span class="_ _16"> </span></span>...<span class="_ _2"> </span>prog.cpp</div><div class="t m0 x1 hc y19f ff8 fs7 fc0 sc0 ls0 ws0">...<span class="_ _2"> </span>O<span class="_"> </span>.rodata<span class="_"> </span>...<span class="_ _1"> </span>CC1</div><div class="t m0 x1 hc y1a0 ff8 fs7 fc0 sc0 ls0 ws0">...<span class="_ _2"> </span>O<span class="_"> </span>.rodata<span class="_"> </span>...<span class="_ _1"> </span>CC2</div><div class="t m0 x1 hc y1a1 ff8 fs7 fc0 sc0 ls0 ws0">...<span class="_ _2"> </span>F<span class="_"> </span>.text<span class="_ _16"> </span>...<span class="_ _1"> </span>g()</div><div class="t m0 x1 hc y1a2 ff8 fs7 fc0 sc0 ls0 ws0">...<span class="_ _2"> </span>O<span class="_"> </span>.rodata<span class="_"> </span>...<span class="_ _1"> </span>(anonymous<span class="_"> </span><span class="ff5 fc6">namespace</span>)<span class="fc9">::<span class="ff5 fc7">CC3</span></span></div><div class="t m0 x1 hc y1a3 ff8 fs7 fc0 sc0 ls0 ws0">...<span class="_ _2"> </span><span class="ff5 fc7">O<span class="_ _11"> </span></span>.<span class="ff5 fc7">rodata<span class="_ _11"> </span></span>...<span class="_ _1"> </span>(<span class="ff5 fc7">anonymous<span class="_ _11"> </span>namespace</span>)<span class="fc9">::<span class="ff5 fc7">CC4</span></span></div><div class="t m0 x1 hc y1a4 ff8 fs7 fc0 sc0 ls0 ws0">...<span class="_ _2"> </span><span class="ff5 fc7">F<span class="_ _11"> </span></span>.<span class="ff5 fc7">text<span class="_ _16"> </span></span>...<span class="_ _1"> </span>(<span class="ff5 fc7">anonymous<span class="_ _11"> </span>namespace</span>)<span class="fc9">::<span class="ff5 fc7">h</span></span>()</div><div class="t m0 x1 hc y1a5 ff8 fs7 fc0 sc0 ls0 ws0">...<span class="_ _2"> </span><span class="ff5 fc7">F<span class="_ _11"> </span></span>.<span class="ff5 fc7">text<span class="_ _16"> </span></span>...<span class="_ _1"> </span>(<span class="ff5 fc7">anonymous<span class="_ _11"> </span>namespace</span>)<span class="fc9">::<span class="ff5 fc7">B</span>::<span class="ff5 fc7">j1</span></span>()</div><div class="t m0 x1 hc y1a6 ff8 fs7 fc0 sc0 ls0 ws0">...<span class="_ _2"> </span><span class="ff5 fc7">F<span class="_ _11"> </span></span>.<span class="ff5 fc7">text<span class="_ _16"> </span></span>...<span class="_ _1"> </span>(<span class="ff5 fc7">anonymous<span class="_ _11"> </span>namespace</span>)<span class="fc9">::<span class="ff5 fc7">B</span>::<span class="ff5 fc7">j2</span></span>()</div><div class="t m0 x1 hc y1a7 ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _12"> </span>--t:<span class="_ _11"> </span>display<span class="_ _11"> </span>symbols</div><div class="t m0 x1 hc y1a8 ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _12"> </span>-C:<span class="_ _2"> </span>Decode<span class="_ _11"> </span>low-level<span class="_ _11"> </span>symbol<span class="_ _11"> </span>names</div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">47/48</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf35" class="pf w0 h0" data-page-no="35"><div class="pc pc35 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIVUlEQVR42u3YsQ2DQBBE0TuLE6ETN4BcBAG9kdKYA4pwSAOEXLLOqGFlvVfCRF9T3/NSAAAgje/+eVgBAIBsRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAALfae7cCAAB5tNY8qQAApCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqSYAAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgDwP4Zzm6wAAEAer/Wo9TnGeZUSEQYBACCFH18FEwSJ0EWWAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">References<span class="_ _9"> </span>and<span class="_ _11"> </span>A<span class="_ _19"></span>dditional<span class="_ _9"> </span>Material</div><div class="t m0 xf ha y1a9 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffe">20<span class="_ _4"> </span>ABI<span class="_ _5"> </span>(Application<span class="_ _4"> </span>Binary<span class="_ _4"> </span>Interface)<span class="_ _4"> </span>breaking<span class="_ _5"> </span>changes<span class="_ _4"> </span>every<span class="_ _4"> </span>C++</span></div><div class="t m0 x6 h12 y1aa ffe fs6 fc0 sc0 ls0 ws0">developer<span class="_ _4"> </span>should<span class="_ _5"> </span>know</div><div class="t m0 xf ha y1ab ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffe">Policies/Binary<span class="_ _4"> </span>Compatibility<span class="_ _5"> </span>Issues<span class="_ _4"> </span>With<span class="_ _4"> </span>C++</span></div><div class="t m0 xf ha y1ac ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffe">10<span class="_ _4"> </span>differences<span class="_ _5"> </span>between<span class="_ _4"> </span>static<span class="_ _4"> </span>and<span class="_ _4"> </span>dynamic<span class="_ _5"> </span>libraries<span class="_ _4"> </span>every<span class="_ _4"> </span>C++</span></div><div class="t m0 x6 h12 y1ad ffe fs6 fc0 sc0 ls0 ws0">developer<span class="_ _4"> </span>should<span class="_ _5"> </span>know</div><div class="t m0 x10 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">48/48</div><a class="l" href="https://www.acodersjourney.com/20-abi-breaking-changes/"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:161.964000px;width:377.025000px;height:11.993000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://www.acodersjourney.com/20-abi-breaking-changes/"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:146.383000px;width:122.265000px;height:10.952000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://community.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:116.854000px;width:259.719000px;height:11.992000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://www.acodersjourney.com/cplusplus-static-vs-dynamic-libraries/"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:87.324000px;width:377.025000px;height:10.952000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://www.acodersjourney.com/cplusplus-static-vs-dynamic-libraries/"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:71.743000px;width:122.265000px;height:10.952000px;background-color:rgba(255,255,255,0.000001);"></div></a></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
</div>
<div class="loading-indicator">
<img alt="" src="data:image/png;base64,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"/>
</div>
</body>
</html>