1249 lines
535 KiB
HTML
1249 lines
535 KiB
HTML
<!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,d09GRgABAAAAAA0UAA0AAAAAEkQAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAM+AAAABoAAAAcpiahOEdERUYAAAzcAAAAHAAAAB4AJwAhT1MvMgAAAaQAAABBAAAAVlWAX1xjbWFwAAACTAAAALIAAAGqMx1wIGdhc3AAAAzUAAAACAAAAAj//wADZ2x5ZgAAAzgAAAecAAAKcNB0YYJoZWFkAAABMAAAADMAAAA2Lekap2hoZWEAAAFkAAAAHgAAACQGZAM4aG10eAAAAegAAABhAAAAbDdPBPZsb2NhAAADAAAAADgAAAA4G5Aedm1heHAAAAGEAAAAHQAAACAAXwBPbmFtZQAACtQAAAG2AAADNlI2Eadwb3N0AAAMjAAAAEUAAABYAlMDCnicY2BkYGBgYmT7eejal3h+m68M3MwvgCIMT5tex8Fppf/2zAuZDgK5HAxMIFEArOgOVgB4nGNgZGBgOvjfnoGB+S4DEDAvZGBkQAXSAF8pA6MAAHicY2BkYGCQZvBhYGIAARDJyAAScwDzGQAMrACvAAAAeJxjYGQyYZzAwMrAwNTFtIeBgaEHQjM+YDBkZAKKMrAyM8AAIwMSCEhzTQFSCgylTAf/2wNVHmQ4CFMDAL6oCogAAAB4nGOUYAADRl8QAUT2DFkgzKTJkA/E2sxCDB6M0xiMmO8yWAPZJsx6DOZMqQxKTP4MxkyFDLpMegzajHoM6kyMDNpMrxn0gXLaTDVAOT2gXBSDLuMpINufQQUkDgCBrQ11AAAAeJxjYGBgZoBgGQZGBhBYAuQxgvksDB1AWo5BACjCx6DAoMOgx2DIYMLgzODJ4MsQypDIkMqQyVDAUPr/P1AdunwIUD4ZKJ/DUPT////H/2/8v/7/6v/L/4/+P/B/7//t/9f8X/1/xf9l/5dC7cUDGNkY4IoYmYAEE7oCiBdggIWBlYEBqIcdVRUHmOQEYi6IADcPkiwvAx+/AJAWZGAQEhYRFWMQl5CUIuQy+gEAmkMnwQAAAAAAAAAAAAAAAAAkADYAXgCSANYBAgFWAZoB3AIaAlwCkALMAvADHANkA54DzAQEBGQEzgT+BTh4nG1WbWwbZx2//2P77vx29tm+u5xf4pfzSxInjn32+ZI4cdKmDZnSwtqmKU1HNzWUpkmmtEUZzcbYh0LZB1ohtNKxpoMgOinahMTEBxAbEhMrmkDaB/phlRgaIMHKhEQBVUhbLvyfs5O2GlL0xPfi5//7/38vjxlgFrZGmQ+YBUZhGDMiOLSMUTPrRq3Aapl8rV7V5Q9ENRZxej2TRIip8biaSkN6rE8TvS5+8oSPDad6UsMM7sMwzC1cOYapR1j6Xf1WsjeZ7J2iSxKfArOMy9vkJaaDYdL5FGdU9SYYIqsZuqnLkhjphAbA21nrv1mtv4cbOPDVMZHlevo1hyPpC0YIF0uO8aHNdyNBH27HEKaI+22SG0wnk2aYnCZF5AZIeS1Dd66PQNqAJlT1TohIYlUTATYX1bqSOzWfU+qq9VfYzbMcyzoXX7c+uXEkEUpimVDiSBJ+73ESnnNbg/C0dZHintz6O3mH/IopY5UIHYxBJ6OYdV1OAL1RgkIJtIzgkCKdDqxt1mu0Mnnn2vnvvvfeleWZGh90OH0cS0C8MB1tHGz2dY98blfn7CUWiMvpv/PE92+9ePXW0f0+d+AfQd7B8stf8/XseW760Wcm+oSnT7mcLoI4dAQzR15lEnR+7TYNsZYvgiFXdVPSMixOEYcAc9pTK1p0IIp/9z/Z/ZHAdqebdxMhxualwTCOddx36KF9C8BmCsAhLaQqFThDb5J2MVSFEsPZ4rR3SjrWcwuLuY66CtYmL/NbDDjFUnZlJVsSnWq9Y0P0uT78kPWENvAVvG5hGYXNr4dCZAU2/xIIxQSKS4iFAvAfxOjyb94kg4JrBykwNST9feS7hBdaCbXKCaQtm23aqaBqSAdeCk5OM9PkfZUNFHc1yx6vm/Clalf3lRe6u6olnri9nnJPrVcJ8U41TC7Ar/fsKfkIeH3C5l2UWLKtuoDg8yJJolIe6PtTa14m6uEezoviyNgQbFF8iglbCxQP0QzFJPfoLC7ML17D/rWzZzScRCxf7QofWKWj+spT5FtCPBy0Xpz+3ndOw/ltmqxvGAf7EvzqSTjWnpGt/Qwu4yTMZJmCzRryY9T6QWNRgqBIBZxG02GGqQyVcCdU+4Ej45PqgiHJ72accvhQV1pOS2523cl5BP41T7Tnt1847nCocb42cNTDByOg4hUIMTEA1728bO2JCht379r9V7f+ReIkSPtv+aFth6qOdhDQCP/fDfGVx8698sq5w8MFj8sDLOt2+k+NhLpHSpl0abgYHj/tss3wk8+cf/nPL49WfR0bXt7lPzrLd+qPjzYf15P87D7bCbT/PlxGCGGCtvcRRdpomUEz0rrM1QrIxbY2dbNORi6ftv5WUZQKqAuXDvVWH9sf8/tj++dq2c35K2owCeeSQfXawpcHdgkJ62JCmDRbXGPGEBG26P8c90ANRSsBrZAAynFV0ij5dgKhT0wiJizTrvZmWHU3Dn8p5p+op1Q1VZ/wx5bKwzmRe+stWnUZq25MDwuJG1rtNzXt5wlB7BvUsS6yiowRRkJ2qfnadRVTanVVBe7MGUNRjNaKXAXScCYdUO1P1rfTgR38cBv3iT+Mf2cfitdhwu2wdZLiXX5muNMfG+0aSkZYRwsiHQxuKmStSwlBjhlaiu7bj3N5A/ctb6uPJoYDE8OBiVGVWoK0Sz2QFm3o5I0513xFgV9iUPwCJnOVmUmlsooJ8dqrmBCrFAcWxNJrYPWFQvA7sJ7fRzHsg8MIxuW3jsGPBBe+YV1OBu/zNIR4ctSTLUcWoPAAFBsJWgPEmoYmNcnQpNPj5q2bHhtApHbey7MukCbz5Rm4s896Nujxwk991kvtys9yKrg46znopjdsDVIfPII+cNPpAj318GCg4kPD01zA5EQxkEeu/+H62h/XZrKNwUR8aCiXHWwMNQazzNbZtbWzZ9bXT+4+oWPLc7sn5k1VNee39Q0fYz8Kk7f3tsXVyuH7Mmex0rYImwAfPzl1UaksLdnCCxxamnFJA717Y/4newckWBk8+MMWk21OD3+2N15UhMSbSpHWw14OYL0as5f6qe1iw87ST9dGTqUIy3USRVZo4NWquqNmJ3ILCyEHvIXERFr2ELcnpc8qlcUFiuqfR1f3DWg9Hjbk9stFzuf/WSRe1uJ9nO/zpYbC7REymbScK8U64t7Ujx9Ce6BeHBf8/YnoMbGj6YeuZFH2EdTb63JXop1JcBW5mGpnUoHlaA8jYGdPCyb9XWMf1YX2CV436cPt0MobJScN7gi+rKBSZLh6dOKYKbi8rJ1XXnCUylOVRioY650qSb2z41P6zkMPAcJGEgPZciOVcTT2FqOFy83jFckV5Dq+icpyT2ULo92VaMDjFUWpd3B4pvXsecw4/G4gVk5Hh3LRigBCMBTrtjWdRSEU4RMmaZ93sHPWSvn7Zz/etI+5osrpB4vBqCkVbhYkMxosTlc4VYCP4NBx3ZuyXkiF6TTDKVhKefXjG7ZnkHPqGZo1GU4UIJMv5HFiD+SDHeB4S7PPNTI0QeCLPzjLEVmnMpOTXTHf0BOTPcVSHu40rXvNsyfG/M3b6TZz1r97xlIR55FHP2p55n8socrbeJytUk1r20AQfSt/QKHNrYeWHqa3JCBFVoJLArnEjQMmToIchxy7Tta2sK01koPxH+qp9O/07/R5tRRampyiRTNv3s7MzswugB38hEL13f3BCu/UZ48DNNWpxzXE6rvHdbwPah43sBN88bhJvqCnqr+h9cNFbbHCR9XwOMBbdeBxDd/UV4/r2Fe/PG7gU/DB4yb2gy46sFhigwIZJphiBUGCmOsQIVeFj8mO6CU4Q0TZg8YDZoxdo6TOyGnkeHR7EfrO68rtV55bj13auctkeJLGHGNa1slbcvfUQwxwjpRScEF9TeaG1h4zomOXmyKbTFeSxPFhGFIey2gjZ5H09MPMrstZJjp/lF7Uj+TKrklmsmtzGZmpno/FjuXW3MtwcJ4O5CK9Ht4M9pj3kgWnLGThmuhQLtlWi43jsp/ahc47elm2aG5bKpzfnIYtFpq66/paOV1wisbNMGK44IT/8+lD8oYRT0ynGVv5t8m3/OwTWujafNW1xcRIEsVyIn8VFaZm8jTXBfl22OJMkvZLHf17JP6bbPtwDXdLXlx1aVVDMY6IcWeKMuNYWU58JK9w3G9GIozPAAB4nG3DSwpEAAAA0IcDSCkLe1lY2HEAmVkozORzHhdH1l49ocd5KL3J74FQJJZIZQqVWqPV6X18DUaT2c/fYrXZL/B7B10AAAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCKSBmAfMYAAS8AEl4nGNgYGBkAILbCqeqQfTTptdxMBoATiwHogAA')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,d09GRgABAAAAABSwAA0AAAAAHHwAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAUlAAAABoAAAAcpiahOEdERUYAABR4AAAAHAAAAB4AJwBOT1MvMgAAAaQAAABGAAAAVlXoGWljbWFwAAACyAAAAN0AAAGa0aNO8Gdhc3AAABRwAAAACAAAAAj//wADZ2x5ZgAABDwAAA3rAAATcGWZtqBoZWFkAAABMAAAADQAAAA2LO8am2hoZWEAAAFkAAAAIAAAACQFugKQaG10eAAAAewAAADZAAABHovmEFJsb2NhAAADqAAAAJIAAACSqmylMm1heHAAAAGEAAAAHgAAACAAjQBKbmFtZQAAEigAAAGsAAAC+r/NfRxwb3N0AAAT1AAAAJsAAADK5XfyJXicY2BkYGBgYmTT0Xh8IZ7f5isDN/MLoAjD06bXcTD6/+H/bMxsTO+AXA4GJpAoAHyIDdF4nGNgZGBgevefjYGBOfv/4f/XmdkYgCIowB0AmKoGTnicY2BkYGDwYHBnYGYAASYgZmQAiTmA+QwAEQUA2AAAeJxjYGQ8wDiBgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBlZgCDBqCgAwMCBKS5pgAphd9MTO/+swFVvmP4BeQzguQAGnAMtQAAeJwtj7ELQVEUxr9zXgaURUndl8UrJZNBL6PFIOkJZXk9ssgfYeKf8BfIogwmE6vFZGQ0WV5Wvndz69c55/vud29HirBHuiQmK/SI72TgSwET6llbY84xqmT8rwkVW+nrBi6Z6BItvSHSIUJtkg3nC0LeCeWOqh7plRA6C8yoR/qAz0yka1JDTbfwdG9zOXmioSn05UQtBY+1LHUY/ulyDvBGR7Lfs7wwYB84BkGi0y8lOZsZMb+EK3PkrXdFTnd8+8pd2cuBXrLf3TJ10vhoG0aLMDA/od82nwAAAHicY2BgYGaAYBkGRgYQmALkMYL5LAwVQFqKQQAowsWgwKDJYMxgxmDFEMAQxlClIKkgq6D0m+n/f6AaBQYNBm0GU6CcI0MQQyJQTgYox/D////H/+/8v/3/1v/r/y/+v/D/2AONB2oPlFhdoXbhAIxsDHAFjExAggldAcTJIMDCysDGzsHJxc3Dy8fALwAUEYRICAmLiIqJS0hKScvIyskrKDIoKauoqiHMUNfQ1NLW0dXTNzA0MjYxNTO3sLSytrG1s3fA5zRU4EK8UgYGJ2dg6ECBmzsh1QD4PyiXAAAAAAAAAAAAAAAAAAAkAEgAagB6AIgAlAC0APIBCgFMAYwBvgIAAhICNgJoApwCvALcAvYDKANAA0wDagOEA5YDxAPeBAQEJgRMBIoEpgTEBOAFEgU8BWIFjgW6Bd4GPgZeBnAGkAaoBrQG5gcGBywHWAeIB54H6AgGCCQIPghuCIYIsgjSCOII/AkWCSQJYgmQCbgAAHicfVgLcBvXdd37QC5IggQI4scviA8JEARJiFgACwIiSIoEf6BAAuAP/P8UibIiWbFrhYlE/WWJtmzZVppqKllpa8fqxO6olkK5CauJmPE4jGU3duO4Seva045dO9M47dhKYidc9r5dkJRStxzw7WL3vfs599x73wMDTPcaC13kY0bLMOlWm9rDh2Q8x8pZndYog676H7hyK2ryNfWDzqqSsrrSz69Cy7fmnR18Qd7g3OFnRr41PVzG4B8wfpTjleSUa+VKmdzq431eT43MzunBe68Uff0PPv9jKfqr63JeIG+QNkaD37RWs1pr8arNFg9nVnvcOrWZvGEWPqoQPjSbIb8CDKDcuM83m4UPJRmTa8eZ60yCYRmGl1t5q5e7XukoKEjA/KEEfa9gboGW+T0jQ1vNXjNohd9C5q2AtBZHuhbfcXRhIpHY8O/76J8Kv2jlwFotNq+HBx/n1sP304XvsKqM7HTooxfyi/ScP8S12RnpObK/0WZTmwhTufZLWCHfRnxsogQlWC01YKdCQoBCDHqSa6+RWS0UeoOec/OwUpGf5E3BBo3FVjzirkoW10Q1bGahs6jHpFaXxntKofWbA56ANlCdeOzPekM+lycp/AcQv0pdod/Bf/1I/d77JDySOFxB3WiKA7ycmpV7fTyn5uCKcOMQ13M8qD0UIBl6EkivXz2P8ytx/i2c7xTnN0BI5vXYrBYlkdvsNcROfdZplSCXPpzbFwS4Jew/uN1YUqGONpu3lOZlqtMhLTO95vzEn1hNpszWLPl+zZfZfHax8WBbaanfZwwNF9S6LPnpwGbLnzk0ZI+UmzK3ZrJ7c0GyeR2vSsonRNvOGxEmyijiBDQ/BKJNrNwuwqfTsnIjwMpc8mBMYdrt8zcrCnlbWyStui5YuaVfV1a6MxC5z8/749djc7u21vriW/VVLmM9C1nbXdW1frfPExhsdI+WqEcl/XbUf4ucY0wp/TbJgBQUrNyqNuvMOjH8t44OBWdMZn1/bYam2lS01VERUG6DbuGzmvrovlfHjvuq/A4PySttcSWi1RbY3/i64/g9nChkqkQtctRTgwpQqkEnaqHy5R47vdexOqMMaeGDlRJrMFHsDVQWP/1lnvN62ndmtuxoHYkbLKFgGEhmvqc8ZMv/10C3vSXX1Tkfu/SKNqg79GDi7HSXIzS2NTvXUNlWFXJIvBT5DkvIdznDaJDx6hTrEzCbEFoSdE4xDvNkEWeoGcZstZvlVuA0MpvdylICkPmRLuGd7Z2QPtg2XCID1lugLLx9mywKUYCE3ny+3daGWmRUF5lCOUpGz5RKuJrVG8GzeWxO0KHr9IqPfWTq8d3C7341e26sPXb/7IOJ+QcnT3899sSF2ANLkf1kcVcr35uXM/XzmfBvfxyMCx9vF+O2be0OiZBlMW4ioHZbLk8B1RuQvba78svHk0iwrLz55PjY2PhJn8PpVjoddm4i3NISnthmLeeryzIVs7NQsXs2I0MbN2Zn9w98bW6gP1thQ0wm0JcL6EsGxQRET8w0Vuu2X7h2WPgM2CPX+hd2X7iwewH6HnuFLP7Dk8e/vfq9y2jnGK6vJNdonXMAcgkZht4jp9RiPpFKwQM3b2DGLECnsPgG3syTa03wq3phFZjUeiWuz8Evm2uRlUR5FScfhxrhzSRcJV+B39cLL+PEFDb969j8P8h4kQKkf2avhEydy1Ojqqpy+iVkwg0n3rTVSrgolAXxclWuhIvu2fqUXTsQFwVlippaxOHIkR1J4TvJJPQlqTtIjTfAxaT8YG7gfLHeqrkbySR+SeX/CbzN3ch/vZh9WLVOjPcM9CrdUXOtPgf6v5EYrIz4dYW2vCxilHKXxuaRdRtkch21ATggj4zcOdnXB/eNCp/CnjP/jlachQeEj9ftgE9wDSvGA4tjOXwi3JesBQVZXF0g4pwZJDGLcwpE3+ysCmRWmgXUSYNGb+B8vIaTsch6x5aTHecbMyC633KpQA7ZsWNfIXuAfeiw8AycvOJYPU8WB4SpcKnnTUhs2jyNsnNEmyWZGgPaQaYP3mmGqDjAB2dWn0CzC8+QfchB/9ovyXPkNpOF+cQwuVJPwohqxBKl0+opEZ/7u8OHvvfSkfmJE8PJk8dHhk7Ap8KPf/qPF//8n4SLx/7yL44/+rdXmRSfW1F/FmUk8hlpbFVzdzO69fTYc8nPdpyOTcbOnk2Mw3/2HhDeJYtfjTfFhHcS6zJmRR/0ohdWSQRNb35DzGxy6en+/9795Oj25FTvuXN9k1Av/JAs7ovUTxkW+Yjwh04RjyqM/yfoW8Xd8cfyb8emKfVNnxt5K/ppMAL96OGTIxNze1UTB5pilbryJm9DiW/+RwlV1+i2HquuzNXVYPb+fd98OBbr8dSV5alyc4pK61qjB9w9je2uWmOeSqEptgZQN25pyAlyVez1Ym6hH6gI+46ZnDiF2ZVMDuF4ikyQfbB6jtwPTRKHMB4x9F+93jOQrWoxCnhDYk98aec3kpPNLTPRj/Y89dQeeE1wj+/cNQav07VK1PmoxNlMoOVVohN5VPj1iPDr0Rd8LGQOn0QudmL8G88Zt3wI/RRz39oduACvIeImirk3RQJebFNyqVfLvRIZsHdciNTPBvyXvuouj7WykXjrePQ13uYqtZS5Ys6GZuL01ru3OScjl0JZYaNVo5F6RBx1vCfW7YL1aIg5JXUnqkdHnYT39na1h6KR9mR4NBr3ttitIX7o3emH62rQ5J8Fz4wP9AbfaeyT+F6GMi+j3QapFtkob7EQ1SDgSpCshcudyZGDc9M1jVXZFVsd7ubC7aGBcAW3cPNcXkFTYZ4/4uyc8KF9VNaLon1Fd2OApU3NybwbuYDuvxhtSrTP7Ozs2RaJ2oL8UMxXaTJ7Gh6emjzNg231rR/xvcn+vmKj5LcV5T6NNuaJfptp/+cNm8L1orWsHJ4WXiV9W3tb2PaBofmHEkNbKuoyW6qcbdn/3DHhb/IsTE8udIQ8jaFWv+Q7WgnD5Bb1HcR9VQlwOposWHcl0TBsr8wpNOv27410do63lVWRB9TpKmvhgYAwD8cCQ52TCqyYxWtueB9eYaoZnmmVZLFWO803jBD6HAS3MU2nTe1VbfiRpPs4VqwQFBSNxwkWpUwqFvC+Iy+bU6SZR5vdDkVgUF3gdzjzj46OHG0sLDGPNfEVnb1/5S238Lyl/PGHh/QmVQYkG0JJOC1Lg2q+eaJEqfcSVlPMmeu6u/1NNtOgw+lvGTeZfr7H477fLQhhpTo/M81SVUVxiOFwDeOmFeuph+5+2RJIMUsH16Kg0NiLPLXRiL//DFiVGrMudyh4B9m00n4J4xNBNJ8hj0t7F9o96Fb/YiSSgY1m6WtJGsO1H65xzEs4R0XrmmGzkxBMSdrnXoq4QwGdqTJLW6yOJJPB5m5LfWlajslAACUA04s2vr3eS+xSL+E5Obwdv9gTbn916Mp7ibNokO8nz0uxRZ+Yi5v9DK2R+hk+JysYK0vKV5LydfOO00mxcevISjRd7TRz7vVLe2Bwptg/ihhoisu0CMHmzXL79nj80oZuuIY6/heeuj/Cs71u8C48Ybmt6xLluxH5/hbyXSFmpXaD6VKSpxoKvHV0OHnsyMjQ0WhvwN/XWxdM/MvkqZNT04+dHUoM9Pf2jYxKNSME76EtYk5u1gzdXTVD3GzQqhHprI9G2kZbk9Huum0VWVYuMPjuzKm6/yLztVsXxsLTgRWtyjUl5WQZyn0R5eYyRnpi3cx1bABeLrU730z35t62qb1d1m1FmZGI11U32F0XKs9a/rT+9MTMqdJCRYvw8qPlnROdrTvqciQM4zi0ofwsvCohhR4PbZ0TkdbGfbglmYz8DJaHxwHnFiNeuxAvTjzzrlNLPPTiMQnNCuGGXWxS9DSNLaoUjGmwa4uzo2cwuyM+plRj07EUmlW+UjtfqIqEsxujfdmqUr3OWVMkS8vIymCPtJabqlpqw6p8ZXaaTM7mKBzBctxfE1OTLaTU5yjYtIy8/LS0LLWmQLRfgzZ1kSBlO62rXrGmcDqsLzotraldHR2J3oHw2bNcraPIdgwUgcOHA58nzCJ/cO01PAvkbVbRuxoYXIs07w66oiW1XDi6JVgfxCPOd8tNdV6wSP0LbuJazBO6K5L6VwPAzecHn49OlrGQ4emGJaEF/1enLK7TP0n1vIu4pkhcY6fnCRXgWoO0dv1KLp4Z7MBzRZoj1H2my1ObDulVda1NDrw6GqnM341Xux5+HZZe+GvX1rNLb52pqDr1U+oPBeS2ZBPNXStv5ww0d28n/vSJ+PJSYuFU/MbS0vtvP/vs2yJ2yjVO9CGf2kMP6C6gpQIaAG0yEjRGAzd/Uew1lVvZCltWtiG7bLnbl2GukYHsGCytfhSuzmjKTSsqGoKlQ3k9p4xhCFG5eH6CJ1GuWjxPQ2oroQPp5PyksACKKO4nHoEvCb/pw5unHJCEoF24kjoLT8IHzHVpb6q5+/cMMkN/0CD0PTwkvs8Rz3DoI2eQLtcTdOayOMIHcZyP/zSPpnDNgY01klSDdPmuKHx5U0U89bvJb5g5ooVvSr+b4ElDK/wbGOfASOVhDMn9Yk9z/p9dLf2ex1/c6EC38eCL+17zxgOip20QraH8WUHdtA+U0D0bFgLMW/k9ysUDNeqGlUQiLRK5/BAq3O4vMheb8svnyExitQOWJC3DnROKlrwy51zKL3gZZevoHgC+UKIGdYHtHnmXIxE4tiGsWY3ChBay+D+N7TlcAHicnVLBTttAEH1rkohWFeJWVephjkGVLcfQSMANlCBFJKCYRFw3sEmsBC+yg6J8RP8Ecedb+gv9iL6stz2kt3rlmTezb2ZnZhfAAd6gUH3jv1hhX332OEBDRR7v4Zv64XENh+qnx3UcBB89buAwOCdT1T7QenVRW6zIr3sc4JMSj/cwVt89rkHUu8d1fFW/PG5Agi+4hMUzNiiQYYY5VhAkiLmOEXJV+JTeCVmCC0SUPWg8YMHYNUrqjD6NHI9uL0LfsQZuv2JuGU3auctkeJLGElNa1sk7+u6pR0jRwZBScEV9Q88trSNmxKV93hTZbL6SJI6Pw5DyVCYbuYikpx8Wdl0uMtH5o/SifiQDu6Yzk6bNZWLmejkVO5U7cy+jtDNM5Wp4M7pNj5j3mgWnroESLbaL636q87JFtO2hwJOrFgNbPGnqrmtk5XTBsRk3tIiRgjP+u/lCNmLIe2ESzYiK1aa/5Uec0ELX5quuLWZGkiiWM/lTRTg0s5elLuhqhy12nbT/rXn3DOxGb9+i4UbJu6juoSo5xgkxxqYoM06KR8cn8j/5fwNy7n3FeJxtzM0yQgEAQOHv3mvGIlOIhkW76MffLYPaGkKoEAo9gI1dL2DjhTQeL3eau+zMnDm7IzRn9q1iEdeJgVAkY0VWzqo16/I2bCrYsq2oZMeucvKoqtmz78ChI7G6hmMnTp1parlwqe0q+d7ouHXnXldP34NHTwaevXg1NPLm3YexP7+mfoIwiIKl5cnXZ/s8jtPW0zb+AVqAGGAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQncgZgHzGAAGqwB2eJxjYGBgZACC2wqnqkH006bXcTAaAE4sB6IAAA==')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,d09GRgABAAAAABW4AA0AAAAAIJAAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAVnAAAABoAAAAcpiahOkdERUYAABWAAAAAHAAAAB4AJwBAT1MvMgAAAaQAAAA/AAAAVla9YghjbWFwAAACTAAAAO8AAAHSn4OMU2dhc3AAABV4AAAACAAAAAj//wADZ2x5ZgAAA7QAAA+3AAAYRDxAaZRoZWFkAAABMAAAADIAAAA2LDEafmhoZWEAAAFkAAAAHQAAACQEwQE0aG10eAAAAeQAAABoAAAAfgjBBRpsb2NhAAADPAAAAHYAAAB2oAqaBm1heHAAAAGEAAAAHgAAACAAfwBUbmFtZQAAE2wAAAGfAAAC8VI/1gdwb3N0AAAVDAAAAGwAAACWBhUGdXicY2BkYGBgYmSb+XL9xXh+m68M3MwvgCIMT5texyPo/4pM3ExbgFwOBiaQKACJ3QzxAAB4nGNgZGBg2vJfEUjyMgABEzcDIwMqYAUAOnoB+gAAAHicY2BkYGCwYghkYGYAASYgZmQAiTmA+QwAEIUA1AAAeJxjYGRiZtrDwMrAwNQFpBkYeiA04wMGQ0YmoCgDBzMDDDAyIIGANNcUIKXAUMu05b8iUOUWhvswNQC8Fwp1AHicHYxBDkMAEEUfS9ImghokhAWJWIgUJ2BDr+F4DtGT9dcs/ry8yXzHuMf5/APcBxUTXxZORjpy8SUzkRLTYGREHBQyJmN4BOJBe6PmTasfn52eUC2IZ90KVhLxi6eajFJ2/gGY9wngeJy1kMtKQmEUhb9jZmr3MrunadmpPJllVyKIKAyCQgRpFL1BNBXfyQfoMikq7EJNaho9yOo/p5Bo5KQF+7Lg27D3Bpr4jhEsXD0YZ3neT9VUm7jpgiYnyZBjg0222WWPfQ4pUKTEEcecUqYimQmXdMiybsgtdsgb8uAXecKZS+pTH3rXm171omc96VE13etOt7rRta50qQud/2zVkKwAddzymeT7C3in+uu+OdBCMBRu9Uxbewed0NXdQ2+Evij0w8AgQwy73xj1oDFi8fFEcmIyNWVPz8ymnTky89mFxdzS8soqa43v+l/6Av1VOdYAAAAAAAAAAAAAAABOAGAAdgCWAL4A/AFIAYABpgHaAgACKAJoAqQC4gMwA3IDsAPSA/4EPgRuBMoFAgU+BXYFiAXIBgAGNAZwBqQG3gdOB4gHtgfwCDIIUgiqCOIJBglCCXQJ0AoMCkQKdArACwQLTAuOC94MIgAAeJyNWHtwFPd939/u3a3upLt9P+5ud0/32L2HpNvVPZGEhNATEGADAmJeQlYDgx9YxcZug41jcEohaeqmxRO3njbjppNiN/FkBhinSUhJOpPULukfGUyL85gwHqfBbifBj5I4PfX7272TBCaZMtw+fnf6Pj/fz/f7+xEkkSQI9DY5R1SJPoLIiF2IDqRTVrVSTy8+pCoDqHmtlUsyg8qtewn/vpxN02X0dm2UodO8Gplm6AyvMnqtlmNX1GpjYXiN+zqmI1QO7mGtVsuy9ce3slvfnZ63o5x/3rtOH51+yI7p+93L9NGjRwlEVFEbuoJ2ETRBEGI6maqUk+hKrfFqrYZqaNf0NJhOfBsuU8RJop0gTNGzGBuHprJGPI8/Y/F8TodH+G194WV0mTxLMPA3Io2a/iH395eDjQthjVeDaATfyFO0+L97O6McLZJf6IyCAfD3++DyTfIgEcO6ulCqCiHhQAoIqeGQSFy5ZCD0zeL7tr3JtrNdqzIdUXNTmOVM07TQ8ZSZIelpzWmEKR7LK8HlKsjr8mxPgqBVqFatWOlUgJalZe5IIh2BSHvP6CqvNc7Z3JWD2wczfe0dnQKfnN8+c+wB6VjsNTYWDzu6YPGR8/ds6V+d0RlB0WLa2P4H7zmwV7hfVuWognUXFt5H10B3/da4gSID8lqrWK5/sFT3DPqIPeDotU/snXnSkGQ9xK/PrJxaN9xjJ+xy2hosjhmBhCB27t+x9b51xRVfXXdoejSmGZLQEZPHPzZhqaxm9Bp5tSOs6FqsNrZtYPuK6GaIMUnEwbhfkg8RacLyoizhmEqtcFe9nAlDaACBGRDwNEehX9pjlQjL2S/bdvW/NSH043ZWihv8mP31b79q7qB4iL+1g9eiEbSbbRP0xldRb+PfCFefix90FvCDw7LMRe6OaGp90EEXVoVc45UWvkjiKwt/iO52ZXXeKksQI6RneK1eRLfL9Ce6rRCjqt2RTsMyOgtLsp/NjWcllRE71ByVj+rZqofDKlFHV8geQmrmLmti0WYzMWEkoysxNsI2viHH0DA8xOKNGygS3yvI7a9xosz9S7ssyPyLL/K3yoKa8Ddrogd5lit+LKvxT64QFGnciGPBaEyG4C+JkV3BXjyhVNC7kD+TyDWrxHW4DiSB0xhBbiKhWiCFJVkRSoqcbUfo3dIcw3GqLnxO0FWOY+ZKUtA4TKv9Kn040Sadr9dNk+I4JYK2bUMRheMoU22n0K/0CKM32nzBryBf4zcEQbl+vAl8pgKzFdz4tAo17d5wiAJgShYjHLBVU1oP6M2ZTb+wHZ537B/ePePkywP7e8qHdq3slyqVJx+pr3xp5AAU8SXLnB0qjIv8lp8Z9XOD71kTl1binFhQT28t1XIz88oQiYlBR+B4GiKRLcItIIky6MNfoLce2zb3zDNzo32UH6GIaFKiwAo+KjjSNTx370h2ykdZhX+YnD9/4o/Od9EhH5KcEyzLdoTD9VWf3rf/05WVadCtggE3wef+JR5p+ltOluRF5YMoLZWHEK6n5pqVhZVqBTIBuUE3Ba3xpONIkuOgBzSeEkRBoH4yj5gY3ClBiDFo/n1KtAQKCMYLhahNgjkcy3Sf71RYltnJcKyS/NcBFq9imsVcid4B23oxviKoZQYOzpIZVVgpLdb4ouUSesdV9+ZhJu6ZEGcOd9n2s46jqmDkwzqP3gGNWP/FpMJh/SynJC9amG4vmZaoufUiNuNTXsbbd1AJ4JBcwqkuewOGQTftR2ybvcDa+M5x9m2voMy8dKml0zLPnbNgpVF2da+Hy0XQrWDdt6WmJf+i03jbcWZnwSXJvWOJOLyuFEQYIOM6yEh8JL+LRi4m8TqvNz5n25pm239t2/Yby/OFjWuUByAzkB6o1Spg9gpgVsGoJcSIL1X0VYZ8JYOiKx5SacCq4jaEeg1d8QlqZWDfQFXlfT5erXqPd3UES/X+3lCwI2j3r7Tb2tGTz+/ZYKoBfyyzcffzezZmYv5A1Nzwt8d70nK8u/vRU05GM7IV0I9xew38ihIply/dOvxITmR6sUKv3b/1EEToCQ+kV6cf2Dw6ODMzOIrOTD30RS8Bljm/Lj/x43HMRdLC+2Q7yB8kxltMickIytBargr3EldZs6kAP8gK3AyyXIJFuJJNC8h2u2eFFg6gYFDvGcMAKHJsmOPw9cvbD5p5oyOIqCAdCrIhOn9mZGDVqv57zTW9cm+fIqnBKAYmx1OQCbjuH09PxaKGOqkoRljl5DYSBdetvNis5/fA7uzymuFuCY3UWodCcivlPTfRvw/Vcca2uw65b4KOnlhWIo2y5eKq23uf1IVmfYQWbpJkSx9NQZxsdwzMUtYixARMVwkkNJNCktZ4oGC1laodyUJg3LI32DZTLnakzFBPmbHhlRxMUY1g3nj7F9E8+h8qhbF34D/i2hX0rGl5fQxaBvoQ9Oaw3i5ELbV6nCaoUWoR47RS92xBH9rsZ1jc7B/GF/ZPIAv7irmd9+SK+0Cn2fjhGdzv8ecMykC8M+Rrr5EZ0+2bC7PoysI5PE/6bp8np/A4CZhxFn5NBtE3oNa6W5hpsnndStMeW1XKmFWBw7PVCHLJvD5EksG4cXe8b8v63X/zKd+8gzp5yTj98Tk2bZ+fna/kSimGJa1oWE9vWTFxFzVNaVFNvWtm1aXAqnW+QjJusrQYBv2hhV+7tR7D2VjUD/FYLAfdHVhpd0oEAsWtBF1/YnrAJi1BpDK2M6nzleFNhzdPlLtGa05549U9x3IpqHj0n5gRv2Ad2z24fTA3mZ/eCjGZAH2Xwd8M1tacUjDk3WnPRqkI1XQQSABdZjNTpT2fjJX3Dj5nyL2onKl3SvS2gRElwLOFQ8F0d+fTuzJTEz13qVodKamuNDu0vcYFwa8UxBVjTPe6MuTYyi61yepic+ZwVF3fvC5Jks6kxpGl1ZsefRx89NzL2F9aWShvnCg5qyyLk3uO7Z55Kn0Me9dQPzGeHdw6PLh92ptHKuDfD8C/ON7pND1sjrCQzCTmNte3rDt0ox+IufX27IlP7tizH0iy8bPw9sqkQrNcYVtktrim41BHpmA8/Y9PH9kpiVRtVY0NPfTgoIOxhWvnFfIAZlJ38sumdNSCs1u6t9K267ZBolcSgtmxaR62CMX5nY7TuOk4O3fazo49Ix3RXJTMKlphzMJgblxzi9cwra7hdVS7gWed+EISLaAL0NeGiLsxg+OAZltbh2xAkhWDrEFYFWxHwJ3smh8cdPgAilqBFipFX6pJ+TJAakHn2+MBhVPmJoomhYJ+tk1F4ztrmfTJfz45LvDGvZOlbrsv91xpTamUSZfvCwupeDGm1gzWnPnjGfRcMcpyvrZcfmxWavcL7RBcpAsjyeHt21ZvKBqWqeeqI7Pxzr/PQLoztWrje6zKtgcoX0jJJopFHFPY05EIMNOzvG83cX+nRuFWBv6KRMXTjmOoqcKatGP/VdFOZ4o24KY6eiJt473Y5UJmeOjvlsaELxb+4qqHlylQ/Cq5B+bIxO0du4VPygtlDWb4V53GTx3n4D7HOaXze5xTSScJ/93dnoGno8Z30RtqMqkqySTI7l5IoT8A2QkiTxB+MeLSW61FJrDRWlJTX9LxSCiWHS08k5CETj7eG5ces52/1HmfpyotFyu5+GZV0xQ/ZSUcdAK780JLJyIE8Kdxy+wDszh9xz4rcfXFLoi/pRUo+YbzsC1H943nYOyy7RzchjX+uNvxYAxLzJ+Kw7Riygx6enjMao4t4PfXj+AWZ5n3ncX7brDhdbBB+m0RRa/bjW/ZzqOea4+5KfIS01Dh73FiQuhrxNiiD/UWDHAdN7366FKZS3lNQ2nC3SDx12TIWdudDTN6l672rO2RhDBjFHSlZ6sTNYyokzDpTFdvLLuis4v1GVETt5A38onRvi8xiuspvIz0uy8Kgwy4K1p3d7qeZN5kvL7m4hbs7f5/4lb5nbDVeHQn3AITcCKGLUnUgONeB44L4knX231g5NAtGoVqfv3x6a1Hjrx4ZMu6cmlq3b510BOeunD8+MeGNm8ZHN61y8N+aCGHroPdy3rfHYGi3LkBFbHRtpPGHB0TUHnkth70smv3B6bF8tlbehCeb38OetMud0LOIuh3FLiMfq7n9PXTvwd0aduTk7Z9v86P7uwvoMNyXOXJAxOHPKrEQIyMdnk5GYcYfR9iNNbqArj7wPiEuR+mPfABBkMyW6SgACgPLUu7Ni+OCWT40PfZ7Ka+taVwHG/VJNYf2znQL3fraveKkSSt5tb29hfaYvg7TvChwPRAX/XjrF419WNSoUeDit0DjZgRNqXirMIEfHQ47iTD8UxcgH3EGHSccCRsx0WtgydpMe6A3QrY/R2yq5mRlAWTYBNP7sDfipM3rQ65y+4h1Hdmjm7ZWLQ3uIPg523789AzlIiuUwIvCtTx1WtGJ94yrTV4J8Ayayzzpx1sNNJmRMMswzIYw9CvETqLmcrFsBeupaIVceccQsuXMIDtySztDP65R7f+zk4xX8Bw0IRM0bKiiSduuEX9K17kQz3m99yX77r5kRd+gz4AfYnmLOgOPVlq2SYn3lKFPrDVgx02w0mBg6ptH4LN2MwMix/QZ83G1yyK49Gku9d5C8Us08t/BOQ3QH7Z688UhgBMud4umGryhIHcAwrFPd9M4ENPbxAFGlTj/WRAFpOMFe0QOxO8rz+u9s4zHPxjrC4rnIxLEaFgwULvfC/6UzXS+BbLhKU/21VSRRWtjqgwkqY46uZTsVhl6gPc0T278HnJDbCrdAs/LzvxqmeXD8FNexbp+YZzyJakNeOKZB9ynPTDD6YdWMkN9IliES8ceCyN+VliyLk5xMhQgKdPQnFkyI0bESvB08nTnh0q9CYc/0oz/hHfssO+CCnBDnCIrP/WfJymgnpnRbNKcUXWKJ+PyUf8bAR9JurmJzy3bTE/a4Oyk9GraVnTZH+bz4dS8VBPkUSzbsY+RH7LndUxDn4E9rjnKXSyeYqE3I1Pemnn4w42NFra//5Ia3wW9jc0h1L/7p1giBpaDzCnucZPrnu74TxNCQIT5pDAe6cXPZqIVyJs47/01tEF2FBbeBn61ll8Mu531QI9DCIr2zwYhWqru7OyawSEC4Zl4Awan7gYpAJdjeciO+qCGiLJx/NqaDQjBVF+ZDAR4Xg15IuJuiy2l0p+qd6d74JuabRrnRL7QrffEngmJMdeSnRLQUCKwCMUaGPbLxTTnUPPR1gxhIhb7HOaMyegWaLFgDdVDIGpMOrBBWgNnzfAFAjmydguNTSCbXlyba8asvsVf2+vX6735Hp3esYeyaNebIIUf6k4AMagoMiEv2ynEkPPM1i7abmmMi90Bwji/wAdZDh7AHiclZLNSsNAEMf/G1NRD3rQmyJzEhUS0lQLeqxYoTQq/RCvqaZtaMmWNFD6DL6KePRRfASfw383i4J4MSGzv5mdr50NgG28QaF8Hr5ZYUvtW3bgqsDyGk7Vi2UXO+rDcgXbjmt5HTtOjZ7K3aT2aqJWrLCnKpYdbKgjy2voqXPLLg7Vu+UKDtSn5XUcOru4gsYMS+RIMcIYBQQhAr41eHxLvqB1QC9BAz5lCzGeMGHsAnOuKW0xMjybPR+R8bo1+6XnyuOYemYyJawUY4ohNW1kj7ZHrn10cY0OpeCG6x0t99ROmBFXerbM09G4kDAIap5HeSGDpTR8acVPE72YT1KJs2dp+ZEvt3pBYyrHOpNBMo6nQ9FD6SWP0u9ed7py07nr33dPmLfNhiPTnCYXqPLIaEeRznS7qJIb3JjydGjoKWXT+BZmzTm2xAzNZ5Tgkt9f+bzvJKVPnZaqHXBIDU2dFU2djxIJ/UAu5ae+t6pKS92r8shh/e+GfwrgV+jqL0zY6Jy3UN5A2WyAMzIeknyeckYsG5zJv5N/Af7Heg4AeJxtzckKgQEAAOEP5YwsJ6QQUYqk5CT7vmRf8jRemz9nU3OcRtiPz9vOP7qBIWERUTFxCUkpaRlZOXkFRSVlFVU1dQ1NLW2doOzpGxgaGZuYmplbWFpZ29gGx72Do5Ozi6ubu4en1xcb9Q6KAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQksgZgHzGAAGEQBoeJxjYGBgZACC2wqnqkH006bX8TAaAE42B6QAAA==')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,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"/><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+//nqbNm1EZOrUqQsW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"/><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,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"/><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">"multiple<span class="_ _8"> </span>definitions"<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">"header_A.hpp"<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">"header_A.hpp"<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">"header_B.hpp"</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>"header_A.hpp"</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>"header_B.hpp"</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI2ElEQVR42u3ZsUkFQRCA4bdyg6E1yIMDKxAxEwRjQ8FWzMQmzEyMLEIMrOHQCoxe6J56BoIIgsIFz1n8vgqG2eRntix39xcAAJDGw/3dhi0AAJCNSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4FOptdoCAAB5RIRLKgAA6YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIA8L91Dc0aMXgwAIB5xrFvaFqXVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAQItKrdUWAADIIyJcUgEASEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAHzRNTRrxODBAADmGce+oWldUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAAC0qtVZbAAAgj4hwSQUAIB2RCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAA+EtdQ7NGDB4MAGCecewbmtYlFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQCAtemsgA83y1NL+O748coS8nt5fTs4u0442O35idcBmKfUWluZNWLwYAAA84xj3071he9+AADSEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAgMxKrdUWAADIIyJcUgEASEekAgAgUgEA4Dfd6mLbFlibp8NLSwAAfrazd1TK1ua0el4spmmyEAAAUngHkoo0/FYxCOYAAAAASUVORK5CYII="/><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">"header_B.hpp"</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">"header_C.hpp"</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">"header_A.hpp"</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">"header_A.hpp":<span class="_ _9"> </span><span class="ffa">already<span class="_ _9"> </span></span>included<span class="_ _8"> </span>by<span class="_ _9"> </span>"main.cpp"</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>"A"</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>"header_B.hpp"</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++20’s<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>beginner’s<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>"A"<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><module_name><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><namespace><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><entity><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>{<code>}<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,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"/><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"><iostream></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"><<<span class="_"> </span><span class="fcd">"Hello<span class="_"> </span>World"</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"><<span class="fc0">iostream</span>><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"><<<span class="_"> </span><span class="fcd">"Hello<span class="_"> </span>World"</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">"sub_module"</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">"my_math.h"</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>"main_module"</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>"main_module"</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,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"/><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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAId0lEQVR42u3YsQ3CMBRF0RjFooqYAVExAULUSNmMJRiHgiHYgCpyhRvTUSOa/IhzJrCem6ufdodTBwAAYTzut5UVAACIRqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAPCRaq1WAAAgjpyzSyoAAOGIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARKoJAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAwCz6Bb21lOLDAAB+MwzDgl7rkgoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAAF9KtVYrAAAQR87ZJRUAgHBEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAmFk/XbZWAIA/8TxfjUB8++OY0mbdplfXtdYMAgBACG+MAhoCAGR7wwAAAABJRU5ErkJggg=="/><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><path_to_library>/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"><library_path><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"><library_path><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>program’s<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"><<span class="ff5 fc8">char</span></span>,<span class="_"> </span>std<span class="fc9">::</span>char_traits<span class="fc9"><<span class="ff5 fc8">char</span>><span class="_"> </span>>::</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><name><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>=><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>=><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>=><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>=><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>=><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>=><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>=><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>
|