Modern-CPP-Programming/htmls/13.Translation_Units_II.html
2025-01-30 14:34:16 -08:00

1220 lines
521 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!-- Created by pdf2htmlEX (https://github.com/pdf2htmlEX/pdf2htmlEX) -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<meta name="generator" content="pdf2htmlEX"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<style type="text/css">
/*!
* Base CSS for pdf2htmlEX
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
* https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/#sidebar{position:absolute;top:0;left:0;bottom:0;width:250px;padding:0;margin:0;overflow:auto}#page-container{position:absolute;top:0;left:0;margin:0;padding:0;border:0}@media screen{#sidebar.opened+#page-container{left:250px}#page-container{bottom:0;right:0;overflow:auto}.loading-indicator{display:none}.loading-indicator.active{display:block;position:absolute;width:64px;height:64px;top:50%;left:50%;margin-top:-32px;margin-left:-32px}.loading-indicator img{position:absolute;top:0;left:0;bottom:0;right:0}}@media print{@page{margin:0}html{margin:0}body{margin:0;-webkit-print-color-adjust:exact}#sidebar{display:none}#page-container{width:auto;height:auto;overflow:visible;background-color:transparent}.d{display:none}}.pf{position:relative;background-color:white;overflow:hidden;margin:0;border:0}.pc{position:absolute;border:0;padding:0;margin:0;top:0;left:0;width:100%;height:100%;overflow:hidden;display:block;transform-origin:0 0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0}.pc.opened{display:block}.bf{position:absolute;border:0;margin:0;top:0;bottom:0;width:100%;height:100%;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}.bi{position:absolute;border:0;margin:0;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}@media print{.pf{margin:0;box-shadow:none;page-break-after:always;page-break-inside:avoid}@-moz-document url-prefix(){.pf{overflow:visible;border:1px solid #fff}.pc{overflow:visible}}}.c{position:absolute;border:0;padding:0;margin:0;overflow:hidden;display:block}.t{position:absolute;white-space:pre;font-size:1px;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%;unicode-bidi:bidi-override;-moz-font-feature-settings:"liga" 0}.t:after{content:''}.t:before{content:'';display:inline-block}.t span{position:relative;unicode-bidi:bidi-override}._{display:inline-block;color:transparent;z-index:-1}::selection{background:rgba(127,255,255,0.4)}::-moz-selection{background:rgba(127,255,255,0.4)}.pi{display:none}.d{position:absolute;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%}.it{border:0;background-color:rgba(255,255,255,0.0)}.ir:hover{cursor:pointer}</style>
<style type="text/css">
/*!
* Fancy styles for pdf2htmlEX
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
* https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
*/@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes swing{0{transform:rotate(0)}10%{transform:rotate(0)}90%{transform:rotate(720deg)}100%{transform:rotate(720deg)}}@-webkit-keyframes swing{0{-webkit-transform:rotate(0)}10%{-webkit-transform:rotate(0)}90%{-webkit-transform:rotate(720deg)}100%{-webkit-transform:rotate(720deg)}}@media screen{#sidebar{background-color:#2f3236;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjNDAzYzNmIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDBMNCA0Wk00IDBMMCA0WiIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2U9IiMxZTI5MmQiPjwvcGF0aD4KPC9zdmc+")}#outline{font-family:Georgia,Times,"Times New Roman",serif;font-size:13px;margin:2em 1em}#outline ul{padding:0}#outline li{list-style-type:none;margin:1em 0}#outline li>ul{margin-left:1em}#outline a,#outline a:visited,#outline a:hover,#outline a:active{line-height:1.2;color:#e8e8e8;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;display:block;overflow:hidden;outline:0}#outline a:hover{color:#0cf}#page-container{background-color:#9e9e9e;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPgo8cmVjdCB3aWR0aD0iNSIgaGVpZ2h0PSI1IiBmaWxsPSIjOWU5ZTllIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDVMNSAwWk02IDRMNCA2Wk0tMSAxTDEgLTFaIiBzdHJva2U9IiM4ODgiIHN0cm9rZS13aWR0aD0iMSI+PC9wYXRoPgo8L3N2Zz4=");-webkit-transition:left 500ms;transition:left 500ms}.pf{margin:13px auto;box-shadow:1px 1px 3px 1px #333;border-collapse:separate}.pc.opened{-webkit-animation:fadein 100ms;animation:fadein 100ms}.loading-indicator.active{-webkit-animation:swing 1.5s ease-in-out .01s infinite alternate none;animation:swing 1.5s ease-in-out .01s infinite alternate none}.checked{background:no-repeat url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3goQDSYgDiGofgAAAslJREFUOMvtlM9LFGEYx7/vvOPM6ywuuyPFihWFBUsdNnA6KLIh+QPx4KWExULdHQ/9A9EfUodYmATDYg/iRewQzklFWxcEBcGgEplDkDtI6sw4PzrIbrOuedBb9MALD7zv+3m+z4/3Bf7bZS2bzQIAcrmcMDExcTeXy10DAFVVAQDksgFUVZ1ljD3yfd+0LOuFpmnvVVW9GHhkZAQcxwkNDQ2FSCQyRMgJxnVdy7KstKZpn7nwha6urqqfTqfPBAJAuVymlNLXoigOhfd5nmeiKL5TVTV+lmIKwAOA7u5u6Lped2BsbOwjY6yf4zgQQkAIAcedaPR9H67r3uYBQFEUFItFtLe332lpaVkUBOHK3t5eRtf1DwAwODiIubk5DA8PM8bYW1EU+wEgCIJqsCAIQAiB7/u253k2BQDDMJBKpa4mEon5eDx+UxAESJL0uK2t7XosFlvSdf0QAEmlUnlRFJ9Waho2Qghc1/U9z3uWz+eX+Wr+lL6SZfleEAQIggA8z6OpqSknimIvYyybSCReMsZ6TislhCAIAti2Dc/zejVNWwCAavN8339j27YbTg0AGGM3WltbP4WhlRWq6Q/btrs1TVsYHx+vNgqKoqBUKn2NRqPFxsbGJzzP05puUlpt0ukyOI6z7zjOwNTU1OLo6CgmJyf/gA3DgKIoWF1d/cIY24/FYgOU0pp0z/Ityzo8Pj5OTk9PbwHA+vp6zWghDC+VSiuRSOQgGo32UErJ38CO42wdHR09LBQK3zKZDDY2NupmFmF4R0cHVlZWlmRZ/iVJUn9FeWWcCCE4ODjYtG27Z2Zm5juAOmgdGAB2d3cBADs7O8uSJN2SZfl+WKlpmpumaT6Yn58vn/fs6XmbhmHMNjc3tzDGFI7jYJrm5vb29sDa2trPC/9aiqJUy5pOp4f6+vqeJ5PJBAB0dnZe/t8NBajx/z37Df5OGX8d13xzAAAAAElFTkSuQmCC)}}</style>
<style type="text/css">
.ff0{font-family:sans-serif;visibility:hidden;}
@font-face{font-family:ff1;src:url('data:application/font-woff;base64,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')format("woff");}.ff1{font-family:ff1;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff2;src:url('data:application/font-woff;base64,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')format("woff");}.ff2{font-family:ff2;line-height:0.898000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff3;src:url('data:application/font-woff;base64,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')format("woff");}.ff3{font-family:ff3;line-height:0.704000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff4;src:url('data:application/font-woff;base64,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')format("woff");}.ff4{font-family:ff4;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff5;src:url('data:application/font-woff;base64,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')format("woff");}.ff5{font-family:ff5;line-height:0.915000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff6;src:url('data:application/font-woff;base64,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')format("woff");}.ff6{font-family:ff6;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff7;src:url('data:application/font-woff;base64,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')format("woff");}.ff7{font-family:ff7;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff8;src:url('data:application/font-woff;base64,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')format("woff");}.ff8{font-family:ff8;line-height:0.921000;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.922000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ffc;src:url('data:application/font-woff;base64,d09GRgABAAAAABrkAA0AAAAAKMgAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAayAAAABoAAAAcoqQZQEdERUYAABqsAAAAHAAAAB4AJwBST1MvMgAAAaQAAABEAAAAVlWY/qNjbWFwAAACbAAAAO0AAAGyaIMXTGdhc3AAABqkAAAACAAAAAj//wADZ2x5ZgAAA/gAABRyAAAgMK9UmuBoZWFkAAABMAAAADQAAAA2KKmSgWhoZWEAAAFkAAAAHQAAACQEvgEvaG10eAAAAegAAACEAAAAogzvBxVsb2NhAAADXAAAAJoAAACaHTEVoG1heHAAAAGEAAAAHgAAACAAkQBTbmFtZQAAGGwAAAGqAAAC8Z5x0Exwb3N0AAAaGAAAAIoAAAC6B2EHQnicY2BkYGBgYmSbEv3bMZ7f5isDN/MLoAjD44PLk2D0/1//ZZh4mLYBuRwMTCBRAIbxDgl4nGNgZGBg2vZfBkjy/v8FJHkYgCIogBUAaJgD8QAAAHicY2BkYGDwYQhgYGYAASYgZmQAiTmA+QwAElIA5QAAeJxjYGRiZZzAwMrAwNTFtIeBgaEHQjM+YDBkZAKKMrAyM4BBA1CQAQkEpLmmACkFBUmmbf9lgCq3MTxhgKoBAL8RCod4nB2MOwrCUBRET6xeoSIiEj9plIhFCpGEPGwVFMHaJbgKV2SXTWQdbsNGj7kwM/c3k6R0ldz+BL0BT9YceHHnRE5DpHXe8aCkIJP3aiG33TUXSyZsGTFlxpgrRzdD++imZG5234QoAmdWVGxMCn5W349aiwUXHYHUnExPzVs0P3VaEgd4nGNgYGBmgGAZBkYGEFgD5DGC+SwME4C0AhCygGkVBjsGNwYvhgCGUIZwhiiGeIZMhgKGSoZaBcn//8EqlBg0GBwZPBh8GIKhKhIZchiKGKpBKv4//v/o//3/d//f+X/7/83/N/5f+3/p/8X/5/+f+3/2gRHUdryAkY0BroyRCUgwoSsAeYWFFaiMgZ2Dk4ubh5ePX0BQSFhEVExcQlJKWkaWgUFOXkFRSZlBRVWNQV1DU0ubgUFHV49Bn4HBAGSCIYORsYmpmbmFpRUDg7WNrZ09g4Ojk7OLq5s7g4enF2E3kgW8iVcKAAwVNSYAAAAAAAAAAAAAAAAAACgAfgDaAQYBNAF6AZwBvgHSAegCCAIsAlICmALqAx4DYgOgA9IEEgROBHQEpATOBO4FFAVWBZIF0AX4BkgGjAbKBuwHHAdIB6QH6AgsCFoIvAj0CSYJeAm4CcwKEgpMCpAKygsACzgLpgvgDAwMLAyMDMYM6g0mDVwNtA3sDigOWg6uDvYPTg+UD6gP8BAYAAB4nI1ZC3Bb1Zm+5+ppSfetq6uHJV1JlmTfa0vWW5bfdmI7jmM7fuThxInzgJA0CaSQQEMCSegj2xYKzG677dIp0+5Ou0spUAhsu2Vn6bTbzLQzzYSwybSZQrqUtAylTGnLTmmU/c+5kh8hdEqQ7rnnyud8/+v7//9ciqaOoxH0IH2QclIeipJs1lg0jRLFXNaj2Kz14WUGqWETQ6sCH3qGoXtqQ7rnfFP8bNjv9dauFEVTMYpCv6F3UZ1UL0XF3TqysXQsmiiUYouDaCHfieoXvD6HcvVrVsZ/kssmY7Yc+k1mjYu2ChzvYRfqg1gm2yp0ZzMjnDnKe03sQu3alMm2CT3ZJxaEhR/Gd3o8ooc/WrvEEw8m4od1r/8g+YLbBx+kKMpEVa4/ic7Tz1N5QNuP0VptsjsW7UYpVMhjQLLb5lEK5K5UyOeyQRQyyW7QUSJfSiTlEEoWWCS7QygPd0V0fmGtGtk4GxKkACeObRufn4io6dUJIcwLQVYcnVv/VrbYdaGcTj/Zd4szoelx+y09jUpAUly9zBVhR6Zr3hnXtYQ5ks74gx5fqyvvOive+onvNhRD0ezvRjod5xsAN6KeANxnALefoiwETTJRyJd6kIHYarPKbo/iQWc40b0zNjmUuE0WOWZzWp/aIhWc0vrcnQ994mDnBsnJN3Ru3rRz7tkujiLrboR1d8C6Abhx21iEzZUvFUvFQp5sQXaAhXesWNLMM/KO2CTK4EXdDs5RW5ThrS4XbGasvYqaQ2fpBipD9Iy9DLCCC5Swy8HavQjvAEoPI7iCG9hKhgU4BDuedXNO71bTkGm/o4FzK/v2KW7OJuxZmjjgvsjKXCkxoesTiT6rzHpcHWVGZuWG7vikrk/Ga3OdDsASpybRVVqiFCynjgybG/5oWDmXRVczn07EP5PJfCYR/3QGZWpD/G3I8+3rh9EW6n7KXZPH0JQxwMDRlt0x1h3oZsyuxqamxljGP7pFdnka3B10U6M/XsFrlJELXUAbqQaMIxYBALlIFl3IVP87k0EVvGsijn/3I/gagr2cS3uRLYbiAV8Cf3qNSxx+W/dpjtgQ1ZAh8vvz9up/MD5WsaPVnMIq9MN2/tpUUBbsPP2toIzloqn2639ElwkfyHiFpd1s+UQUO1a2iC7fv3HDCfwZnbljZuquKZT55PNnTsPn+N7Tp/fu/9IXAcce+OsXYR2vwQJEuYIVKxk7FMS5AEp+UfuLpm1Ol2Lx1ZpDVjdrqqpG0D+1qGHast2jXbtm6DoPX5dgrZrvYEX1IuyUsajV5pGXgZTdLA2Oa8vle+hcNoRkdEnwVZ/Rud9um+tLdjFMUODDd8xuPyFrXo/rC4EryMYzgkhrPiHCM2fHZ3uG4hHGLfu9/oFdBzbFejt8HucxhQFf5lgGY2kF/bwGWCorbSHbrBzy5LIYFZG2CPFYMjDeCNEWQui1e7dtPxZwSwFkstCJXT3rx4Y1zRdtjoj5vtxwxB6Q3IFdc9P7JrXBp0bvmOz3+gKSjbGb8msybWMR2UmbrK5It5oKOHkp4PcU+mY6N3VIM4YNgwD0d/QhKkI1GdqXDV41PNzwCKkHdSJAA2aICSb0O220S9Oe07Su/wtwDVcgpoJ+YVR7+uJZdU9Ejah7JK/CoN0QdP7q19Bs9QliF9DFJeD69pvoIoQMZYD48AQoVIBnEQJDJs546YFt03cERdAAbUdcf7Rn82B5SnNJvEALfuTUtLcKfbO3/+f0kbkevxcL70Sh4ERHfirLCRyLzI1iRP33wD1Y3izg+BnYJEhpNSQpuq5sK5GWeEqROHEMezFBh352fKZlTV/8ax8Z6vNrvgY+OnTI2fuNw6OjlY51Sm9raf1Lm+5SVx+f/dyzfS2eQKPIO/m7d5SOzJbX97XGRronlvzhTkol0WKz0ja34eMxN853KdSNCG8qENmv2bjNx02jXYXN79f8jhYFvw2t0ugBZwO3sfr+Y9nMIw8e3V3ztzaG5XjIU3Wf88Au2jJdl0hmIlKCTyUXA1RZCtXX7ts6f3ymlF17+FuH12aLs5vWHly7bt86dv1962fumXlq7e23ry1P8+zq9r4dO/raV3H81OvJSiXZ0tHxbvuaNe3ZkZFl+g1Qzcs4wUiPoMfS4oQtnzT06yHq/eLedatBsXa5ZdUeR9/0zOET3zo6Y4tNl2exhlHpoed6NaxXwcEf3QZ63XTX3880S/vHu8vr+7FdCe+hp4CLlJVcJNyUBesfdHttXD1T50Wa8PVaslZo5VrSEnvX0/7SkpYtjazbk2GjoaaAGl9a+NE122SXu8GXR82KP17AXE7l0QU6jasobJ9EMg41QhwsXyJ6YpAHXfCyDbbq0x4FDdo4s4nxeqtXkV+Z4z3IdJFt5s5ZLEgWJOG5Z3kjjuPUf6Gr6GuQH6TlGUJeyhVX09XH0gW0qVCofqOQRrvT6Hg8nngxYeSNOibIUZTbZqnJ2YaI5B7Fgi4o1addZsbrQvHqGwqGhybRUDN30Qw4Gr73LO8m2DCWRljwHeCUGNW6yOggHdRpmGbr5FJjFUXKZdMon0LJmNWG3tEOaLzkkb8keyQexpp4xCL7HD7ZckTUvtlutSJk7QDm5zl62zaa44Fu6AaF55Vr733lDToccxSrFKnXQA70S+AbLzBbC9FzPbEYyXtZJBDOK4q1Afrl/OSfdN3v1/Vfjm8rFHr7trcXj+7u75RLpU8dq3yj77aIiq5E1IWulrWiuOG3atcPVlVfnRq9bOSfZvD/18H/9RU8p+CwDiI3rpOSKVPd73tMOL2h14/M7H7ooV3DZYbnVAjziNkW1RuZwdv2rLaLybCfpmPxfx3Z/8InP/FCqlHUPgOh7tM7FfvD+/c9QjPebNRv+AC4AvoVyCziag99UGIrFhHn0l/du/BTXZdlXf/pwr2jGye2bB1DbceeMQT7zs+/94VqGMsC/on+ROrzxVxaWw38yUPEIaQVk3OEt0KoJiIER0yOYKOTvPonyKuHdT0Y1HV02CfQYlSk377PxIsGq4m86T5kJrM4txIQgm8dSAm8VvyhIuHrdnwrKT8fMqaJrn3w9Sbgy2Fp/yqWZTltEb8Mf4v3/P2p5UhO5XT9y7quqoD1mE9Ab9VgnFsB41wEFx9X1IjgAxwi7P9nA0d8KXV+YFMwAUlpucKyO2yOP2tHNc17zquRa+2ydIsLncuXcWbFmomoP/iBGomo2ESw9yh8fR/2VvDeN5iovv739eovdH3/fhApSq7q4lqwCqIGwWdfhTUiRo0rrKxAsJ/ShboE6FU9uGf12Fa/7PbbggWXL+6d0rTv6PSAWr1l1Xh3Vg4EJN7hsXCJAPqCipckfPBrWD/8AT9aVMKir/wafOW0pjU1adq/6HrpzZVugQGvZjj4j4F1WVi3CusOLGcZIcYh0o0mY8IS3eAH2BVIHISRR8kVexEhIBl7Cf4lqupTuiBKqLGXqTCrRAuSRMGYwoOKX7b34yrZ32mX/ZXatEFF6OUdLyUS5yreahvmJDJ1BY845UfdamTiOYXDc9UwzdX99l3Ananr2/DTpAkg38RpQkiRlNyiAd7VvAwn8LzbdrIdgZPsN3xmmOOWZrA17JLbZBJEtPuzVb3uPHBffeyz6JWIivmiDHa/AFzVSKVIBJkBhTnfY4bosUJ6TqEo6Q+VEILEXUQXzKKS78zmKnlFNONxJZfIpAJeZwM96mzI35N1uFwNmWNZuwtlxufHm3xWq69pfP6x+QkYmlxCvGV4PPNAKglZse1Tn83Hw2qiQHgL88xrhKtVnH2sK4vQRfqqE/Rre2ePApV83GCUK7Ph4f5bb+1H7z56x9N1Od+YW/tOrR8gdedB6CkNPk5iXdfqLFAstKhG7ZmEzjhl9JUr2BrPGXStkH/o0t7p3T0WgcdEzUM1bGrXBgp9zTo9Yu8tBpN7H6/UHjpcDC3dmRlIxey7ppqbvz78EV1xaydZlmNczs6gb0ALd7ECzSrhdHlgF352CsiF5tgjlYSas9NesT1ryIDZ/Pegn+RynlvpKXJ9nlTOwG2/J4FzHNjsaV3PHSd3UCs/sIzSqmFDXUXjfswvAJvh/ajrf6RdsF9skQ+ADlbEK64XF2dolx489KVDNZOMbBohI+yCT2w9dmwrmiV09dTI9PQIWo8ZAe/huv4eTcEeZVKtmHD9i/UP/ZjViIVl20keBTdIWXBEiNuSVN+XSgwhiySGHeacyZQ3OcKC20wPobgGXbyiu0woZXV0OWxtCJkYzQudPY6La9dcLKvY3m4MvG3zsgxL0wTeM/Nx/X+coui8qLXsQz0QIAj3KhDGu2r1A/AWJpASukHZmGNsaCnbXQEG+2ewsgMNvldX+yi+r76I7HU6w87DoV8sqZ5MVKNrFtMbrsmu70MXrp/BPb/lJj3/IdLykz78fdqGXoAOjnRXpMiol/2kq3KTG9zmQtYGhzeOomAAjSdt40Vxo7e4aWTb1z/e3xVoTEuBUDnm33mr1KR/c/upcmumKcBEOJ6OJicrQ2vptoyp6Jf9UZdpS//LtrExlG4KawLTaNQg9uvvk5xM6n8j4gxtLboLQKidEUBcQZSR+v/Ne2f7skQ5rZo25hPKq6bvHB3Lp9d0Z8pTl+ZPtLNYLyx6D5cGz6ZOzfXP9bUOtW2aw3oahj3Pg/yG9KZFYesHcOBYaRSNRVnaqLpoUnWdt/ua+pu3nvTnFrrlQHvQG3BzQRpZITwdbYMqN9fnjcs2S0MgfsCqxILyya1Na4ZakZ0Ny+6ArNjMCIIv4+nf4lJcDg+WPQp2MIPsQcNjIDgThaUSsLBYeArYArXuEgKJNmtjQaYwvP7wvTMDGUP+Vu3xgdby1Nhtq1TV3Vg4sXX+hPaPWPaq/dRQS//cQP/cZqLvAsh+DmQPUFEiPb38fAPFIrh7xeKCDnBfi85JydH0wun7tszfwrJs9TK7kF/rBRnHLN351CRzwBlrbjw1P/fAPVtFwdTf1+H5aEdfb8XwxwR8naFvw30lwpyQjLKmYO0cltDRytROYKAzjVE/zQhBkT2saYdv0fXqW7p+yw5NX9jWt4PWPF6vhOxcUE5BEL5MCKlNjWT7h6CGD15vRNfQd6kS1UtN1DqxZP0UJ4kzkyfnwQnSUu/dcS9fqukb68CKu1vQsZRPmXRUc/oiugb1hD3g9e8cSukWl9Ntl4ed7nQ8FZZPf//0MO1wSuGdQ/m2ts544vnyWLk89lV/tDcZ74qndo2s2YlOiN4ozTSnBrZ7G3jFBURjccihdLB/erp/vJXmY1I02pIf2B6Mxb452dEx2VG95o3wDciUDUZyOUOXdjAe9pW25TVjLSRulvxI0OBH4C2fh/o00NQ2Ca7yVU1rNTymsuaBVg0Xdq+2JQYHnqxnQsH3Qvbh/zViE9eKP6G3UzI+9YnfYC3DL2msSEiB6Cd69WUoQA/p+iM+Ya/+aEgLhcjyqI244fdoCs/gBpmCLI4ugizyh62KLmrVb2vaqVMA2Cec0tRFcFU7ha7/GesCPYfx1XSRq6tiqYK7ydTyog5SQ83oIZr8BvQ0rCUgFWdwJ7lsOIcbTDyIuBiOTqSzvpZKuJk1wxTG9UarOtT1tNFaLo1JSUeKO5plotlspBgSfktzy2wJ+P9GW4bIqdaH29ItmW5mTNC7ixcMY9JUCeL+FYj7htqp8uKpyiKtoFeO/ttR+H90oliYHD84fmnryZNb50+d2tC/YUP/4MJCna+j6E3AHjZ6dRxYNy2+5A/h7GW4veIHWPssRk47Iyrnv4Gz8XuDq7BvshbXkPLr6rrRg4jrh2h01S/aoZ6dWLgdSOQ9SOeQ5u/wCat3BVtEG7rL7bPKwoHxuyOLThoeZz0S7DUCuvox6KqvzpA4O9ZqwHoBWCv+ekyGE93Qq+PKw4N+zDZNVcazjgAu7yTWGtg20Ll3qtObtyiJ0exAwq7gBzEamYUWtbdr/2g5WLpPTLYBD2hbcN0nTiYDOR5SfCzr9DUF3JKk9cNdo5NzO1RPknNxYhT3B4D3JVpbzKCJpTcOpMaoe5XsDtH4TA3T7Etb+rqmZzR9miTRr2jaV0yuiD+YQqgpfrI8PjjyazUySZIosz6ivs6KIT4eidb8F+ct9NSi/4IqrEuvOXAIk4166OVTxHvHcAhlVz1sUJCJiTTyatJbT2EqBAsbu+d9Eujvcry7wSZqwfMGf8C+XpDzD7Bvre80GYegK0q/QH1H9Ac9eNAqg/J4t/UgVJhHdN2/Z48fD9BDUL8JAu7g0ThpEs+iMm5xYA8e9vgL7FExamej0kwkE/i0qd521TmE1Jq5YqnmF0quXmmiv0CNVDGJrAvSmAI1v4eRwiwrmiqiyGsf0/VsFlkURvT5RZcPys6srn9MQ5+Dmqn6rCjS3sxsoGkireBubB3Ncxjhq+q6tN/Xul1EEVJr4nP4twFnacWJ2YoDs1JyUTGAXCkth21TwAfe1u7WeEGYmpAEHoZa892HmjU8x/OrB6FjJHMH7m3GJwqA7a67CLNFvvxwhNzPzxvYHv4y7jmuB4ltOsm7ISvoDS1WFooN66gXWmxTFAeNwWn4V6Sjwq11fR79wWNp+wdlIhdP+WQhgGyZgE2yWs3o79IWue2j0Mi6rc2M2pC2Iksyo+O5NvQ5n5WuDg6uz6luv+yVzBmmKMsMjbbTNq9Kc5xip2OT3vu98t2fp60+w86l60+iV+jn8RmMxQhdiJp8ik7i1NFjgjEOEwwzhosWtw2fX4VoJYte4TlmQ6bf4ulKN8XTnR5LpbiJ4fhkquKxlMtkOgva8YaHH2d5H4uAXVifwDy+KtSI9YVcCs88PqiGVsFjxYkAyxXA0gpYjLo9WhDyEK+oNQH1ejSTob+eyVA3YkZ1WMYLkDrkJRnIe4ElzB8CdJkoKPPXcarLZaq9p0StaAPpw3Gs0LWjbuDGWP0dCdoQTbU4XLJ7gmY8PnPAF21D77RNpPxuRnKkN7oQ8ok2Se2G5f4fqluhfwAAeJyVUkFO40AQrDFJENIqHFbcAPURhGwZGw5wDAKkCAeUkIjrBCaJleBBTlCUL+xbVhz3KfuEfcdWxiMkcsOWu6tranq6ewygiQ8oVM/gEytsqz2PAzTUicdbOFG/PK5hV/31uI5mUPO4gd0gpVLVdhj9drvWWKGp6h4H+KEOPN7CQCUe13Co/nhcx77653EDh8FPXMHiDSuUyDHGBAsIEsR8U4R8K3xBdkiVoIWItg2NZ0y5d4k5fU5Oo8CLW4uQOVXHrVfKteKIceEyGZ6kMcOIkXX2kdwTfR89XKNLK7ilvyfzwOiYGXFl31ZlPp4sJInjNAxpL2S4klYkbf08tcv5NBddvEg7yiLp2CXJXI5sIUMz0bOR2JE8mifp9667Pbnt3vcfesfMe8eCM1ecZau4yzJbWIJ1AyVeXano2PJV09844cL5kjMzbmIRpyS45Pc1WcgeDFXvTKGprzQp1SFO/XwTnDOtLRY3thwbSaJYLsUXEXbN+H2mSzJpHJ6y5eR8s+DNM7Cxd/0XGvJz3kJ1A1W9Mc6IMTDlPOeMeG58Jt9O/h8p0HzEAAB4nG3N204BAACA4Q9LF1JRcuq4RRlGtcVsbjo4ZaNMISsv5Hk8Xsx13/Zf/4K2/pae/ae/KSAoZEfYrog9UfsOHIqJO3Is4URSSlpG1qkz5y5cunItJ+/GrYKikrKKqjv3HjyqqWtoevLiVUtbR1fP2+Y6MPTuw8jYpy8TUzPf5n78WlitASubEKMAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEJvIGYB8xgABtcAenicY2BgYGQAgtsKp6pB9OODy5NgNABOdgecAAA=')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,d09GRgABAAAAAAR0AA0AAAAABpwAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEWAAAABoAAAAcoqQZTEdERUYAAAQ8AAAAGwAAAB4AJwALT1MvMgAAAaAAAAA/AAAAVlOT/ftjbWFwAAAB9AAAAEoAAAFKQDjm4Wdhc3AAAAQ0AAAACAAAAAj//wADZ2x5ZgAAAkwAAAAcAAAAHIYLTYdoZWFkAAABMAAAADMAAAA2KcKSxWhoZWEAAAFkAAAAHAAAACQDuAMlaG10eAAAAeAAAAAUAAAAFAWFAP9sb2NhAAACQAAAAAwAAAAMAAAADm1heHAAAAGAAAAAHQAAACAASAAHbmFtZQAAAmgAAAGrAAAC8ZCLziJwb3N0AAAEFAAAAB0AAAAs/5sAr3icY2BkYGBgYmTb0MGTH89v85WBm/kFUITh8cHlGXD6P0MJkyLjNCCXg4EJJAoAVuAL8AB4nGNgZGBgnMYABMzyIJJJkYGRARWwAgAYlwDkeJxjYGRgYGBlYGEA0QwMTEDMCGY7gPkMAAM7AFAAAAB4nGNgZJzAOIGBlYGBqYtpDwMDQw+EZnzAYMjIBBRlYGVmAIMGoCADEghIc00BUgoKSozTQHwICVEDAM9DCNkAARgAAAAAAAABTQAAAAEAAAMfAP94nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYFBSU/v8H8sH0/8f3H0HVAwEjGwOcw8gEJJgYUAEjxIoBByy0MxoADBMJOgAAAAAAAAAAAAAAAAAOAAEA/wB0AiEBlgADAAAlIREhAiH+3gEidAEiAHiclVJBTuNAEKwxSdBKKBzQ3hbURxCyZWw4wBEESBEJKCYR1wlMEivBg+ygKF/Yt6w47lP2CbyDyni00ua2ttxdXVPT091jAG18QKF+hn+xwrb67nGAljr2eAvH6qfHDeyqPx430Q4aHrewG6RUqsY3Rr/crjVWaKumxwF21L7HWxiqxOMGDtRvj5v4oT49buEg2MMVLN6wQokcE0yxgCBBzDdFyLfG52RHVAkuEdF2oPGMGfcuUdHn5DQKvLi1CF2n6rn1WrlWHDIuXCbDkzTmGDOyzj6Se6IfIMM1+rSCW/p7Mg+MjpgRV/ZtVeaT6UKSOE7DkPZcRiu5jKSjn2d2Wc1y0cWLdKJuJD27JJnLoS1kZKZ6PhY7lkfzJIPsup/Jbf9+8JAdMe8dC85cAxVbxV0300VFsG6gxKsrFT1bvmr6G9fFwvmSMzNuYhGnJLjg92+ykD0Yqt6ZQlNfa1KqQ5z4+SY4Y1pbLG5sOTGSRLFciC8i7JvJ+1yXZNI4PGHLydlmwZtnYGPv+i805CveQn0Ddb0xTokxNGWVc0Y8Nz6V/07+BRVYfKQAeJxjYGIAg/8TGNQYsAFWIGZkYGJgZmgHAD3MAkoAAAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCFjAG8RgAA8oAMwB4nGNgYGBkAILbCqeqQfTjg8szYDQATrIHqAAA')format("woff");}.fff{font-family:fff;line-height:0.290000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff10;src:url('data:application/font-woff;base64,d09GRgABAAAAAAVMAA0AAAAAB8QAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFMAAAABoAAAAcoqQZWEdERUYAAAUUAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABGAAAAVlRpgi5jbWFwAAACBAAAAEcAAAFSIaspMGdhc3AAAAUMAAAACAAAAAj//wADZ2x5ZgAAAlwAAAC3AAAAvElOqQdoZWFkAAABMAAAADMAAAA2KomSeWhoZWEAAAFkAAAAIAAAACQFyQRHaG10eAAAAewAAAAYAAAAGA0/AG9sb2NhAAACTAAAAA4AAAAOAF4ALG1heHAAAAGEAAAAHQAAACAASQAkbmFtZQAAAxQAAAG9AAADUdeLrL9wb3N0AAAE1AAAADYAAABBOM+48XicY2BkYGBgYjjirzZZLJ7f5isDN/MLoAjD44PL8+C0+f+vzOsZ/wO5HEC1QAAAdj0N1AB4nGNgZGBg/P//KwMD8wsGIGBez5DCIMmADNgAhTsFFnicY2BkYGBgY1BkANEMDExAzAhmO4D5DAAGKwBuAAAAeJxjYGSexziBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQJwA4wSkuaYAKQUlG8b//78CJf8zcEPVMAAAY/8NYgAAARgAAAAAAAABTQAAA+gAAAPoADcDCgA4eJxjYGBgZoBgGQZGBhDwAfIYwXwWBgMgzQGETEBaQXGSks3//wjW/8f3iu6ehOoCA0Y2BjiXEaSHiQEVMEKsGs4AAGw6DB4AAAAAAAAAAAAAAAAsAF4AAHicY2BkMP//lXk9438GaQYGBhF2PkZ2Nm1GJVMzc0UlE2NFNXUTa0YjcTlGceb1HIF5fEycQtySZX+5RUWZvpZJcgtxMvHlBTIyCTDJNoZw8vaHaoT283KGNMoyMDJYMLQyXWTMZ1BgYGAUYVNWUtdjVFbiY2IHsU1NzIxBphobmZkDWUwXY7zcQh3dtMW0tWWY2Nn5oFzjEGZmbj5GP98aHysdASV7TVYhBTDb30OKgQEAsmQiLQB4nK1Sy2rbQBQ9o9iGQkl37aaUuwkkCw2yhBfJMiYJGMsJVlwCXY0T2Ra2NUFSMP6G/ErpIh/V7+iRNO3Ci3ZTDZp75r7PnQFwjB9QaL+vf7DCB3XisIeeGjp8hEi9OdzBJ++jw10ce2OHe9S/0lN13vH0vYmqscIX1XXYw3s1cPgICzVyuAOtfjrcxWdPO9yD9r5hCItn7FEgwxIrVBCECLgi+FwtPqd2Ti/BJTT3EQwesWbsDiVlRp1BjqfGphE3XpPG3nrWHqc8502mlJUMNljwZJv9nroHyhkSXGHKXXBDeUvNHU9nzIihfd4X2XJVSRgEke9zP5f5Xi61jMzj2u7KdSYmf5KRjrVM7I7KTE5tLvN0ZTYLsQu5Tx9kllxNE7mZ3s7ukjPmHbPhmA1VbCshzS1btGyvRJ/kMY5jU62S/XZuN2WfippYQa+aAia22BrK64Zd1ciCs0ybSWomEFzw/3sRn1xTRr1QYxjfxkSNpe/uIcSAZWxeXdtimUqoA7mQg+b8abp82ZiClijw+xxROPgXwcPah4R/56xfc0p7ydtsb7LlV78VoTEtyoyzZl9BJP+t6C/mWZVUAAAAeJxjYGJg+P/x2+7/TQwaDNgAGxAzMjAxMDMyMTJzJRYV5ZcXZaZnlLAXZ+Zm5iQWAQB/TgyrAAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCViBmAfMYAAPVADR4nGNgYGBkAILbCqeqQfTjg8vzYDQATu4HtAAA')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.845000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff12;src:url('data:application/font-woff;base64,d09GRgABAAAAAATAAA0AAAAABtwAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEpAAAABoAAAAcoqQZgEdERUYAAASIAAAAGwAAAB4AJwALT1MvMgAAAZwAAAA/AAAAVlVXVldjbWFwAAAB8AAAAEYAAAFKzKIgqGdhc3AAAASAAAAACAAAAAj//wADZ2x5ZgAAAkQAAADSAAAA4MubV/JoZWFkAAABMAAAADAAAAA2KomTg2hoZWEAAAFgAAAAGQAAACQHQgPuaG10eAAAAdwAAAAUAAAAFAcqAD5sb2NhAAACOAAAAAwAAAAMACgAmG1heHAAAAF8AAAAHQAAACAASQBDbmFtZQAAAxgAAAFIAAACZ8Tq+4hwb3N0AAAEYAAAAB4AAAA0TLakpHicY2BkYGBgZHD8eVtbPp7f5isDN/MLoAjD44PLm5Bp5hfMkUCKg4EJxAMAaYAL4nicY2BkYGCOZAAC5hdQkpEBFbACADPuAjoAAAB4nGNgZGBgYGVwYGBiAAEQycgAEnMA8xkACS4AjQAAAHicY2Bk/MI4gYGVgYGpi2kPAwNDD4RmfMBgyMgEFGVgZWaAAUYBBgQISHNNAVIKz8KZI0F8CMnACCIA6SYJUgAB9AA+AAAAAAFNAAAAAQAAA+gAAHicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUnoX//w/kg+n/jyXXQtUDASMbA5zDyAQkmBhQASPEiuEMACjNCjEAAAAAABQAFAAUABQAcHicHcsxCsJAEIXhmSxMJAHDxmw6hRg3lopuYiEaIUewskkRW3ttPIC9d7C38BxWNmIlgmcQWVwzxcCD/wML5gB4YStgYANMxjxmPOL7zyfH3dx6fF9s9T0BWGCOvU0nITdCBBRH3STlKhtHozYGZpHgQWhWNkOVTXEUtripugNEMi9J1QT7Sd2HzC8LPSzKssAD53or01TiVSqn0Ws4N+E13UofqUk5EW7WjvCw7QlcnmtxLUq/5yuph392tl0X7/rpidrQgsg2qHI6QsAPxO4tjgAAeJyNkD1uwkAQhd/yJyVIUSrq6VLZsY2goIhkgaBLQUEZxZFXgARetEYg+hwgTe6QJqlygFQ5F8/LSqFIga3VfLPz93YA3OALCqfvHs+eFdr48FxDEz+e67hTHc8NtNXMcxO36tVzi/efzFSNK3pPrqpihQ7ePNdwjW/PdTzi13MDHfXguQlRL55bvH/HEAYbHGCxxBwLbCEYIcMOmjQhFcgZFySIEKOPkJxixV/OqkrnaVpNW1XnzMTQbA52OV9sZZTttEyyIj9IEsX9UNLVSlyoFKtLbXc6Z8GYegr2S7F33QzWtBibYpvudWnWdKbutlKGqVlnxV9VZS0Vaac3pGLBgOf/rqdYl1kBXxa4FybonaaNjZ1rScJIBnI2nV43CuIgiZLeZWpnbiMlN1XlCmdUewy9FSZoWy5NIVEUhzxyUdsjJdRn2nicY2BiwA9YgZiRgYmBmZGJvTQv09XM1BwAC8ICSwAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQhYwBvEYAAPKADMAeJxjYGBgZACC2wqnqkH044PLm2A0AE+2B9wAAA==')format("woff");}.ff12{font-family:ff12;line-height:0.857000;font-style:normal;font-weight:normal;visibility:visible;}
@font-face{font-family:ff13;src:url('data:application/font-woff;base64,d09GRgABAAAAAATQAA0AAAAAB0wAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEtAAAABoAAAAcoqQZgkdERUYAAASYAAAAGwAAAB4AJwALT1MvMgAAAaQAAABBAAAAVlOyf6BjbWFwAAAB/AAAAEYAAAFKRGzkw2dhc3AAAASQAAAACAAAAAj//wADZ2x5ZgAAAlAAAABcAAAAcJpimDFoZWFkAAABMAAAADIAAAA2KcCSo2hoZWEAAAFkAAAAHgAAACQEcwOIaG10eAAAAegAAAAUAAAAFAWFADlsb2NhAAACRAAAAAwAAAAMAAAAOG1heHAAAAGEAAAAHQAAACAASAApbmFtZQAAAqwAAAG3AAADRawH+Yxwb3N0AAAEZAAAACkAAAA0cGzCxHicY2BkYGBgYjiSqjYzMp7f5isDN/MLoAjD44PLm+G0JUMD01PGEiCXA6gWCABwTgyVAAB4nGNgZGBgLGEAAmZ5EMn0lCGFQZIBGbACACsPAgIAAHicY2BkYGBgZVBjANEMDExAzAhmO4D5DAAGjQByAAAAeJxjYGScwDiBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQOwA4wSkuaYAKQUlG8YSsGQJXA0DACxLCh0AAAABGAAAAAAAAAFNAAAAAQAAAx8AOXicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlGz+/wfywfT/x3dPQNUDASMbA5zDyAQkmBhQASPEiuEMACp9CVIAAAAAAAAAAAAAAAAAOHicY2BksGRoYHrKWMKgysDAKMKmrKSmrseorMTHzA5km5qYGRuJicsxGhvZMZsD2UxP4/z0/UyMPDX4FNQVxJmYePkxBBgD/JoMDHS12UWVrNUklJE5DADJcRG5eJytUstq20AUPaPYhkLxsqssLpRCApFQJLJIViUmMZjICVJcsh3HY1vY1gRJwXjXD2r7Tf2UHklDoaVkVQ2699z3YwbAED+g0H1ffmOFofrosIeB+uzwESL13eEePnhDh/sYeiOHB9R/pafqvaP0rY1qsMKx6jvs4b2KHD7CQo0d7uFM/XS4j2Pvk8MDnHkpRrB4wQElcqywRg1BhJAnhs/T4Utq5/QSXCMgnUDjGRvG7lGR59RpFFi0tgBJ6zVt7Z1n43FCuWgzGVbS2GJJybb0kbon8hky3CAlFYzJ76l5oHTKjBjZl0OZr9a1RGEY+z7ppcwPch3IRD9v7L7a5KKLhUyCJJCp3VOZy4ktZG7WersUu5RH8ySz7CbNZJzezx6yU+a9Y8MJG6rZVsYxd2zRsr2Kg+MuSXS9zg67ud1WlJupSro0/WNqy50mv21Hq1tecpGmXWPA1Qmu+L9VweeYhjGvlDWju4iYsT7O3RVEuGARW9S3tlwZiYJQruTPzvzUrF63uqQhDv1zLie6eHu0vwvj3wmbR2xorniJ3QV2kzVPRGg0ZZVzxewpjOX/VPwFMEOTxAB4nGNgYmD4//Hb7v8TGNQYsAFWIGZkYGJgZmRiL87MzcxJLAIAALoIXwAAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEIWMAbxGAADygAzAHicY2BgYGQAgtsKp6pB9OODy5thNABPwAfeAAA=')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,d09GRgABAAAAAATkAA0AAAAABvAAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEyAAAABoAAAAcoqQZhkdERUYAAASsAAAAGwAAAB4AJwALT1MvMgAAAaQAAABEAAAAVlXGgpdjbWFwAAAB/AAAAEYAAAFKRYDkOWdhc3AAAASkAAAACAAAAAj//wADZ2x5ZgAAAlAAAAB0AAAAdPLyoUVoZWFkAAABMAAAADMAAAA2KlSSuGhoZWEAAAFkAAAAHgAAACQGNQNHaG10eAAAAegAAAAUAAAAFAbyADJsb2NhAAACRAAAAAwAAAAMAAAAOm1heHAAAAGEAAAAHQAAACAASAAobmFtZQAAAsQAAAG+AAAC6APphOhwb3N0AAAEhAAAAB4AAAA0ObKyo3icY2BkYGBgZmhOftjHFM9v85WBm/kFUITh8cHlrXDa6P9E5jqmrUAuBwMTSBQAgxANlQB4nGNgZGBg2vp/IgMD8wYGIGCuY2BkQAWsAF/rA4MAAHicY2BkYGBgZVBlANEMDExAzAhmO4D5DAAGdABxAAAAeJxjYGS8wfiFgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBjZoABRiB2gHEC0lxTgJSC0jGmrf8nAlVuZciHqmEAACXuDCsB9AAAAAAAAAFNAAAAAQAAA7AAMnicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlI79/w/kg+n/j+/aQdUDASMbA5zDyAQkmBhQASPEiuEMAMdbCdwAAAAAAAAAAAAAAAAAOgABADL/kQN+ArUAJAAAAQcTFhUUIyIvAQcGIyI1PwETJyY1NDYzIRM2MzIWFxMhMhYVFANx71wDCwgH7+8LBAsCAlvwDAwQASFaBgkGBARbASERCwFxrv7nCQULCa2tCQsHBwEZrgkGCAMBFhQGDP7oAwgEeJxtkcFq20AQhv9VbENLKD30AYZCwQZbXkuEYBMCJo1vyiGGQk9FyIslsCwjrSP8UnmAPkubF8itT9Bf6+0hUC94vpmd/edfLYAPeIbC+bfHi2eFvvruOcBAlZ4v8Fn99Nxj/dVzHx+DT54HGAQxO1XvHbNf7lTHCu9V4jnApfrh+QJflfXcY/235z5E/fE8wGXwBXeocMAJNQpskcNCMESGEeMMc65rjMkRNNectEQJ4/ozpLyfIGG0PGu409F5Z8edNdUz5obVk1O+cTMsZy4w5WrdCtlfomGsqLzFLed3U1ue7ZQFj9Ro3Nwn/m9YWbF37/w+uNPGOVnTX0Lnmlq4qw6nutjmVobZSGbz+fVYIq3nsixNXWTpXpLU5qZMLZOdrKusMPYkw5vc2sNiOm3bNkzLJqzq7e1oLG1hc3k0jamfzEZW1d7KQ1oaSdbLZKY57x5HXrszifvjzjAkzmzBesnEbIoj4z/nK39b475vSM/Cr/L2FudKTJown7h3iHBFEY5f0ZiRKNSy8CYIsZ7MJpGOrvBGCOcG4Jsz2NBU5V6ve9fYTe+UhQ2mbopqL1rHodaR/F/nL3OdevMAAHicY2BiwA9YgZiRgYmBmZGJvTQv08jI2QwAC4UCQQAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQhYwBvEYAAPKADMAeJxjYGBgZACC2wqnqkH044PLW2E0AE/UB+IAAA==')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;}
._1a{margin-left:-2.437427px;}
._7{margin-left:-1.291162px;}
._c{width:1.291162px;}
._0{width:3.073600px;}
._10{width:5.547190px;}
._12{width:11.771817px;}
._b{width:13.270183px;}
._f{width:14.541758px;}
._8{width:15.589581px;}
._9{width:16.995502px;}
._16{width:18.830240px;}
._d{width:20.428989px;}
._5{width:21.691454px;}
._4{width:23.389950px;}
._11{width:25.150951px;}
._1d{width:26.235932px;}
._1f{width:27.958480px;}
._19{width:29.641848px;}
._2a{width:31.254507px;}
._a{width:32.418280px;}
._15{width:33.806329px;}
._1{width:36.288314px;}
._2{width:38.266950px;}
._14{width:39.773957px;}
._13{width:49.953338px;}
._17{width:56.487680px;}
._18{width:75.315680px;}
._23{width:112.974400px;}
._27{width:150.633440px;}
._26{width:169.463360px;}
._20{width:188.290880px;}
._25{width:225.948480px;}
._22{width:244.781600px;}
._21{width:320.099360px;}
._24{width:414.243680px;}
._1c{width:1051.389761px;}
._1b{width:1147.584441px;}
._28{width:1240.259717px;}
._1e{width:1262.497823px;}
._e{width:1327.438470px;}
.fce{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);}
.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;}
.y93{bottom:3.436000px;}
.y43{bottom:6.277000px;}
.y58{bottom:6.739000px;}
.y126{bottom:7.812000px;}
.y6b{bottom:8.270000px;}
.y7e{bottom:10.626000px;}
.y5a{bottom:11.138000px;}
.yf0{bottom:12.331000px;}
.yd{bottom:13.018000px;}
.y152{bottom:14.467000px;}
.y92{bottom:15.042000px;}
.y158{bottom:15.927000px;}
.y25{bottom:16.091000px;}
.y42{bottom:17.162000px;}
.y9e{bottom:17.919000px;}
.yc1{bottom:18.087000px;}
.y6a{bottom:19.154000px;}
.y32{bottom:19.575000px;}
.y11c{bottom:20.140000px;}
.y125{bottom:20.415000px;}
.y4d{bottom:20.535000px;}
.ycd{bottom:20.802000px;}
.y7d{bottom:21.510000px;}
.ye1{bottom:21.660000px;}
.ye7{bottom:22.906000px;}
.y17{bottom:25.331000px;}
.y91{bottom:26.648000px;}
.y59{bottom:26.720000px;}
.y10b{bottom:26.741000px;}
.y41{bottom:28.046000px;}
.y172{bottom:28.550000px;}
.y69{bottom:30.038000px;}
.yd8{bottom:31.474000px;}
.y157{bottom:31.508000px;}
.y7c{bottom:32.394000px;}
.y4c{bottom:33.137000px;}
.y9d{bottom:33.501000px;}
.yb8{bottom:33.678000px;}
.ye0{bottom:34.263000px;}
.ya5{bottom:34.810000px;}
.y16c{bottom:34.854000px;}
.y57{bottom:35.055000px;}
.y24{bottom:35.294000px;}
.ye6{bottom:35.508000px;}
.y11b{bottom:35.722000px;}
.yef{bottom:35.883000px;}
.y19d{bottom:36.116000px;}
.y151{bottom:36.422000px;}
.yf9{bottom:36.555000px;}
.yc0{bottom:38.877000px;}
.y40{bottom:38.930000px;}
.y131{bottom:39.069000px;}
.y13b{bottom:39.223000px;}
.y90{bottom:39.251000px;}
.y10a{bottom:39.343000px;}
.ycc{bottom:40.005000px;}
.y31{bottom:40.611000px;}
.y68{bottom:40.922000px;}
.y144{bottom:41.796000px;}
.y6{bottom:42.077000px;}
.y88{bottom:42.803000px;}
.y7b{bottom:43.278000px;}
.y101{bottom:43.704000px;}
.y16{bottom:44.534000px;}
.y124{bottom:45.620000px;}
.yae{bottom:45.740000px;}
.ydf{bottom:46.866000px;}
.ye5{bottom:48.111000px;}
.y19c{bottom:48.719000px;}
.y56{bottom:48.803000px;}
.y9c{bottom:49.082000px;}
.yf8{bottom:49.158000px;}
.yb7{bottom:49.259000px;}
.y171{bottom:49.586000px;}
.y3f{bottom:49.814000px;}
.y156{bottom:50.054000px;}
.y16b{bottom:50.436000px;}
.y67{bottom:51.806000px;}
.y17e{bottom:51.857000px;}
.y109{bottom:51.946000px;}
.y7a{bottom:54.162000px;}
.y30{bottom:54.359000px;}
.y23{bottom:54.497000px;}
.y13a{bottom:54.805000px;}
.ycb{bottom:55.586000px;}
.y87{bottom:56.551000px;}
.yd7{bottom:56.679000px;}
.y112{bottom:56.728000px;}
.y123{bottom:57.626000px;}
.y150{bottom:57.956000px;}
.y189{bottom:58.158000px;}
.y11a{bottom:58.277000px;}
.y4b{bottom:58.343000px;}
.ybf{bottom:58.444000px;}
.y5{bottom:58.752000px;}
.yee{bottom:59.434000px;}
.yde{bottom:59.468000px;}
.y143{bottom:60.367000px;}
.y3e{bottom:60.698000px;}
.y15d{bottom:60.977000px;}
.yf7{bottom:61.760000px;}
.y15{bottom:63.737000px;}
.y79{bottom:63.843000px;}
.y66{bottom:64.240000px;}
.y8f{bottom:64.245000px;}
.y17d{bottom:64.460000px;}
.y9b{bottom:64.664000px;}
.yb6{bottom:64.840000px;}
.yab{bottom:66.932000px;}
.yd6{bottom:69.282000px;}
.y55{bottom:69.526000px;}
.y2f{bottom:69.577000px;}
.ya4{bottom:69.794000px;}
.y130{bottom:70.068000px;}
.y86{bottom:70.300000px;}
.y188{bottom:70.761000px;}
.y4a{bottom:70.945000px;}
.y3d{bottom:71.139000px;}
.y191{bottom:72.250000px;}
.ye4{bottom:73.316000px;}
.yca{bottom:73.499000px;}
.y22{bottom:73.700000px;}
.y19b{bottom:73.924000px;}
.yed{bottom:75.016000px;}
.y1a2{bottom:75.163000px;}
.y139{bottom:75.841000px;}
.y16a{bottom:76.453000px;}
.y14a{bottom:76.559000px;}
.y155{bottom:76.569000px;}
.y170{bottom:76.908000px;}
.y17c{bottom:77.062000px;}
.yc{bottom:77.117000px;}
.y108{bottom:77.151000px;}
.y107{bottom:77.152000px;}
.y122{bottom:77.749000px;}
.ybe{bottom:78.010000px;}
.y14f{bottom:79.490000px;}
.y8e{bottom:79.826000px;}
.y9a{bottom:80.245000px;}
.y111{bottom:80.753000px;}
.y119{bottom:80.833000px;}
.y142{bottom:81.403000px;}
.y100{bottom:81.552000px;}
.y78{bottom:81.688000px;}
.yd5{bottom:81.884000px;}
.y65{bottom:82.085000px;}
.y14{bottom:82.940000px;}
.y162{bottom:83.179000px;}
.y2e{bottom:83.325000px;}
.y49{bottom:83.548000px;}
.ydd{bottom:84.674000px;}
.yaa{bottom:85.502000px;}
.y12f{bottom:85.649000px;}
.y85{bottom:86.041000px;}
.yc9{bottom:86.102000px;}
.y19a{bottom:86.527000px;}
.yf6{bottom:86.966000px;}
.ye3{bottom:88.161000px;}
.y17b{bottom:89.665000px;}
.y54{bottom:90.248000px;}
.y1a1{bottom:90.745000px;}
.y138{bottom:91.422000px;}
.y169{bottom:92.035000px;}
.y149{bottom:92.140000px;}
.y154{bottom:92.151000px;}
.yb5{bottom:92.309000px;}
.y77{bottom:92.573000px;}
.y21{bottom:92.903000px;}
.y64{bottom:92.970000px;}
.ybd{bottom:93.592000px;}
.y3c{bottom:93.966000px;}
.yd4{bottom:94.487000px;}
.y16f{bottom:95.742000px;}
.y187{bottom:95.966000px;}
.y48{bottom:96.151000px;}
.yb{bottom:96.320000px;}
.yec{bottom:96.550000px;}
.ydc{bottom:97.276000px;}
.y190{bottom:97.456000px;}
.yc8{bottom:98.704000px;}
.y199{bottom:99.130000px;}
.y110{bottom:99.323000px;}
.y14e{bottom:100.053000px;}
.y12e{bottom:101.231000px;}
.y1a{bottom:101.301000px;}
.y99{bottom:101.780000px;}
.y13{bottom:102.143000px;}
.y17a{bottom:102.268000px;}
.y106{bottom:102.357000px;}
.y121{bottom:102.954000px;}
.y118{bottom:103.388000px;}
.y76{bottom:103.457000px;}
.y84{bottom:103.615000px;}
.y63{bottom:103.854000px;}
.y53{bottom:103.996000px;}
.y8d{bottom:104.601000px;}
.ya3{bottom:104.778000px;}
.y3b{bottom:104.850000px;}
.y161{bottom:105.735000px;}
.yff{bottom:106.757000px;}
.y137{bottom:107.004000px;}
.ye2{bottom:107.090000px;}
.y168{bottom:107.616000px;}
.y148{bottom:107.721000px;}
.y153{bottom:107.732000px;}
.yb4{bottom:107.890000px;}
.yf5{bottom:108.011000px;}
.y2d{bottom:108.399000px;}
.y186{bottom:108.569000px;}
.y47{bottom:108.753000px;}
.ya9{bottom:109.527000px;}
.ydb{bottom:109.879000px;}
.y18f{bottom:110.058000px;}
.y33{bottom:111.700000px;}
.y198{bottom:111.732000px;}
.y20{bottom:112.106000px;}
.y141{bottom:112.401000px;}
.y75{bottom:114.341000px;}
.y62{bottom:114.738000px;}
.y179{bottom:114.870000px;}
.y10f{bottom:114.905000px;}
.y105{bottom:114.960000px;}
.ybc{bottom:115.126000px;}
.ya{bottom:115.523000px;}
.y3a{bottom:115.734000px;}
.y4{bottom:116.152000px;}
.y16e{bottom:118.083000px;}
.y117{bottom:118.969000px;}
.yfe{bottom:119.360000px;}
.yd3{bottom:119.692000px;}
.y8c{bottom:120.182000px;}
.y15c{bottom:120.234000px;}
.y1a0{bottom:120.274000px;}
.ya2{bottom:120.359000px;}
.y19{bottom:120.504000px;}
.y52{bottom:120.708000px;}
.y128{bottom:121.063000px;}
.y185{bottom:121.172000px;}
.y12{bottom:121.346000px;}
.y46{bottom:121.356000px;}
.y14d{bottom:121.587000px;}
.y12d{bottom:122.267000px;}
.y136{bottom:122.585000px;}
.y18e{bottom:122.661000px;}
.y98{bottom:123.314000px;}
.yc7{bottom:123.910000px;}
.y197{bottom:124.335000px;}
.ya8{bottom:125.108000px;}
.y74{bottom:125.225000px;}
.y61{bottom:125.622000px;}
.y178{bottom:127.473000px;}
.y83{bottom:129.159000px;}
.y160{bottom:129.759000px;}
.yeb{bottom:129.886000px;}
.y2c{bottom:130.167000px;}
.y140{bottom:130.972000px;}
.y1f{bottom:131.309000px;}
.yd2{bottom:132.295000px;}
.yf4{bottom:133.216000px;}
.yb3{bottom:133.434000px;}
.y184{bottom:133.774000px;}
.y104{bottom:133.939000px;}
.yad{bottom:133.959000px;}
.y9{bottom:134.725000px;}
.y73{bottom:134.906000px;}
.yda{bottom:135.084000px;}
.y120{bottom:135.134000px;}
.y18d{bottom:135.264000px;}
.y167{bottom:135.626000px;}
.y147{bottom:135.816000px;}
.y8b{bottom:136.546000px;}
.y16d{bottom:136.918000px;}
.y196{bottom:136.938000px;}
.y14c{bottom:137.169000px;}
.y39{bottom:137.502000px;}
.y60{bottom:138.056000px;}
.y26{bottom:138.248000px;}
.y15b{bottom:138.804000px;}
.y97{bottom:138.895000px;}
.y18{bottom:139.707000px;}
.y3{bottom:140.018000px;}
.y177{bottom:140.076000px;}
.y135{bottom:140.159000px;}
.y11{bottom:140.549000px;}
.y116{bottom:141.525000px;}
.y51{bottom:142.243000px;}
.yc6{bottom:142.889000px;}
.y82{bottom:142.907000px;}
.ybb{bottom:144.468000px;}
.yfd{bottom:144.565000px;}
.yd1{bottom:144.898000px;}
.y15f{bottom:145.341000px;}
.yea{bottom:145.467000px;}
.y12c{bottom:146.292000px;}
.y183{bottom:146.377000px;}
.y45{bottom:146.561000px;}
.y10e{bottom:146.900000px;}
.y18c{bottom:147.866000px;}
.y38{bottom:147.944000px;}
.yb2{bottom:149.016000px;}
.y103{bottom:149.520000px;}
.y195{bottom:149.540000px;}
.y13f{bottom:149.542000px;}
.y19f{bottom:149.803000px;}
.yd9{bottom:149.929000px;}
.y1e{bottom:150.512000px;}
.y166{bottom:151.208000px;}
.y2b{bottom:151.936000px;}
.y176{bottom:152.678000px;}
.y72{bottom:152.751000px;}
.ya1{bottom:153.465000px;}
.y8{bottom:153.928000px;}
.y146{bottom:154.386000px;}
.y96{bottom:154.477000px;}
.y8a{bottom:154.975000px;}
.yf3{bottom:155.159000px;}
.y127{bottom:155.434000px;}
.y5f{bottom:155.901000px;}
.y50{bottom:155.991000px;}
.y81{bottom:158.648000px;}
.yc5{bottom:158.829000px;}
.y182{bottom:158.980000px;}
.yac{bottom:159.164000px;}
.y10{bottom:159.752000px;}
.y11f{bottom:160.339000px;}
.y18b{bottom:160.469000px;}
.y15e{bottom:160.922000px;}
.yba{bottom:161.150000px;}
.ya7{bottom:161.726000px;}
.y12b{bottom:161.873000px;}
.y194{bottom:162.143000px;}
.y10d{bottom:162.481000px;}
.y2a{bottom:162.820000px;}
.y71{bottom:163.635000px;}
.y14b{bottom:163.684000px;}
.yb1{bottom:164.597000px;}
.y175{bottom:165.281000px;}
.y19e{bottom:165.385000px;}
.yfc{bottom:166.383000px;}
.y5e{bottom:166.785000px;}
.y115{bottom:168.155000px;}
.y37{bottom:168.777000px;}
.ye9{bottom:169.019000px;}
.y1d{bottom:169.714000px;}
.y15a{bottom:169.967000px;}
.y95{bottom:170.058000px;}
.yd0{bottom:170.103000px;}
.ya0{bottom:170.451000px;}
.y102{bottom:170.556000px;}
.y134{bottom:171.158000px;}
.yc4{bottom:171.432000px;}
.y44{bottom:171.767000px;}
.y11e{bottom:172.942000px;}
.y13e{bottom:173.567000px;}
.y70{bottom:174.519000px;}
.y193{bottom:174.746000px;}
.y165{bottom:175.232000px;}
.y29{bottom:175.254000px;}
.y89{bottom:176.011000px;}
.y80{bottom:176.222000px;}
.y4f{bottom:176.713000px;}
.ya6{bottom:177.307000px;}
.y5d{bottom:177.669000px;}
.y2{bottom:178.039000px;}
.y145{bottom:178.411000px;}
.yf{bottom:178.955000px;}
.y36{bottom:179.662000px;}
.y114{bottom:180.160000px;}
.yf2{bottom:180.364000px;}
.y12a{bottom:180.443000px;}
.y181{bottom:180.798000px;}
.yfb{bottom:181.965000px;}
.y18a{bottom:182.287000px;}
.y10c{bottom:183.517000px;}
.yc3{bottom:184.034000px;}
.ye8{bottom:184.600000px;}
.y6f{bottom:185.403000px;}
.y94{bottom:185.640000px;}
.y133{bottom:186.740000px;}
.y174{bottom:187.099000px;}
.y192{bottom:187.348000px;}
.y5c{bottom:188.553000px;}
.y1c{bottom:188.917000px;}
.y13d{bottom:189.148000px;}
.yb0{bottom:190.141000px;}
.y4e{bottom:190.462000px;}
.yb9{bottom:190.492000px;}
.y164{bottom:190.814000px;}
.y28{bottom:191.592000px;}
.y159{bottom:193.992000px;}
.ycf{bottom:195.308000px;}
.y6e{bottom:196.287000px;}
.y180{bottom:196.379000px;}
.yfa{bottom:197.546000px;}
.y11d{bottom:198.147000px;}
.ye{bottom:198.158000px;}
.y1{bottom:198.662000px;}
.y5b{bottom:199.437000px;}
.yf1{bottom:200.190000px;}
.y7f{bottom:200.247000px;}
.y113{bottom:201.196000px;}
.y35{bottom:201.430000px;}
.y173{bottom:202.681000px;}
.y132{bottom:204.314000px;}
.y129{bottom:204.468000px;}
.y13c{bottom:204.730000px;}
.y9f{bottom:205.435000px;}
.yaf{bottom:205.723000px;}
.y163{bottom:206.395000px;}
.y6d{bottom:207.172000px;}
.y27{bottom:207.174000px;}
.y1b{bottom:208.120000px;}
.yc2{bottom:209.240000px;}
.yce{bottom:210.153000px;}
.y34{bottom:211.871000px;}
.y6c{bottom:216.853000px;}
.y7{bottom:236.149000px;}
.y17f{bottom:240.488000px;}
.he{height:22.061237px;}
.h14{height:22.093117px;}
.hc{height:22.124998px;}
.h9{height:23.910300px;}
.hb{height:24.818995px;}
.hf{height:24.890726px;}
.h10{height:25.285248px;}
.hd{height:27.576477px;}
.h11{height:27.656178px;}
.h6{height:29.887800px;}
.h13{height:30.283662px;}
.ha{height:32.727300px;}
.h5{height:33.187635px;}
.h7{height:35.865600px;}
.h12{height:39.710282px;}
.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;}
.x5{left:34.488000px;}
.xe{left:35.719000px;}
.xa{left:36.961000px;}
.x15{left:42.577000px;}
.x11{left:44.038000px;}
.xb{left:48.272000px;}
.x6{left:50.486000px;}
.xd{left:53.153000px;}
.x16{left:59.579000px;}
.x12{left:63.208000px;}
.x13{left:68.994000px;}
.x10{left:77.911000px;}
.xc{left:83.116000px;}
.x2{left:99.766000px;}
.x8{left:106.772000px;}
.x14{left:153.726000px;}
.x17{left:195.267000px;}
.x3{left:378.705000px;}
.x18{left:418.767000px;}
.xf{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;}
._1a{margin-left:-3.249902pt;}
._7{margin-left:-1.721549pt;}
._c{width:1.721549pt;}
._0{width:4.098134pt;}
._10{width:7.396253pt;}
._12{width:15.695756pt;}
._b{width:17.693578pt;}
._f{width:19.389011pt;}
._8{width:20.786108pt;}
._9{width:22.660669pt;}
._16{width:25.106987pt;}
._d{width:27.238652pt;}
._5{width:28.921939pt;}
._4{width:31.186600pt;}
._11{width:33.534602pt;}
._1d{width:34.981242pt;}
._1f{width:37.277973pt;}
._19{width:39.522464pt;}
._2a{width:41.672677pt;}
._a{width:43.224373pt;}
._15{width:45.075105pt;}
._1{width:48.384419pt;}
._2{width:51.022600pt;}
._14{width:53.031942pt;}
._13{width:66.604451pt;}
._17{width:75.316907pt;}
._18{width:100.420907pt;}
._23{width:150.632533pt;}
._27{width:200.844587pt;}
._26{width:225.951147pt;}
._20{width:251.054507pt;}
._25{width:301.264640pt;}
._22{width:326.375467pt;}
._21{width:426.799147pt;}
._24{width:552.324907pt;}
._1c{width:1401.853014pt;}
._1b{width:1530.112588pt;}
._28{width:1653.679623pt;}
._1e{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;}
.y93{bottom:4.581333pt;}
.y43{bottom:8.369333pt;}
.y58{bottom:8.985333pt;}
.y126{bottom:10.416000pt;}
.y6b{bottom:11.026667pt;}
.y7e{bottom:14.168000pt;}
.y5a{bottom:14.850667pt;}
.yf0{bottom:16.441333pt;}
.yd{bottom:17.357333pt;}
.y152{bottom:19.289333pt;}
.y92{bottom:20.056000pt;}
.y158{bottom:21.236000pt;}
.y25{bottom:21.454667pt;}
.y42{bottom:22.882667pt;}
.y9e{bottom:23.892000pt;}
.yc1{bottom:24.116000pt;}
.y6a{bottom:25.538667pt;}
.y32{bottom:26.100000pt;}
.y11c{bottom:26.853333pt;}
.y125{bottom:27.220000pt;}
.y4d{bottom:27.380000pt;}
.ycd{bottom:27.736000pt;}
.y7d{bottom:28.680000pt;}
.ye1{bottom:28.880000pt;}
.ye7{bottom:30.541333pt;}
.y17{bottom:33.774667pt;}
.y91{bottom:35.530667pt;}
.y59{bottom:35.626667pt;}
.y10b{bottom:35.654667pt;}
.y41{bottom:37.394667pt;}
.y172{bottom:38.066667pt;}
.y69{bottom:40.050667pt;}
.yd8{bottom:41.965333pt;}
.y157{bottom:42.010667pt;}
.y7c{bottom:43.192000pt;}
.y4c{bottom:44.182667pt;}
.y9d{bottom:44.668000pt;}
.yb8{bottom:44.904000pt;}
.ye0{bottom:45.684000pt;}
.ya5{bottom:46.413333pt;}
.y16c{bottom:46.472000pt;}
.y57{bottom:46.740000pt;}
.y24{bottom:47.058667pt;}
.ye6{bottom:47.344000pt;}
.y11b{bottom:47.629333pt;}
.yef{bottom:47.844000pt;}
.y19d{bottom:48.154667pt;}
.y151{bottom:48.562667pt;}
.yf9{bottom:48.740000pt;}
.yc0{bottom:51.836000pt;}
.y40{bottom:51.906667pt;}
.y131{bottom:52.092000pt;}
.y13b{bottom:52.297333pt;}
.y90{bottom:52.334667pt;}
.y10a{bottom:52.457333pt;}
.ycc{bottom:53.340000pt;}
.y31{bottom:54.148000pt;}
.y68{bottom:54.562667pt;}
.y144{bottom:55.728000pt;}
.y6{bottom:56.102667pt;}
.y88{bottom:57.070667pt;}
.y7b{bottom:57.704000pt;}
.y101{bottom:58.272000pt;}
.y16{bottom:59.378667pt;}
.y124{bottom:60.826667pt;}
.yae{bottom:60.986667pt;}
.ydf{bottom:62.488000pt;}
.ye5{bottom:64.148000pt;}
.y19c{bottom:64.958667pt;}
.y56{bottom:65.070667pt;}
.y9c{bottom:65.442667pt;}
.yf8{bottom:65.544000pt;}
.yb7{bottom:65.678667pt;}
.y171{bottom:66.114667pt;}
.y3f{bottom:66.418667pt;}
.y156{bottom:66.738667pt;}
.y16b{bottom:67.248000pt;}
.y67{bottom:69.074667pt;}
.y17e{bottom:69.142667pt;}
.y109{bottom:69.261333pt;}
.y7a{bottom:72.216000pt;}
.y30{bottom:72.478667pt;}
.y23{bottom:72.662667pt;}
.y13a{bottom:73.073333pt;}
.ycb{bottom:74.114667pt;}
.y87{bottom:75.401333pt;}
.yd7{bottom:75.572000pt;}
.y112{bottom:75.637333pt;}
.y123{bottom:76.834667pt;}
.y150{bottom:77.274667pt;}
.y189{bottom:77.544000pt;}
.y11a{bottom:77.702667pt;}
.y4b{bottom:77.790667pt;}
.ybf{bottom:77.925333pt;}
.y5{bottom:78.336000pt;}
.yee{bottom:79.245333pt;}
.yde{bottom:79.290667pt;}
.y143{bottom:80.489333pt;}
.y3e{bottom:80.930667pt;}
.y15d{bottom:81.302667pt;}
.yf7{bottom:82.346667pt;}
.y15{bottom:84.982667pt;}
.y79{bottom:85.124000pt;}
.y66{bottom:85.653333pt;}
.y8f{bottom:85.660000pt;}
.y17d{bottom:85.946667pt;}
.y9b{bottom:86.218667pt;}
.yb6{bottom:86.453333pt;}
.yab{bottom:89.242667pt;}
.yd6{bottom:92.376000pt;}
.y55{bottom:92.701333pt;}
.y2f{bottom:92.769333pt;}
.ya4{bottom:93.058667pt;}
.y130{bottom:93.424000pt;}
.y86{bottom:93.733333pt;}
.y188{bottom:94.348000pt;}
.y4a{bottom:94.593333pt;}
.y3d{bottom:94.852000pt;}
.y191{bottom:96.333333pt;}
.ye4{bottom:97.754667pt;}
.yca{bottom:97.998667pt;}
.y22{bottom:98.266667pt;}
.y19b{bottom:98.565333pt;}
.yed{bottom:100.021333pt;}
.y1a2{bottom:100.217333pt;}
.y139{bottom:101.121333pt;}
.y16a{bottom:101.937333pt;}
.y14a{bottom:102.078667pt;}
.y155{bottom:102.092000pt;}
.y170{bottom:102.544000pt;}
.y17c{bottom:102.749333pt;}
.yc{bottom:102.822667pt;}
.y108{bottom:102.868000pt;}
.y107{bottom:102.869333pt;}
.y122{bottom:103.665333pt;}
.ybe{bottom:104.013333pt;}
.y14f{bottom:105.986667pt;}
.y8e{bottom:106.434667pt;}
.y9a{bottom:106.993333pt;}
.y111{bottom:107.670667pt;}
.y119{bottom:107.777333pt;}
.y142{bottom:108.537333pt;}
.y100{bottom:108.736000pt;}
.y78{bottom:108.917333pt;}
.yd5{bottom:109.178667pt;}
.y65{bottom:109.446667pt;}
.y14{bottom:110.586667pt;}
.y162{bottom:110.905333pt;}
.y2e{bottom:111.100000pt;}
.y49{bottom:111.397333pt;}
.ydd{bottom:112.898667pt;}
.yaa{bottom:114.002667pt;}
.y12f{bottom:114.198667pt;}
.y85{bottom:114.721333pt;}
.yc9{bottom:114.802667pt;}
.y19a{bottom:115.369333pt;}
.yf6{bottom:115.954667pt;}
.ye3{bottom:117.548000pt;}
.y17b{bottom:119.553333pt;}
.y54{bottom:120.330667pt;}
.y1a1{bottom:120.993333pt;}
.y138{bottom:121.896000pt;}
.y169{bottom:122.713333pt;}
.y149{bottom:122.853333pt;}
.y154{bottom:122.868000pt;}
.yb5{bottom:123.078667pt;}
.y77{bottom:123.430667pt;}
.y21{bottom:123.870667pt;}
.y64{bottom:123.960000pt;}
.ybd{bottom:124.789333pt;}
.y3c{bottom:125.288000pt;}
.yd4{bottom:125.982667pt;}
.y16f{bottom:127.656000pt;}
.y187{bottom:127.954667pt;}
.y48{bottom:128.201333pt;}
.yb{bottom:128.426667pt;}
.yec{bottom:128.733333pt;}
.ydc{bottom:129.701333pt;}
.y190{bottom:129.941333pt;}
.yc8{bottom:131.605333pt;}
.y199{bottom:132.173333pt;}
.y110{bottom:132.430667pt;}
.y14e{bottom:133.404000pt;}
.y12e{bottom:134.974667pt;}
.y1a{bottom:135.068000pt;}
.y99{bottom:135.706667pt;}
.y13{bottom:136.190667pt;}
.y17a{bottom:136.357333pt;}
.y106{bottom:136.476000pt;}
.y121{bottom:137.272000pt;}
.y118{bottom:137.850667pt;}
.y76{bottom:137.942667pt;}
.y84{bottom:138.153333pt;}
.y63{bottom:138.472000pt;}
.y53{bottom:138.661333pt;}
.y8d{bottom:139.468000pt;}
.ya3{bottom:139.704000pt;}
.y3b{bottom:139.800000pt;}
.y161{bottom:140.980000pt;}
.yff{bottom:142.342667pt;}
.y137{bottom:142.672000pt;}
.ye2{bottom:142.786667pt;}
.y168{bottom:143.488000pt;}
.y148{bottom:143.628000pt;}
.y153{bottom:143.642667pt;}
.yb4{bottom:143.853333pt;}
.yf5{bottom:144.014667pt;}
.y2d{bottom:144.532000pt;}
.y186{bottom:144.758667pt;}
.y47{bottom:145.004000pt;}
.ya9{bottom:146.036000pt;}
.ydb{bottom:146.505333pt;}
.y18f{bottom:146.744000pt;}
.y33{bottom:148.933333pt;}
.y198{bottom:148.976000pt;}
.y20{bottom:149.474667pt;}
.y141{bottom:149.868000pt;}
.y75{bottom:152.454667pt;}
.y62{bottom:152.984000pt;}
.y179{bottom:153.160000pt;}
.y10f{bottom:153.206667pt;}
.y105{bottom:153.280000pt;}
.ybc{bottom:153.501333pt;}
.ya{bottom:154.030667pt;}
.y3a{bottom:154.312000pt;}
.y4{bottom:154.869333pt;}
.y16e{bottom:157.444000pt;}
.y117{bottom:158.625333pt;}
.yfe{bottom:159.146667pt;}
.yd3{bottom:159.589333pt;}
.y8c{bottom:160.242667pt;}
.y15c{bottom:160.312000pt;}
.y1a0{bottom:160.365333pt;}
.ya2{bottom:160.478667pt;}
.y19{bottom:160.672000pt;}
.y52{bottom:160.944000pt;}
.y128{bottom:161.417333pt;}
.y185{bottom:161.562667pt;}
.y12{bottom:161.794667pt;}
.y46{bottom:161.808000pt;}
.y14d{bottom:162.116000pt;}
.y12d{bottom:163.022667pt;}
.y136{bottom:163.446667pt;}
.y18e{bottom:163.548000pt;}
.y98{bottom:164.418667pt;}
.yc7{bottom:165.213333pt;}
.y197{bottom:165.780000pt;}
.ya8{bottom:166.810667pt;}
.y74{bottom:166.966667pt;}
.y61{bottom:167.496000pt;}
.y178{bottom:169.964000pt;}
.y83{bottom:172.212000pt;}
.y160{bottom:173.012000pt;}
.yeb{bottom:173.181333pt;}
.y2c{bottom:173.556000pt;}
.y140{bottom:174.629333pt;}
.y1f{bottom:175.078667pt;}
.yd2{bottom:176.393333pt;}
.yf4{bottom:177.621333pt;}
.yb3{bottom:177.912000pt;}
.y184{bottom:178.365333pt;}
.y104{bottom:178.585333pt;}
.yad{bottom:178.612000pt;}
.y9{bottom:179.633333pt;}
.y73{bottom:179.874667pt;}
.yda{bottom:180.112000pt;}
.y120{bottom:180.178667pt;}
.y18d{bottom:180.352000pt;}
.y167{bottom:180.834667pt;}
.y147{bottom:181.088000pt;}
.y8b{bottom:182.061333pt;}
.y16d{bottom:182.557333pt;}
.y196{bottom:182.584000pt;}
.y14c{bottom:182.892000pt;}
.y39{bottom:183.336000pt;}
.y60{bottom:184.074667pt;}
.y26{bottom:184.330667pt;}
.y15b{bottom:185.072000pt;}
.y97{bottom:185.193333pt;}
.y18{bottom:186.276000pt;}
.y3{bottom:186.690667pt;}
.y177{bottom:186.768000pt;}
.y135{bottom:186.878667pt;}
.y11{bottom:187.398667pt;}
.y116{bottom:188.700000pt;}
.y51{bottom:189.657333pt;}
.yc6{bottom:190.518667pt;}
.y82{bottom:190.542667pt;}
.ybb{bottom:192.624000pt;}
.yfd{bottom:192.753333pt;}
.yd1{bottom:193.197333pt;}
.y15f{bottom:193.788000pt;}
.yea{bottom:193.956000pt;}
.y12c{bottom:195.056000pt;}
.y183{bottom:195.169333pt;}
.y45{bottom:195.414667pt;}
.y10e{bottom:195.866667pt;}
.y18c{bottom:197.154667pt;}
.y38{bottom:197.258667pt;}
.yb2{bottom:198.688000pt;}
.y103{bottom:199.360000pt;}
.y195{bottom:199.386667pt;}
.y13f{bottom:199.389333pt;}
.y19f{bottom:199.737333pt;}
.yd9{bottom:199.905333pt;}
.y1e{bottom:200.682667pt;}
.y166{bottom:201.610667pt;}
.y2b{bottom:202.581333pt;}
.y176{bottom:203.570667pt;}
.y72{bottom:203.668000pt;}
.ya1{bottom:204.620000pt;}
.y8{bottom:205.237333pt;}
.y146{bottom:205.848000pt;}
.y96{bottom:205.969333pt;}
.y8a{bottom:206.633333pt;}
.yf3{bottom:206.878667pt;}
.y127{bottom:207.245333pt;}
.y5f{bottom:207.868000pt;}
.y50{bottom:207.988000pt;}
.y81{bottom:211.530667pt;}
.yc5{bottom:211.772000pt;}
.y182{bottom:211.973333pt;}
.yac{bottom:212.218667pt;}
.y10{bottom:213.002667pt;}
.y11f{bottom:213.785333pt;}
.y18b{bottom:213.958667pt;}
.y15e{bottom:214.562667pt;}
.yba{bottom:214.866667pt;}
.ya7{bottom:215.634667pt;}
.y12b{bottom:215.830667pt;}
.y194{bottom:216.190667pt;}
.y10d{bottom:216.641333pt;}
.y2a{bottom:217.093333pt;}
.y71{bottom:218.180000pt;}
.y14b{bottom:218.245333pt;}
.yb1{bottom:219.462667pt;}
.y175{bottom:220.374667pt;}
.y19e{bottom:220.513333pt;}
.yfc{bottom:221.844000pt;}
.y5e{bottom:222.380000pt;}
.y115{bottom:224.206667pt;}
.y37{bottom:225.036000pt;}
.ye9{bottom:225.358667pt;}
.y1d{bottom:226.285333pt;}
.y15a{bottom:226.622667pt;}
.y95{bottom:226.744000pt;}
.yd0{bottom:226.804000pt;}
.ya0{bottom:227.268000pt;}
.y102{bottom:227.408000pt;}
.y134{bottom:228.210667pt;}
.yc4{bottom:228.576000pt;}
.y44{bottom:229.022667pt;}
.y11e{bottom:230.589333pt;}
.y13e{bottom:231.422667pt;}
.y70{bottom:232.692000pt;}
.y193{bottom:232.994667pt;}
.y165{bottom:233.642667pt;}
.y29{bottom:233.672000pt;}
.y89{bottom:234.681333pt;}
.y80{bottom:234.962667pt;}
.y4f{bottom:235.617333pt;}
.ya6{bottom:236.409333pt;}
.y5d{bottom:236.892000pt;}
.y2{bottom:237.385333pt;}
.y145{bottom:237.881333pt;}
.yf{bottom:238.606667pt;}
.y36{bottom:239.549333pt;}
.y114{bottom:240.213333pt;}
.yf2{bottom:240.485333pt;}
.y12a{bottom:240.590667pt;}
.y181{bottom:241.064000pt;}
.yfb{bottom:242.620000pt;}
.y18a{bottom:243.049333pt;}
.y10c{bottom:244.689333pt;}
.yc3{bottom:245.378667pt;}
.ye8{bottom:246.133333pt;}
.y6f{bottom:247.204000pt;}
.y94{bottom:247.520000pt;}
.y133{bottom:248.986667pt;}
.y174{bottom:249.465333pt;}
.y192{bottom:249.797333pt;}
.y5c{bottom:251.404000pt;}
.y1c{bottom:251.889333pt;}
.y13d{bottom:252.197333pt;}
.yb0{bottom:253.521333pt;}
.y4e{bottom:253.949333pt;}
.yb9{bottom:253.989333pt;}
.y164{bottom:254.418667pt;}
.y28{bottom:255.456000pt;}
.y159{bottom:258.656000pt;}
.ycf{bottom:260.410667pt;}
.y6e{bottom:261.716000pt;}
.y180{bottom:261.838667pt;}
.yfa{bottom:263.394667pt;}
.y11d{bottom:264.196000pt;}
.ye{bottom:264.210667pt;}
.y1{bottom:264.882667pt;}
.y5b{bottom:265.916000pt;}
.yf1{bottom:266.920000pt;}
.y7f{bottom:266.996000pt;}
.y113{bottom:268.261333pt;}
.y35{bottom:268.573333pt;}
.y173{bottom:270.241333pt;}
.y132{bottom:272.418667pt;}
.y129{bottom:272.624000pt;}
.y13c{bottom:272.973333pt;}
.y9f{bottom:273.913333pt;}
.yaf{bottom:274.297333pt;}
.y163{bottom:275.193333pt;}
.y6d{bottom:276.229333pt;}
.y27{bottom:276.232000pt;}
.y1b{bottom:277.493333pt;}
.yc2{bottom:278.986667pt;}
.yce{bottom:280.204000pt;}
.y34{bottom:282.494667pt;}
.y6c{bottom:289.137333pt;}
.y7{bottom:314.865333pt;}
.y17f{bottom:320.650667pt;}
.he{height:29.414982pt;}
.h14{height:29.457490pt;}
.hc{height:29.499997pt;}
.h9{height:31.880400pt;}
.hb{height:33.091994pt;}
.hf{height:33.187635pt;}
.h10{height:33.713664pt;}
.hd{height:36.768636pt;}
.h11{height:36.874903pt;}
.h6{height:39.850400pt;}
.h13{height:40.378215pt;}
.ha{height:43.636400pt;}
.h5{height:44.250180pt;}
.h7{height:47.820800pt;}
.h12{height:52.947042pt;}
.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;}
.x5{left:45.984000pt;}
.xe{left:47.625333pt;}
.xa{left:49.281333pt;}
.x15{left:56.769333pt;}
.x11{left:58.717333pt;}
.xb{left:64.362667pt;}
.x6{left:67.314667pt;}
.xd{left:70.870667pt;}
.x16{left:79.438667pt;}
.x12{left:84.277333pt;}
.x13{left:91.992000pt;}
.x10{left:103.881333pt;}
.xc{left:110.821333pt;}
.x2{left:133.021333pt;}
.x8{left:142.362667pt;}
.x14{left:204.968000pt;}
.x17{left:260.356000pt;}
.x3{left:504.940000pt;}
.x18{left:558.356000pt;}
.xf{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,228.21,null]'>Overview</a></li><li><a class="l" href="#pf13" data-dest-detail='[19,"XYZ",28.346,226.471,null]'>Terminology</a></li><li><a class="l" href="#pf14" data-dest-detail='[20,"XYZ",28.346,198.343,null]'>Visibility and Reachability</a></li><li><a class="l" href="#pf16" data-dest-detail='[22,"XYZ",28.346,228.21,null]'>Module Unit Types</a></li><li><a class="l" href="#pf17" data-dest-detail='[23,"XYZ",28.346,228.21,null]'>Keywords</a></li><li><a class="l" href="#pf1e" data-dest-detail='[30,"XYZ",28.346,218.582,null]'>Global Module Fragment</a></li><li><a class="l" href="#pf1f" data-dest-detail='[31,"XYZ",28.346,228.21,null]'>Private Module Fragment</a></li><li><a class="l" href="#pf20" data-dest-detail='[32,"XYZ",28.346,204.553,null]'>Header Module Unit</a></li><li><a class="l" href="#pf21" data-dest-detail='[33,"XYZ",28.346,228.21,null]'>Module Partitions</a></li></ul></li><li><a class="l" href="#pf23" data-dest-detail='[35,"XYZ",28.346,255.118,null]'>Compiling Multiple Translation Units</a><ul><li><a class="l" href="#pf24" data-dest-detail='[36,"XYZ",28.346,225.504,null]'>Fundamental Compiler Flags</a></li><li><a class="l" href="#pf25" data-dest-detail='[37,"XYZ",28.346,225.35,null]'>Compile Methods</a></li></ul></li><li><a class="l" href="#pf26" data-dest-detail='[38,"XYZ",28.346,255.118,null]'>Libraries in C++</a><ul><li><a class="l" href="#pf27" data-dest-detail='[39,"XYZ",28.346,225.766,null]'>Static Library</a></li><li><a class="l" href="#pf28" data-dest-detail='[40,"XYZ",28.346,199.447,null]'>Building Static Libraries</a></li><li><a class="l" href="#pf29" data-dest-detail='[41,"XYZ",28.346,228.21,null]'>Using Static Libraries</a></li><li><a class="l" href="#pf2a" data-dest-detail='[42,"XYZ",28.346,228.21,null]'>Dynamic Library</a></li><li><a class="l" href="#pf2b" data-dest-detail='[43,"XYZ",28.346,215.028,null]'>Building Dynamic Libraries</a></li><li><a class="l" href="#pf2c" data-dest-detail='[44,"XYZ",28.346,181.958,null]'>Using Dynamic Libraries</a></li><li><a class="l" href="#pf2d" data-dest-detail='[45,"XYZ",28.346,227.431,null]'>Application Binary Interface (ABI)</a></li><li><a class="l" href="#pf2e" data-dest-detail='[46,"XYZ",28.346,228.21,null]'>Demangling</a></li><li><a class="l" href="#pf2f" data-dest-detail='[47,"XYZ",28.346,223.717,null]'>Find Dynamic Library Dependencies</a></li><li><a class="l" href="#pf30" data-dest-detail='[48,"XYZ",28.346,217.415,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">13.<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">2025-01-30</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/46</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/46</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="#pf13" data-dest-detail='[19,"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="#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:137.615000px;width:109.354000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf16" data-dest-detail='[22,"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="#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:99.210000px;width:41.538000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1e" data-dest-detail='[30,"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="#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:60.804000px;width:108.925000px;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:43.538000px;width:86.937000px;height:8.911000px;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: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/46</div><a class="l" href="#pf23" data-dest-detail='[35,"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="#pf24" data-dest-detail='[36,"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="#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: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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAJSUlEQVR42u3Ysa3UQBCA4VvkESE1IKKtACHkwAESndEEvTgwAR04oQOiFzLJkZE5OD2kndN+X7pysOMNfk378PHzDQAAyvj188cbUwAAoBqRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgDAPy0zTQEAgDoiwiYVAIByRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAGa3PPsF+rq95vPz2D0CAIBqbFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgDA67TMNAUAAOqICJtUAADKEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAYKxl2pv3dbs6Oo/dywAAGMgmFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQCA6bTMNAUAAOqICJtUAADKEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAOC5LdPevK/b1dF57F4GAMBANqkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAYrWWmKQAAUEdE2KQCAFCOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAAHrJMe/O+bldH57F7GQAAA9mkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAYLSWmaYAAEAdEWGTCgBAOSIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAAA8t2Xam/d1uzo6j93LAAAYyCYVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAo7XMNAUAAOqICJtUAADKEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAwEOWaW/e1+3q6Dx2LwMAYCCbVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIzWMtMUAACoIyJsUgEAKEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQCA57ZMe/O+bldH57F7GQAAA9mkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAwnZaZpgAAQB0RYZMKAEA5IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAADy3Zdqb93W7OjqP3csAABjIJhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAACjtcw0BQAA6ogIm1QAAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgDAQ5Zpb97X7eroPHYvAwBgIJtUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAjNYy0xQAAKgjImxSAQAoR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAIDntkx7875uV0fnsXsZAAAD2aQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBgtJaZpgAAQB0RYZMKAEA5IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAeMgy7c37ul0dncfuZQAADGSTCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAgNFaZpoCAAB1RIRNKgAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEA4L9aXr69n+e2v79898sBAIrrn7629u7t/eXP7Xa/3w0EAIAS/gKmNlXu/ZronAAAAABJRU5ErkJggg=="/><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/46</div><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: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="#pf27" data-dest-detail='[39,"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="#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:166.781000px;width:101.758000px;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:147.578000px;width:90.729000px;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:128.375000px;width:70.319000px;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:109.172000px;width:113.879000px;height:10.849000px;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:89.969000px;width:102.850000px;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:70.213000px;width:145.484000px;height:11.821000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf2e" data-dest-detail='[46,"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="#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:32.361000px;width:151.709000px;height:10.848000px;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: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 x9 hc y2a ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>ifndef<span class="_ _9"> </span>HEADER_HPP<span class="_ _a"> </span><span class="fc4">//<span class="_ _9"> </span>include<span class="_ _9"> </span>guard</span></div><div class="t m0 x9 hc y2b ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>define<span class="_ _9"> </span>HEADER_HPP</div><div class="t m0 x9 hc y2c ff8 fs5 fc0 sc0 ls0 ws0">...<span class="_ _9"> </span>many<span class="_ _9"> </span>lines<span class="_ _9"> </span>of<span class="_ _9"> </span>code<span class="_ _9"> </span>...</div><div class="t m0 x9 hc y2d ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>endif<span class="_ _5"> </span><span class="fc4">//<span class="_ _9"> </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="_ _11"> </span><span class="ff4">p<span class="_ _7"></span>reprocessor<span class="_ _12"> </span>directive<span class="_ _12"> </span>is<span class="_ _b"> </span>an<span class="_ _b"> </span>alternative<span class="_ _12"> </span>to<span class="_ _b"> </span>the<span class="_ _b"> </span><span class="ff5">include<span class="_ _d"> </span>guard<span class="_ _12"> </span></span>to<span class="_ _b"> </span>force<span class="_ _12"> </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="_ _12"> </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/46</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/46</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 he y34 ff5 fs5 fc0 sc0 ls0 ws0">header_A.hpp:</div><div class="t m0 x9 hc y35 ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>pragma<span class="_ _9"> </span>once<span class="_ _13"> </span><span class="fc4">//<span class="_ _9"> </span><span class="ffa">p<span class="_ _7"></span>revent<span class="_ _9"> </span><span class="ff7">&quot;multiple<span class="_ _8"> </span>definitions&quot;<span class="_ _9"> </span>linking<span class="_ _9"> </span>error</span></span></span></div><div class="t m0 x9 hc y36 ff5 fs5 fc6 sc0 ls0 ws0">struct<span class="_ _9"> </span><span class="fc7">A<span class="_ _9"> </span><span class="ff8 fc0">{</span></span></div><div class="t m0 x9 hc y37 ff8 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y38 ff5 fs5 fc0 sc0 ls0 ws0">header_B.hpp:</div><div class="t m0 x9 hc y39 ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>include<span class="_ _5"> </span><span class="fc4">&quot;header_A.hpp&quot;<span class="_ _14"> </span>//<span class="_ _9"> </span>included<span class="_ _8"> </span>here</span></div><div class="t m0 x9 hc y3a ff5 fs5 fc6 sc0 ls0 ws0">struct<span class="_ _9"> </span><span class="fc7">B<span class="_ _9"> </span><span class="ff8 fc0">{</span></span></div><div class="t m0 xb hc y3b ff8 fs5 fc0 sc0 ls0 ws0">A<span class="_ _9"> </span>a;</div><div class="t m0 x9 hc y3c ff8 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y3d ff5 fs5 fc0 sc0 ls0 ws0">main.cpp:</div><div class="t m0 x9 hc y3e ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>include<span class="_ _5"> </span><span class="fc4">&quot;header_A.hpp&quot;<span class="_ _14"> </span>//<span class="_ _9"> </span>..<span class="_ _8"> </span>and<span class="_ _9"> </span>included<span class="_ _9"> </span>here</span></div><div class="t m0 x9 hc y3f ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>include<span class="_ _5"> </span><span class="fc4">&quot;header_B.hpp&quot;</span></div><div class="t m0 x9 hc y40 ff5 fs5 fc8 sc0 ls0 ws0">int<span class="_ _9"> </span><span class="ff8 fc7">main<span class="fc0">()<span class="_ _9"> </span>{</span></span></div><div class="t m0 xb hc y41 ff8 fs5 fc0 sc0 ls0 ws0">A<span class="_ _9"> </span>a;<span class="_ _15"> </span><span class="ff7 fc4">//<span class="_ _9"> </span>ok,<span class="_ _8"> </span>here<span class="_ _9"> </span>we<span class="_ _9"> </span>need<span class="_ _9"> </span>&quot;header_A.hpp&quot;</span></div><div class="t m0 xb hc y42 ff8 fs5 fc0 sc0 ls0 ws0">B<span class="_ _9"> </span>b;<span class="_ _15"> </span><span class="ff7 fc4">//<span class="_ _9"> </span>ok,<span class="_ _8"> </span>here<span class="_ _9"> </span>we<span class="_ _9"> </span>need<span class="_ _9"> </span>&quot;header_B.hpp&quot;</span></div><div class="t m0 x9 hc y43 ff8 fs5 fc0 sc0 ls0 ws0">}</div><div class="t m0 x7 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">7/46</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="_ _d"> </span><span class="ffb">fo<span class="_ _7"></span>rw<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 x9 hf y44 ff5 fs7 fc8 sc0 ls0 ws0">void<span class="_ _16"> </span><span class="ffc fc7">f<span class="fc0">();<span class="_ _2"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>function<span class="_ _16"> </span>forward<span class="_ _16"> </span>declaration</span></span></span></div><div class="t m0 x9 hf y45 ff5 fs7 fc6 sc0 ls0 ws0">class<span class="_ _16"> </span><span class="fc7">A<span class="ffc fc0">;<span class="_ _17"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>class<span class="_ _18"> </span>forward<span class="_ _16"> </span>declaration</span></span></span></div><div class="t m0 x9 hf y46 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffc fc7">main<span class="fc0">()<span class="_ _16"> </span>{</span></span></div><div class="t m0 x6 hf y47 ffc fs7 fc0 sc0 ls0 ws0">f();<span class="_ _17"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>ok,<span class="_ _16"> </span>f()<span class="_ _16"> </span>is<span class="_ _16"> </span>defined<span class="_ _16"> </span>in<span class="_ _16"> </span>the<span class="_ _16"> </span>translation<span class="_ _16"> </span>unit</span></div><div class="t m0 x9 h10 y48 ff7 fs7 fc4 sc0 ls0 ws0">//<span class="_ _2"> </span>A<span class="_ _16"> </span>a;<span class="_ _17"> </span>//<span class="_ _16"> </span><span class="ffd">compiler<span class="_ _12"> </span>erro<span class="_ _7"></span>r<span class="_ _16"> </span><span class="ff7">no<span class="_ _16"> </span>definition<span class="_ _16"> </span>(incomplete<span class="_ _16"> </span>type)</span></span></div><div class="t m0 xc hf y49 ff7 fs7 fc4 sc0 ls0 ws0">//<span class="_ _16"> </span>e.g.<span class="_ _16"> </span>the<span class="_ _16"> </span>compiler<span class="_ _16"> </span>is<span class="_ _16"> </span>not<span class="_ _16"> </span>able<span class="_ _16"> </span>to<span class="_ _16"> </span>deduce<span class="_ _16"> </span>the<span class="_ _16"> </span>size<span class="_ _16"> </span>of<span class="_ _16"> </span>A</div><div class="t m0 x6 hf y4a ffc fs7 fc0 sc0 ls0 ws0">A<span class="fc9">*<span class="_ _16"> </span></span>a;<span class="_ _2"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>ok</span></div><div class="t m0 x9 hf y4b ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x9 hf y4c ff5 fs7 fc8 sc0 ls0 ws0">void<span class="_ _16"> </span><span class="ffc fc7">f<span class="fc0">()<span class="_ _16"> </span>{}<span class="_ _2"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>definition<span class="_ _16"> </span>of<span class="_ _16"> </span>f()</span></span></span></div><div class="t m0 x9 hf y4d ff5 fs7 fc6 sc0 ls0 ws0">class<span class="_ _16"> </span><span class="fc7">A<span class="_ _2"> </span><span class="ffc fc0">{};<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>definition<span class="_ _16"> </span>of<span class="_ _16"> </span>A()</span></span></span></div><div class="t m0 x7 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">8/46</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIw0lEQVR42u3ZvUkEURSG4bkyB6OLNYiRFYgYC9uCgfXYhB0YWINgYBF2YLTcwPUkYyCIyfqHu95hn6eC4bvJy5lydHI2AABANx4f7vesAABAb0QqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAADvSmZaAQCAfkSESyoAAN0RqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAADWG00AMF+tNSN8otZqBJgpl1QAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQDYMSUzrQAAQD8iwiUVAIDuiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAIAfGE0AAF9qrRlhnVqrEfhzLqkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCwY0pmWgEAgH5EhEsqAADdEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUEwAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAMB2jCb4vtaaETan1moEAOCNSyoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBAJi3kplWAACgHxHhkgoAQHdEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAA2KxxLh/6vFotLi49GMzL3e2NEQD4hZKZVgAAoB8R4Xc/AADdEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAMBWjcurQyvw0dP5tREAgH90fLoo5WB/Wr4MwzRNBgEAoAuvEREu/J79CqUAAAAASUVORK5CYII="/><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="_ _b"> </span>decla<span class="_ _7"></span>rations<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="_ _11"> </span><span class="ffe">#include<span class="_ _11"> </span></span>fo<span class="_ _7"></span>rces<span class="_ _b"> </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="_ _12"> </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="_ _b"> </span>decla<span class="_ _7"></span>rations<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="_ _19"> </span><span class="ffe">#include<span class="_ _11"> </span></span>can<span class="_ _b"> </span>fo<span class="_ _7"></span>rce<span class="_ _b"> </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="_ _b"> </span>decla<span class="_ _7"></span>rations<span class="_ _b"> </span>can<span class="_ _b"> </span>hide<span class="_ _b"> </span>a<span class="_ _b"> </span>dependency<span class="_ _1a"></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="_ _1a"></span>ard<span class="_ _12"> </span>declaration<span class="_ _b"> </span>ma<span class="_ _7"></span>y<span class="_ _b"> </span>be<span class="_ _b"> </span>brok<span class="_ _7"></span>en<span class="_ _b"> </span>b<span class="_ _7"></span>y<span class="_ _b"> </span>subsequent<span class="_ _b"> </span>changes<span class="_ _b"> </span>to<span class="_ _b"> </span>the<span class="_ _b"> </span>libra<span class="_ _1a"></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="_ _1a"></span>rwa<span class="_ _1a"></span>rd<span class="_ _b"> </span>declaring<span class="_ _12"> </span>multiple<span class="_ _f"> </span>symbols<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="_ _b"> </span>verbose<span class="_ _b"> </span>than<span class="_ _b"> </span>simply</span></div><div class="t m0 xd h6 y57 ffe fs4 fc0 sc0 ls0 ws0">#including<span class="_ _11"> </span><span class="ff4">the<span class="_ _b"> </span>header</span></div><div class="t m0 xe hf y58 ffc 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/46</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="_ _7"></span>r<span class="_ _9"> </span>Dep<span class="_ _c"></span>endencies<span class="_ _1b"> </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="_ _1a"></span>een<span class="_ _f"> </span>tw<span class="_ _1a"></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>a<span class="_ _7"></span>rd<span class="_ _f"> </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 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">10/46</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pfd" class="pf w0 h0" data-page-no="d"><div class="pc pcd w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Circula<span class="_ _7"></span>r<span class="_ _9"> </span>Dep<span class="_ _c"></span>endencies<span class="_ _1b"> </span>2/3</div><div class="t m0 x1 he y34 ff5 fs5 fc0 sc0 ls0 ws0">header_A.hpp:</div><div class="t m0 x9 hc y5b ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>pragma<span class="_ _9"> </span>once<span class="_ _a"> </span><span class="fc4">//<span class="_ _9"> </span>first<span class="_ _9"> </span>include</span></div><div class="t m0 x9 hc y5c ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>include<span class="_ _5"> </span><span class="fc4">&quot;header_B.hpp&quot;</span></div><div class="t m0 x9 hc y5d ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">A<span class="_ _9"> </span><span class="ff8 fc0">{</span></span></div><div class="t m0 xb hc y5e ff8 fs5 fc0 sc0 ls0 ws0">B<span class="fc9">*<span class="_ _9"> </span></span>b;</div><div class="t m0 x9 hc y5f ff8 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y60 ff5 fs5 fc0 sc0 ls0 ws0">header_B.hpp:</div><div class="t m0 x9 hc y61 ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>pragma<span class="_ _9"> </span>once<span class="_ _a"> </span><span class="fc4">//<span class="_ _9"> </span>second<span class="_ _9"> </span>include</span></div><div class="t m0 x9 hc y62 ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>include<span class="_ _5"> </span><span class="fc4">&quot;header_C.hpp&quot;</span></div><div class="t m0 x9 hc y63 ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">B<span class="_ _9"> </span><span class="ff8 fc0">{</span></span></div><div class="t m0 xb hc y64 ff8 fs5 fc0 sc0 ls0 ws0">C<span class="fc9">*<span class="_ _9"> </span></span>c;</div><div class="t m0 x9 hc y65 ff8 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y66 ff5 fs5 fc0 sc0 ls0 ws0">header_C.hpp:</div><div class="t m0 x9 hc y67 ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>pragma<span class="_ _9"> </span>once<span class="_ _a"> </span><span class="fc4">//<span class="_ _9"> </span>third<span class="_ _9"> </span>include</span></div><div class="t m0 x9 hc y68 ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>include<span class="_ _5"> </span><span class="fc4">&quot;header_A.hpp&quot;</span></div><div class="t m0 x9 hc y69 ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">C<span class="_ _9"> </span><span class="ff8 fc0">{<span class="_ _15"> </span><span class="ff7 fc4">//<span class="_ _9"> </span><span class="ffa fcb">compile<span class="_ _12"> </span>erro<span class="_ _1a"></span>r<span class="_ _9"> </span><span class="ff7 fc4">&quot;header_A.hpp&quot;:<span class="_ _9"> </span><span class="ffa">already<span class="_ _9"> </span></span>included<span class="_ _9"> </span>by<span class="_ _8"> </span>&quot;main.cpp&quot;</span></span></span></span></span></div><div class="t m0 xb hc y6a ff8 fs5 fc0 sc0 ls0 ws0">A<span class="fc9">*<span class="_ _9"> </span></span>a;<span class="_ _15"> </span><span class="ff7 fc4">//<span class="_ _9"> </span>the<span class="_ _8"> </span>compiler<span class="_ _9"> </span>does<span class="_ _9"> </span>not<span class="_ _9"> </span>know<span class="_ _9"> </span>the<span class="_ _9"> </span>meaning<span class="_ _8"> </span>of<span class="_ _9"> </span>&quot;A&quot;</span></div><div class="t m0 x9 hc y6b ff8 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">11/46</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="_ _7"></span>r<span class="_ _9"> </span>Dep<span class="_ _c"></span>endencies<span class="_ _16"> </span><span class="fs4">(fix)<span class="_ _1c"> </span></span>3/3</div><div class="t m0 x1 he y6c ff5 fs5 fc0 sc0 ls0 ws0">header_A.hpp:</div><div class="t m0 x9 hc y6d ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>pragma<span class="_ _9"> </span>once</div><div class="t m0 x9 hc y6e ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">B<span class="ff8 fc0">;<span class="_ _13"> </span><span class="ff7 fc4">//<span class="_ _9"> </span>forward<span class="_ _9"> </span>declaration</span></span></span></div><div class="t m0 x10 hc y6f ff7 fs5 fc4 sc0 ls0 ws0">//<span class="_ _9"> </span>note:<span class="_ _8"> </span>does<span class="_ _9"> </span>not<span class="_ _9"> </span>include<span class="_ _9"> </span>&quot;header_B.hpp&quot;</div><div class="t m0 x9 hc y70 ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">A<span class="_ _9"> </span><span class="ff8 fc0">{</span></span></div><div class="t m0 xb hc y71 ff8 fs5 fc0 sc0 ls0 ws0">B<span class="fc9">*<span class="_ _9"> </span></span>b;</div><div class="t m0 x9 hc y72 ff8 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y73 ff5 fs5 fc0 sc0 ls0 ws0">header_B.hpp:</div><div class="t m0 x9 hc y74 ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>pragma<span class="_ _9"> </span>once</div><div class="t m0 x9 hc y75 ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">C<span class="ff8 fc0">;<span class="_ _13"> </span><span class="ff7 fc4">//<span class="_ _9"> </span>forward<span class="_ _9"> </span>declaration</span></span></span></div><div class="t m0 x9 hc y76 ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">B<span class="_ _9"> </span><span class="ff8 fc0">{</span></span></div><div class="t m0 x11 hc y77 ff8 fs5 fc0 sc0 ls0 ws0">C<span class="fc9">*<span class="_ _9"> </span></span>c;</div><div class="t m0 x9 hc y78 ff8 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 he y79 ff5 fs5 fc0 sc0 ls0 ws0">header_C.hpp:</div><div class="t m0 x9 hc y7a ff7 fs5 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>pragma<span class="_ _9"> </span>once</div><div class="t m0 x9 hc y7b ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">A<span class="ff8 fc0">;<span class="_ _13"> </span><span class="ff7 fc4">//<span class="_ _9"> </span>forward<span class="_ _9"> </span>declaration</span></span></span></div><div class="t m0 x9 hc y7c ff5 fs5 fc6 sc0 ls0 ws0">class<span class="_ _9"> </span><span class="fc7">C<span class="_ _9"> </span><span class="ff8 fc0">{</span></span></div><div class="t m0 xb hc y7d ff8 fs5 fc0 sc0 ls0 ws0">A<span class="fc9">*<span class="_ _9"> </span></span>a;</div><div class="t m0 x9 hc y7e ff8 fs5 fc0 sc0 ls0 ws0">};</div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">12/46</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="_ _16"> </span>Erro<span class="_ _1a"></span>rs</div><div class="t m0 x1 ha y7f ff4 fs6 fc0 sc0 ls0 ws0">V<span class="_ _7"></span>ery<span class="_ _f"> </span>common<span class="_ _f"> </span><span class="ffb">linking<span class="_ _16"> </span></span>erro<span class="_ _7"></span>rs:</div><div class="t m0 xe ha y80 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 y81 ffb fs6 fc0 sc0 ls0 ws0">Solutions<span class="_ _0"></span><span class="ff4">:</span></div><div class="t m0 x12 h6 y82 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="_ _12"> </span>included</div><div class="t m0 x12 h6 y83 ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _5"> </span>Break<span class="_ _b"> </span>circular<span class="_ _12"> </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>hard<span class="_ _12"> </span>to<span class="_ _b"> </span>find)</div><div class="t m0 xe ha y84 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 y85 ffb fs6 fc0 sc0 ls0 ws0">Solutions<span class="_ _0"></span><span class="ff4">:</span></div><div class="t m0 x12 h6 y86 ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _15"> </span><span class="ffe">inline<span class="_ _11"> </span></span>function,<span class="_ _b"> </span>va<span class="_ _7"></span>riable<span class="_ _b"> </span>definition<span class="_ _b"> </span>or<span class="_ _4"> </span><span class="ffe">extern<span class="_ _1d"> </span></span>decla<span class="_ _7"></span>ration</div><div class="t m0 x12 h6 y87 ff4 fs4 fc0 sc0 ls0 ws0">-<span class="_ _5"> </span>Add<span class="_ _12"> </span><span class="ffe">include<span class="_ _5"> </span>guard</span>/<span class="_ _12"> </span><span class="ffe">#pragma<span class="_ _d"> </span>once<span class="_ _11"> </span></span>to<span class="_ _b"> </span>header<span class="_ _b"> </span>files</div><div class="t m0 x12 h6 y88 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 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">13/46</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="_ _1e"> </span>1/2</div><div class="t m0 x1 ha y27 ff1 fs6 fc0 sc0 ls0 ws0">The<span class="_ _1f"> </span><span class="ff5">#include<span class="_ _1f"> </span></span>p<span class="_ _7"></span>roblem<span class="ff4">:<span class="_ _16"> </span><span class="ffb">The<span class="_ _f"> </span>duplication<span class="_ _f"> </span>of<span class="_ _f"> </span>wo<span class="_ _1a"></span>rk<span class="_ _16"> </span><span class="ff4">-<span class="_ _f"> </span>the<span class="_ _f"> </span>same<span class="_ _f"> </span>header<span class="_ _f"> </span>files<span class="_ _f"> </span>a<span class="_ _7"></span>re</span></span></span></div><div class="t m0 x1 ha y28 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 y89 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 y8a 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="_ _1d"> </span><span class="ffe">#include</span></span></div><div class="t m0 x9 ha y8b 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 y8c 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 y8d 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 y8e 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 y8f ffb 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 xa hf y90 fff fs7 fca sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffc">A<span class="_ _16"> </span>Practical<span class="_ _16"> </span>Introduction<span class="_ _16"> </span>to<span class="_ _16"> </span>C++20s<span class="_ _16"> </span>Modules</span></div><div class="t m0 xa hf y91 fff fs7 fca sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffc">Modules<span class="_ _16"> </span>the<span class="_ _16"> </span>beginners<span class="_ _16"> </span>guide</span></div><div class="t m0 xa hf y92 fff fs7 fca sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffc">Understanding<span class="_ _16"> </span>C++<span class="_ _16"> </span>Modules</span></div><div class="t m0 xa hf y93 fff fs7 fca sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffc">Overview<span class="_ _16"> </span>of<span class="_ _16"> </span>modules<span class="_ _16"> </span>in<span class="_ _16"> </span>C++</span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">14/46</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:38.255000px;width:204.408000px;height:7.373000px;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:23.660000px;width:133.798000px;height:9.365000px;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:12.053000px;width:119.676000px;height:9.366000px;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:2.439000px;width:124.384000px;height:7.373000px;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="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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIi0lEQVR42u3YsU0DURBF0f1oR46+qAERUQFCxEjuzE1QDgFF0IEj60dMss6cEaxk2JE5p4QXXb32+Pw6AQBAGV+fH3dWAACgGpEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAMBFy0wrAABQR0R4UgEAKEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQDgv5tNAGMMI6zVezcCAL/HkwoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAAttUy0woAANQREZ5UAADKEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUEwAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAgKuYTXDbxhhGWKv3bgQA2JYnFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAABsq2WmFQAAqCMiPKkAAJQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQCAVebT4cEK8MeOb+9GAICfPL3sW7vfLafvaVqWxSAAAJRwBhgNIABHfe1SAAAAAElFTkSuQmCC"/><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="_ _1e"> </span>2/2</div><div class="t m0 x1 ha y27 ffb 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="_ _1f"> </span><span class="ffe">#include<span class="_ _12"> </span><span class="ff4">:</span></span></div><div class="t m0 xe ha y94 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="ffb">imp<span class="_ _c"></span>o<span class="_ _7"></span>rts<span class="_ _16"> </span><span class="ff4">the<span class="_ _b"> </span>mo<span class="_ _c"></span>dule</span></span></span></div><div class="t m0 xe ha y95 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Macros,<span class="_ _b"> </span>prep<span class="_ _7"></span>ro<span class="_ _c"></span>cesso<span class="_ _7"></span>r<span class="_ _b"> </span>directives,<span class="_ _f"> </span>and<span class="_ _f"> </span><span class="ffb">non-exported<span class="_ _9"> </span></span>names<span class="_ _f"> </span>declared<span class="_ _b"> </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 y96 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 xe ha y97 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="ffb">imp<span class="_ _c"></span>o<span class="_ _7"></span>rting<span class="_ _16"> </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 y98 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="ffb">imp<span class="_ _c"></span>o<span class="_ _7"></span>rted<span class="_ _16"> </span><span class="ff4">module</span></span></div><div class="t m0 x1 ha y99 ff4 fs6 fc0 sc0 ls0 ws0">Other<span class="_ _f"> </span>b<span class="_ _c"></span>enefits:</div><div class="t m0 xe ha y9a 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="_ _16"> </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>a<span class="_ _7"></span>re</span></span></div><div class="t m0 x6 ha y9b 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 y9c ff4 fs6 fc0 sc0 ls0 ws0">templates</div><div class="t m0 xe ha y9d 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="_ _1a"></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 y9e ff4 fs6 fc0 sc0 ls0 ws0">whole<span class="_ _1d"> </span><span class="ffe">#include</span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">15/46</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,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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 y9f 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 ya0 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="ffb">translation<span class="_ _f"> </span>unit<span class="_ _16"> </span></span>that<span class="_ _b"> </span>contains<span class="_ _f"> </span>a<span class="_ _1f"> </span><span class="ff5">module<span class="_ _11"> </span></span>declaration</div><div class="t m0 x9 hf ya1 ff5 fs7 fc6 sc0 ls0 ws0">module<span class="_ _16"> </span><span class="ffc fc0">my.</span>module<span class="ffc fc0">.example;</span></div><div class="t m0 x1 ha ya2 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="ffb">identifiers<span class="_ _16"> </span></span>joined<span class="_ _b"> </span>by<span class="_ _b"> </span>dots<span class="_ _f"> </span>(the<span class="_ _f"> </span>dot<span class="_ _f"> </span>carries<span class="_ _f"> </span>no</div><div class="t m0 x1 ha ya3 ff4 fs6 fc0 sc0 ls0 ws0">meaning)<span class="_ _1d"> </span><span class="ffe">my.module.example</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="_ _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 ya5 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="_ _16"> </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="ffb">mo<span class="_ _c"></span>dule<span class="_ _f"> </span>name</span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">16/46</div></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">Visibilit<span class="_ _7"></span>y<span class="_ _9"> </span>and<span class="_ _9"> </span>Reachability</div><div class="t m0 x1 ha ya6 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 ya7 ff4 fs6 fc0 sc0 ls0 ws0">unit.<span class="_ _16"> </span><span class="ffb">Visible<span class="_ _9"> </span></span>also<span class="_ _f"> </span>means<span class="_ _f"> </span><span class="ffb">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 ya8 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 ya9 ff4 fs6 fc0 sc0 ls0 ws0">available</div><div class="t m0 xe ha yaa ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">Each<span class="_ _f"> </span><span class="ffb">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="ffb">reachable</span></span></div><div class="t m0 xe ha yab 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="ffb">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="ffb">visible</span></span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">17/46</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIu0lEQVR42u3ZoU0EQRiG4R2yE9SGGgjqKiCEIBAkeEq5IpDXAEXQAQIEHWDoAHUZxZ9wi0MiThz/sM9TweTbFW9mytn55QAAAGm8v74cWQEAgGxEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAP0pEWAEAgDxqrW5SAQBIR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAAD+0mgCgF6srq4XvsDb85PfABaiRIQVAADIo9bquR8AgHREKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAKBnY0dnba35YAAA+5mmqaPTukkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkmgAAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCwQKMJIJuv3e5us7HDIT2u10YASKVERC9nba35YAAA+5mmqZej1lo99wMAkI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgDAf1UiwgoAAORRa3WTCgBAOiIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAAD0bdzen1oB+N3HzYMRADiY1cVtKSfH8/ZzGOZ5NggAACl8A9NeK/7hWM6CAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Reachabilit<span class="_ _7"></span>y<span class="_ _9"> </span>Example</div><div class="t m0 x1 ha y27 ffb fs6 fc0 sc0 ls0 ws0">Common<span class="_ _b"> </span>example<span class="_ _0"></span><span class="ff4">:<span class="_ _16"> </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="_ _1a"></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 x9 hf y44 ff5 fs7 fc6 sc0 ls0 ws0">auto<span class="_ _16"> </span><span class="ffc fc0">g()<span class="_ _16"> </span>{</span></div><div class="t m0 x6 hf yac ff5 fs7 fc6 sc0 ls0 ws0">struct<span class="_ _16"> </span><span class="fc7">A<span class="_ _16"> </span><span class="ffc fc0">{</span></span></div><div class="t m0 x13 hf y45 ff5 fs7 fc8 sc0 ls0 ws0">void<span class="_ _16"> </span><span class="ffc fc7">f<span class="fc0">()<span class="_ _16"> </span>{}</span></span></div><div class="t m0 x6 hf yad ffc fs7 fc0 sc0 ls0 ws0">};</div><div class="t m0 x6 hf y46 ff5 fs7 fc6 sc0 ls0 ws0">return<span class="_ _16"> </span><span class="ffc fc0">A{};</span></div><div class="t m0 x9 hf y47 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x9 hf y48 ff7 fs7 fc4 sc0 ls0 ws0">//---------------------------------------------------------------------------------</div><div class="t m0 x9 hf y4a ff5 fs7 fc6 sc0 ls0 ws0">auto<span class="_ _16"> </span><span class="ffc fc0">x<span class="_ _16"> </span><span class="fc9">=<span class="_ _16"> </span></span>g();<span class="_ _20"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>ok</span></span></div><div class="t m0 x9 hf y4b ff7 fs7 fc4 sc0 ls0 ws0">//<span class="_ _16"> </span>A<span class="_ _16"> </span>y<span class="_ _16"> </span>=<span class="_ _16"> </span>g();<span class="_ _20"> </span>//<span class="_ _16"> </span>compile<span class="_ _16"> </span>error,<span class="_ _16"> </span>&quot;A&quot;<span class="_ _16"> </span>is<span class="_ _16"> </span>unknown<span class="_ _16"> </span>at<span class="_ _16"> </span>this<span class="_ _16"> </span>point</div><div class="t m0 x9 hf yae ffc fs7 fc0 sc0 ls0 ws0">x.f();<span class="_ _21"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>ok</span></div><div class="t m0 x9 hf y4c ff5 fs7 fc6 sc0 ls0 ws0">sizeof<span class="ffc fc0">(x);<span class="_ _22"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>ok</span></span></div><div class="t m0 x9 hf y4d ff5 fs7 fc6 sc0 ls0 ws0">using<span class="_ _16"> </span><span class="ffc fc0">T<span class="_ _16"> </span><span class="fc9">=<span class="_ _16"> </span></span></span>decltype<span class="ffc fc0">(x);<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>ok</span></span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">18/46</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">Mo<span class="_ _c"></span>dule<span class="_ _9"> </span>Unit<span class="_ _16"> </span>T<span class="_ _3"></span>yp<span class="_ _c"></span>es</div><div class="t m0 xe ha yaf 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="_ _f"> </span></span>is<span class="_ _f"> </span>a<span class="_ _8"> </span><span class="ffb">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="ffb">mo<span class="_ _c"></span>dule</span></span></div><div class="t m0 x6 ha yb0 ffb 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="ffb">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 xe ha yb1 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="ffb">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 yb2 ffb fs6 fc0 sc0 ls0 ws0">mo<span class="_ _c"></span>dule<span class="_ _f"> </span>name<span class="ff4">.<span class="_ _16"> </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="_ _1a"></span>ry<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _f"> </span>interface<span class="_ _f"> </span>unit<span class="_ _16"> </span><span class="ff4">in</span></div><div class="t m0 x6 ha yb3 ff4 fs6 fc0 sc0 ls0 ws0">a<span class="_ _f"> </span>mo<span class="_ _c"></span>dule</div><div class="t m0 xe ha yb4 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="ffb">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="ffb">mo<span class="_ _c"></span>dule</span></span></div><div class="t m0 x6 ha yb5 ffb 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="ffb">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 yb6 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="_ _f"> </span>or<span class="_ _b"> </span>m<span class="_ _c"></span>o<span class="_ _1a"></span>re<span class="_ _f"> </span><span class="ffb">mo<span class="_ _c"></span>dule</span></div><div class="t m0 x1 ha yb7 ffb fs6 fc0 sc0 ls0 ws0">implementation<span class="_ _f"> </span>units<span class="_ _16"> </span><span class="ff4">a<span class="_ _1a"></span>re<span class="_ _f"> </span>present.<span class="_ _16"> </span>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></span></div><div class="t m0 x1 ha yb8 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="ffb">mo<span class="_ _c"></span>dule<span class="_ _f"> </span>interface<span class="_ _f"> </span>units</span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">19/46</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">Keyw<span class="_ _1a"></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="ffb">named<span class="_ _f"> </span>mo<span class="_ _c"></span>dule</span></span></div><div class="t m0 x9 h11 yb9 ff5 fs4 fc6 sc0 ls0 ws0">module<span class="_ _d"> </span><span class="ffe fc0">my.</span>module<span class="ffe fc0">;<span class="_ _d"> </span><span class="ff7 fc4">//<span class="_ _5"> </span>first<span class="_ _d"> </span>code<span class="_ _5"> </span>line</span></span></div><div class="t m0 x1 ha yba 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 x9 h11 ybb ff5 fs4 fc6 sc0 ls0 ws0">import<span class="_ _d"> </span><span class="ffe fc0">my.</span>module<span class="ffe fc0">;<span class="_ _d"> </span><span class="ff7 fc4">//<span class="_ _5"> </span>after<span class="_ _d"> </span>module<span class="_ _5"> </span>declaration<span class="_ _d"> </span>and<span class="_ _d"> </span>#include</span></span></div><div class="t m0 x1 ha ybc 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 xe ha ybd ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ff5">export<span class="_ _4"> </span>module<span class="_ _5"> </span>&lt;module_name&gt;<span class="_ _1d"> </span><span class="ff4">makes<span class="_ _f"> </span>visible<span class="_ _f"> </span>all<span class="_ _f"> </span>the<span class="_ _f"> </span>exported<span class="_ _f"> </span>symbols<span class="_ _f"> </span>of<span class="_ _f"> </span>a</span></span></div><div class="t m0 x6 ha ybe ff4 fs6 fc0 sc0 ls0 ws0">mo<span class="_ _c"></span>dule.<span class="_ _16"> </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="ffb">prima<span class="_ _1a"></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 xe ha ybf ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ff5">export<span class="_ _4"> </span>namespace<span class="_ _5"> </span>&lt;namespace&gt;<span class="_ _1d"> </span><span class="ff4">makes<span class="_ _f"> </span>visible<span class="_ _f"> </span>all<span class="_ _f"> </span>symbols<span class="_ _f"> </span>in<span class="_ _8"> </span>a<span class="_ _f"> </span>namespace</span></span></div><div class="t m0 xe ha yc0 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ff5">export<span class="_ _4"> </span>&lt;entity&gt;<span class="_ _11"> </span><span class="ff4">makes<span class="_ _b"> </span>visible<span class="_ _f"> </span>a<span class="_ _f"> </span>sp<span class="_ _c"></span>ecific<span class="_ _f"> </span>function,<span class="_ _f"> </span>class,<span class="_ _f"> </span>or<span class="_ _b"> </span>variable</span></span></div><div class="t m0 xe ha yc1 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ff5">export<span class="_ _4"> </span>{&lt;code&gt;}<span class="_ _11"> </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>blo<span class="_ _c"></span>ck</span></span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">20/46</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 ff5 fs3 fc1 sc0 ls0 ws0">import<span class="_ _9"> </span><span class="ff1">Example</span></div><div class="t m0 x9 hf yc2 ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>include<span class="_ _11"> </span><span class="fc4">&lt;iostream&gt;</span></div><div class="t m0 x9 hf yc3 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffc fc7">main<span class="fc0">()<span class="_ _16"> </span>{</span></span></div><div class="t m0 x6 hf yc4 ffc fs7 fc0 sc0 ls0 ws0">std<span class="fc9">::</span>cout<span class="_ _16"> </span><span class="fc9">&lt;&lt;<span class="_ _16"> </span><span class="fcd">&quot;Hello<span class="_ _16"> </span>World&quot;</span></span>;</div><div class="t m0 x9 hf yc5 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 ha yc6 ff4 fs6 fc0 sc0 ls0 ws0">Prep<span class="_ _7"></span>ro<span class="_ _c"></span>cessing<span class="_ _f"> </span>size<span class="_ _1d"> </span><span class="ffe">-E<span class="_ _12"> </span></span>:<span class="_ _d"> </span><span class="ff10"></span>1MB</div><div class="t m0 x9 hf yc7 ff5 fs7 fc6 sc0 ls0 ws0">import<span class="_ _16"> </span><span class="ffc fc9">&lt;<span class="fc0">iostream</span>&gt;<span class="fc0">;</span></span></div><div class="t m0 x9 hf yc8 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffc fc7">main<span class="fc0">()<span class="_ _16"> </span>{</span></span></div><div class="t m0 x6 hf yc9 ffc fs7 fc0 sc0 ls0 ws0">std<span class="fc9">::</span>cout<span class="_ _16"> </span><span class="fc9">&lt;&lt;<span class="_ _16"> </span><span class="fcd">&quot;Hello<span class="_ _16"> </span>World&quot;</span></span>;</div><div class="t m0 x9 hf yca ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 ha ycb ff4 fs6 fc0 sc0 ls0 ws0">Prep<span class="_ _7"></span>ro<span class="_ _c"></span>cessing<span class="_ _f"> </span>size:<span class="_ _16"> </span>236B<span class="_ _f"> </span>(x500)</div><div class="t m0 x1 ha ycc ff4 fs6 fc0 sc0 ls0 ws0">Compile<span class="_ _f"> </span>time:<span class="_ _16"> </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 h11 ycd 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 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">21/46</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
<div id="pf19" class="pf w0 h0" data-page-no="19"><div class="pc pc19 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIdklEQVR42u3YsQ3CMBRFURvFooqYAVExAULUSNmMJRiHgiHYgCpKhRvTpaOhyY90zgTWc3P18+F0SQAAEMbr+dhYAQCAaEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAACzXGu1AgAAcZRSXFIBAAhHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAJbUreit0zT5MACA//R9v6LXuqQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSTQAAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABCyLVWKwAAEEcpxSUVAIBwRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQCA37rxtrcCwOx9vRsBYFnH85DzbtvGT0qtNYMAABDCF5oRGgI+Wa2XAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">export<span class="_ _9"> </span><span class="ff1">Example<span class="_ _16"> </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="_ _16"> </span>Interface<span class="_ _9"> </span>Unit</span></div><div class="t m0 x1 hf yce ffc fs7 fc0 sc0 ls0 ws0">my_module.cpp</div><div class="t m0 x9 hf ycf ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span>module<span class="_ _16"> </span><span class="ffc fc0">my.example;<span class="_ _23"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>make<span class="_ _16"> </span>visible<span class="_ _16"> </span>all<span class="_ _16"> </span>module<span class="_ _16"> </span>symbols</span></span></div><div class="t m0 x9 hf yd0 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span><span class="fc8">int<span class="_ _16"> </span><span class="ffc fc7">f1<span class="fc0">()<span class="_ _16"> </span>{<span class="_ _16"> </span></span></span></span>return<span class="_ _16"> </span><span class="ffc fc9">3<span class="fc0">;<span class="_ _16"> </span>}<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>export<span class="_ _16"> </span>function</span></span></span></div><div class="t m0 x9 hf yd1 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span>namespace<span class="_ _16"> </span><span class="fc7">my_ns<span class="_ _16"> </span><span class="ffc fc0">{<span class="_ _23"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>export<span class="_ _16"> </span>namespace<span class="_ _16"> </span>and<span class="_ _16"> </span>its<span class="_ _16"> </span>content</span></span></span></div><div class="t m0 x9 hf yd2 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffc fc7">f2<span class="fc0">()<span class="_ _16"> </span>{<span class="_ _16"> </span></span></span><span class="fc6">return<span class="_ _16"> </span><span class="ffc fc9">5<span class="fc0">;<span class="_ _16"> </span>}</span></span></span></div><div class="t m0 x9 hf yd3 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x9 hf yd4 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span><span class="ffc fc0">{<span class="_ _24"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>export<span class="_ _16"> </span>code<span class="_ _16"> </span>block</span></span></div><div class="t m0 x9 hf yd5 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffc fc7">f3<span class="fc0">()<span class="_ _16"> </span>{<span class="_ _16"> </span></span></span><span class="fc6">return<span class="_ _16"> </span><span class="ffc fc9">2<span class="fc0">;<span class="_ _16"> </span>}</span></span></span></div><div class="t m0 x9 hf yd6 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffc fc7">f4<span class="fc0">()<span class="_ _16"> </span>{<span class="_ _16"> </span></span></span><span class="fc6">return<span class="_ _16"> </span><span class="ffc fc9">8<span class="fc0">;<span class="_ _16"> </span>}</span></span></span></div><div class="t m0 x9 hf yd7 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x9 hf yd8 ff5 fs7 fc8 sc0 ls0 ws0">void<span class="_ _16"> </span><span class="ffc fc0">internal()<span class="_ _16"> </span>{}<span class="_ _25"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>NOT<span class="_ _16"> </span>exported.<span class="_ _16"> </span>It<span class="_ _16"> </span>can<span class="_ _16"> </span>be<span class="_ _16"> </span>used<span class="_ _16"> </span>only<span class="_ _16"> </span>internally</span></span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">22/46</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIjklEQVR42u3YsU0DQRCG0VvrRkQrarCIqMCyiC3RGU1QjgMX4Q6IThsxyZGRkBkkz6H3Klj9m3ya9nR4mQAAoIzr5byzAgAA1YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAAC+tcy0AgAAdUSESyoAAOWIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAwD3NG3rrGMOHAQDcpve+ode6pAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUA4L9qmWkFAADqiAiXVAAAyhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQCAe5o39NYxhg8DALhN731Dr3VJBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApJoAAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgDADy0zrQAAQB0R4ZIKAEA5IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAKGVe3vZWAPgTH6d3IwD83vPxtbXHh3X5nKZ1XQ0CAEAJX0IRIADoLJjWAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">export<span class="_ _9"> </span><span class="ff1">Example<span class="_ _16"> </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="_ _16"> </span>Units</span></div><div class="t m0 x1 h10 yce ffc fs7 fc0 sc0 ls0 ws0">my_module1.cpp<span class="_ _12"> </span><span class="ffd">Primary<span class="_ _12"> </span>Mo<span class="_ _c"></span>dule<span class="_ _12"> </span>Interface<span class="_ _12"> </span>Unit</span></div><div class="t m0 x9 hf ycf ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span>module<span class="_ _16"> </span><span class="ffc fc0">my.example;<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>This<span class="_ _16"> </span>is<span class="_ _16"> </span>the<span class="_ _16"> </span>only<span class="_ _16"> </span>file<span class="_ _16"> </span>that<span class="_ _16"> </span>exports<span class="_ _16"> </span>all<span class="_ _16"> </span>module<span class="_ _16"> </span>symbols</span></span></div><div class="t m0 x9 hf yd0 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span><span class="fc8">int<span class="_ _16"> </span><span class="ffc fc7">f1<span class="fc0">()<span class="_ _16"> </span>{<span class="_ _16"> </span></span></span></span>return<span class="_ _16"> </span><span class="ffc fc9">3<span class="fc0">;<span class="_ _16"> </span>}<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>export<span class="_ _16"> </span>function</span></span></span></div><div class="t m0 x1 h10 yd9 ffc fs7 fc0 sc0 ls0 ws0">my_module2.cpp<span class="_ _12"> </span><span class="ffd">Mo<span class="_ _c"></span>dule<span class="_ _12"> </span>Interface<span class="_ _b"> </span>Unit</span></div><div class="t m0 x9 hf yda ff5 fs7 fc6 sc0 ls0 ws0">module<span class="_ _16"> </span><span class="ffc fc0">my.example;<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>Module<span class="_ _16"> </span>declaration<span class="_ _16"> </span>but<span class="_ _16"> </span>symbols<span class="_ _16"> </span>are<span class="_ _16"> </span>not<span class="_ _16"> </span>exported</span></span></div><div class="t m0 x9 hf ydb ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span>namespace<span class="_ _16"> </span><span class="fc7">my_ns<span class="_ _16"> </span><span class="ffc fc0">{<span class="_ _23"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>export<span class="_ _16"> </span>namespace</span></span></span></div><div class="t m0 x9 hf ydc ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffc fc7">f2<span class="fc0">()<span class="_ _16"> </span>{<span class="_ _16"> </span></span></span><span class="fc6">return<span class="_ _16"> </span><span class="ffc fc9">5<span class="fc0">;<span class="_ _16"> </span>}</span></span></span></div><div class="t m0 x9 hf ydd ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x9 hf yde ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span><span class="ffc fc0">{<span class="_ _24"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>export<span class="_ _16"> </span>code<span class="_ _16"> </span>block7</span></span></div><div class="t m0 x9 hf ydf ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffc fc7">f3<span class="fc0">()<span class="_ _16"> </span>{<span class="_ _16"> </span></span></span><span class="fc6">return<span class="_ _16"> </span><span class="ffc fc9">2<span class="fc0">;<span class="_ _16"> </span>}</span></span></span></div><div class="t m0 x9 hf ye0 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffc fc7">f4<span class="fc0">()<span class="_ _16"> </span>{<span class="_ _16"> </span></span></span><span class="fc6">return<span class="_ _16"> </span><span class="ffc fc9">8<span class="fc0">;<span class="_ _16"> </span>}</span></span></span></div><div class="t m0 x9 hf ye1 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">23/46</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIjklEQVR42u3YsWkDQRCG0Vtxg6LFNQhHrsAIxQJ35iZcjgIVoQ4ciY08ySlT6EBgNIffq2D5N/mY9vp+mAAAoIzL+bSxAgAA1YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAADuWmZaAQCAOiLCJRUAgHJEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEA4JnmFb11jOHDAAAe03tf0WtdUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkmAABApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAKCKlplWAACgjohwSQUAoByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAD8K/OK3jrG8GEAAI/pva/otS6pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAPy5lplWAACgjohwSQUAoByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAA+M18/dxZAeC5vo9fRgC4e9t/tPayXa4/07Qsi0EAACjhBqBbIABklm9WAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff5 fs3 fc1 sc0 ls0 ws0">export<span class="_ _9"> </span><span class="ff1">Example<span class="_ _16"> </span>-<span class="_ _9"> </span>Mo<span class="_ _c"></span>dule<span class="_ _9"> </span>Interface<span class="_ _16"> </span>and<span class="_ _9"> </span>Implementation<span class="_ _9"> </span>Units</span></div><div class="t m0 x1 h10 yce ffc fs7 fc0 sc0 ls0 ws0">my_module1.cpp<span class="_ _12"> </span><span class="ffd">Primary<span class="_ _12"> </span>Mo<span class="_ _c"></span>dule<span class="_ _12"> </span>Interface<span class="_ _12"> </span>Unit</span></div><div class="t m0 x9 hf ycf ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span>module<span class="_ _16"> </span><span class="ffc fc0">my.example;<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>This<span class="_ _16"> </span>is<span class="_ _16"> </span>the<span class="_ _16"> </span>only<span class="_ _16"> </span>file<span class="_ _16"> </span>that<span class="_ _16"> </span>exports<span class="_ _16"> </span>all<span class="_ _16"> </span>module<span class="_ _16"> </span>symbols</span></span></div><div class="t m0 x9 hf yd0 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span><span class="fc8">int<span class="_ _16"> </span><span class="ffc fc7">f1<span class="fc0">();<span class="_ _26"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>export<span class="_ _16"> </span>function</span></span></span></span></div><div class="t m0 x9 hf yd1 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span><span class="ffc fc0">{<span class="_ _21"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>export<span class="_ _16"> </span>code<span class="_ _16"> </span>block</span></span></div><div class="t m0 x9 hf yd2 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffc fc7">f3<span class="fc0">();</span></span></div><div class="t m0 x9 hf yd3 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffc fc7">f4<span class="fc0">();</span></span></div><div class="t m0 x9 hf ye2 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1 h10 ye3 ffc fs7 fc0 sc0 ls0 ws0">my_module2.cpp<span class="_ _12"> </span><span class="ffd">Mo<span class="_ _c"></span>dule<span class="_ _12"> </span>Implementation<span class="_ _b"> </span>Unit</span></div><div class="t m0 x9 hf ye4 ff5 fs7 fc6 sc0 ls0 ws0">module<span class="_ _16"> </span><span class="ffc fc0">my.example;<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>Module<span class="_ _16"> </span>declaration<span class="_ _16"> </span>but<span class="_ _16"> </span>symbols<span class="_ _16"> </span>are<span class="_ _16"> </span>not<span class="_ _16"> </span>exported</span></span></div><div class="t m0 x9 hf ye5 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffc fc7">f1<span class="fc0">()<span class="_ _16"> </span>{<span class="_ _16"> </span></span></span><span class="fc6">return<span class="_ _16"> </span><span class="ffc fc9">3<span class="fc0">;<span class="_ _16"> </span>}</span></span></span></div><div class="t m0 x9 hf ye6 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffc fc7">f3<span class="fc0">()<span class="_ _16"> </span>{<span class="_ _16"> </span></span></span><span class="fc6">return<span class="_ _16"> </span><span class="ffc fc9">2<span class="fc0">;<span class="_ _16"> </span>}</span></span></span></div><div class="t m0 x9 hf ye7 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffc fc7">f4<span class="fc0">()<span class="_ _16"> </span>{<span class="_ _16"> </span></span></span><span class="fc6">return<span class="_ _16"> </span><span class="ffc fc9">8<span class="fc0">;<span class="_ _16"> </span>}</span></span></span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">24/46</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,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Keyw<span class="_ _1a"></span>ord<span class="_ _9"> </span>Notes</div><div class="t m0 x9 h12 y27 ff5 fs2 fc0 sc0 ls0 ws0">import</div><div class="t m0 xe ha ye8 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="_ _1d"> </span><span class="ff5">import<span class="_ _1d"> </span></span>another<span class="_ _f"> </span>mo<span class="_ _c"></span>dule,<span class="_ _f"> </span>but<span class="_ _f"> </span>cannot</span></div><div class="t m0 xd ha ye9 ff5 fs6 fc0 sc0 ls0 ws0">export<span class="_ _11"> </span><span class="ff4">any<span class="_ _f"> </span>names.<span class="_ _16"> </span>Symb<span class="_ _c"></span>ols<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _b"> </span><span class="ffb">mo<span class="_ _c"></span>dule<span class="_ _f"> </span>interface<span class="_ _b"> </span>unit<span class="_ _16"> </span></span>a<span class="_ _1a"></span>re<span class="_ _f"> </span>imp<span class="_ _c"></span>o<span class="_ _7"></span>rted<span class="_ _f"> </span>implicitly</span></div><div class="t m0 xe ha yea ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">All<span class="_ _1d"> </span><span class="ff5">import<span class="_ _1d"> </span></span>must<span class="_ _f"> </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 xd ha yeb ff5 fs6 fc0 sc0 ls0 ws0">module;<span class="_ _1d"> </span><span class="ff4">a<span class="_ _12"> </span></span>export<span class="_ _4"> </span>module<span class="_ _1d"> </span><span class="ff4">(if<span class="_ _f"> </span>pre<span class="_ _7"></span>sent)</span></div><div class="t m0 x9 h12 yec ff5 fs2 fc0 sc0 ls0 ws0">export</div><div class="t m0 xe ha yed 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="ffb">internal<span class="_ _f"> </span>linkage<span class="_ _9"> </span></span>o<span class="_ _7"></span>r<span class="_ _f"> </span><span class="ffb">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="_ _16"> </span>anonymous</span></div><div class="t m0 x6 ha yee ff4 fs6 fc0 sc0 ls0 ws0">namespaces<span class="_ _f"> </span>and<span class="_ _1d"> </span><span class="ffe">static<span class="_ _1d"> </span></span>entities</div><div class="t m0 xe ha yef ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ff4">The<span class="_ _1d"> </span><span class="ff5">export<span class="_ _1d"> </span></span>keyw<span class="_ _1a"></span>ord<span class="_ _b"> </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="_ _9"> </span>interface<span class="_ _8"> </span>units<span class="_ _f"> </span></span>only</span></div><div class="t m0 xe ha yf0 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="ffb">reachable</span></span></span></span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">25/46</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 ff5 fs3 fc1 sc0 ls0 ws0">export<span class="_ _11"> </span>import<span class="_ _9"> </span><span class="ff1">Declaration</span></div><div class="t m0 x1 ha yf1 ffb 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 x9 hf yf2 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span>module<span class="_ _16"> </span><span class="ffc fc0">main_module;<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>Top-level<span class="_ _16"> </span>primary<span class="_ _16"> </span>module<span class="_ _16"> </span>interface<span class="_ _16"> </span>unit</span></span></div><div class="t m0 x9 hf yf3 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span>import<span class="_ _16"> </span><span class="ffc fc0">sub_module;<span class="_ _2"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>import<span class="_ _16"> </span>and<span class="_ _16"> </span>re-export<span class="_ _16"> </span>&quot;sub_module&quot;</span></span></div><div class="t m0 x9 hf yf4 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span>module<span class="_ _16"> </span><span class="ffc fc0">sub_module;<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>Primary<span class="_ _16"> </span>module<span class="_ _16"> </span>interface<span class="_ _16"> </span>unit</span></span></div><div class="t m0 x9 hf yf5 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span><span class="fc8">void<span class="_ _16"> </span><span class="ffc fc7">f<span class="fc0">()<span class="_ _16"> </span>{}</span></span></span></div><div class="t m0 x9 hf yf6 ff5 fs7 fc6 sc0 ls0 ws0">import<span class="_ _16"> </span><span class="ffc fc0">main_module;</span></div><div class="t m0 x9 hf yf7 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffc fc7">main<span class="fc0">()<span class="_ _16"> </span>{</span></span></div><div class="t m0 x6 hf yf8 ffc fs7 fc0 sc0 ls0 ws0">f();<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>ok,<span class="_ _16"> </span>f()<span class="_ _16"> </span>is<span class="_ _16"> </span>visible</span></div><div class="t m0 x9 hf yf9 ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">26/46</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 ff1 fs3 fc1 sc0 ls0 ws0">Global<span class="_ _9"> </span>Mo<span class="_ _c"></span>dule<span class="_ _16"> </span>F<span class="_ _1a"></span>ragment</div><div class="t m0 x1 ha yfa 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="ffb">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="ffb">include<span class="_ _f"> </span>header<span class="_ _f"> </span>files<span class="_ _16"> </span></span>in</div><div class="t m0 x1 ha yfb ff4 fs6 fc0 sc0 ls0 ws0">a<span class="_ _f"> </span><span class="ffb">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="_ _1a"></span>rting<span class="_ _8"> </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>o<span class="_ _7"></span>r<span class="_ _f"> </span>p<span class="_ _7"></span>rep<span class="_ _7"></span>ro<span class="_ _c"></span>cessing<span class="_ _f"> </span>directives<span class="_ _f"> </span>a<span class="_ _7"></span>re</div><div class="t m0 x1 ha yfc ff4 fs6 fc0 sc0 ls0 ws0">needed</div><div class="t m0 x9 hf yfd ff5 fs7 fc6 sc0 ls0 ws0">module<span class="ffc fc0">;<span class="_ _21"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>start<span class="_ _16"> </span><span class="ff11">Global<span class="_ _16"> </span>Module<span class="_ _16"> </span>Fragment</span></span></span></div><div class="t m0 x9 hf yfe ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>define<span class="_ _16"> </span>ENABLE_FAST_MATH</div><div class="t m0 x9 hf yff ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _10"> </span>include<span class="_ _11"> </span><span class="fc4">&quot;my_math.h&quot;</span></div><div class="t m0 x9 hf y100 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span><span class="ffc fc0">modul<span class="_ _16"> </span>my.</span>module<span class="ffc fc0">;<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>end<span class="_ _16"> </span><span class="ff11">Global<span class="_ _16"> </span>Module<span class="_ _16"> </span>Fragment</span></span></span></div><div class="t m0 x1 ha y101 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>rep<span class="_ _7"></span>ro<span class="_ _c"></span>cessing<span class="_ _f"> </span>directives<span class="_ _f"> </span>a<span class="_ _7"></span>re<span class="_ _f"> </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 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">27/46</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">Private<span class="_ _9"> </span>Mo<span class="_ _c"></span>dule<span class="_ _16"> </span>F<span class="_ _1a"></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 y102 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="ffb">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 y103 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="ffb">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 y104 ff4 fs6 fc0 sc0 ls0 ws0">its<span class="_ _f"> </span>mo<span class="_ _c"></span>dule</div><div class="t m0 x9 hf y105 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span>module<span class="_ _16"> </span><span class="ffc fc0">my.example;</span></div><div class="t m0 x9 hf y106 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span><span class="fc8">int<span class="_ _16"> </span><span class="ffc fc7">f<span class="fc0">();</span></span></span></div><div class="t m0 x9 hf y107 ffc fs7 fce sc0 ls0 ws0">module<span class="_ _16"> </span><span class="fc0">:<span class="ff5 fc6">private</span>;<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>start</span></span></div><div class="t m0 x14 hf y108 ff7 fs7 fc4 sc0 ls0 ws0">private<span class="_ _16"> </span>module<span class="_ _16"> </span>fragment</div><div class="t m0 x9 hf y109 ff5 fs7 fc8 sc0 ls0 ws0">int<span class="_ _16"> </span><span class="ffc fc7">f<span class="fc0">()<span class="_ _16"> </span>{<span class="_ _27"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>definition<span class="_ _16"> </span>not<span class="_ _16"> </span>reachable<span class="_ _16"> </span>from<span class="_ _16"> </span>importers<span class="_ _16"> </span>of<span class="_ _16"> </span>f()</span></span></span></div><div class="t m0 x6 hf y10a ff5 fs7 fc6 sc0 ls0 ws0">return<span class="_ _16"> </span><span class="ffc fc9">42<span class="fc0">;</span></span></div><div class="t m0 x9 hf y10b ffc fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">28/46</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">Header<span class="_ _9"> </span>Mo<span class="_ _c"></span>dule<span class="_ _16"> </span>Unit</div><div class="t m0 x1 ha y10c ffb fs6 fc0 sc0 ls0 ws0">Legacy<span class="_ _f"> </span>headers<span class="_ _16"> </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="_ _1d"> </span><span class="ffe">import<span class="_ _1d"> </span></span>instead<span class="_ _f"> </span>of<span class="_ _1f"> </span><span class="ffe">#include</span></span></div><div class="t m0 x1 ha y10d ffb fs6 fc0 sc0 ls0 ws0">All<span class="_ _f"> </span>decla<span class="_ _7"></span>rations<span class="_ _16"> </span><span class="ff4">a<span class="_ _1a"></span>re<span class="_ _f"> </span>implicitly<span class="_ _f"> </span><span class="ffb">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 y10e ff1 fs6 fc0 sc0 ls0 ws0">(fragment)</div><div class="t m0 xe ha y10f 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>fo<span class="_ _7"></span>r<span class="_ _f"> </span>the<span class="_ _f"> </span><span class="ffb">imp<span class="_ _c"></span>o<span class="_ _7"></span>rter<span class="ff4">,<span class="_ _f"> </span>but<span class="_ _f"> </span>macros<span class="_ _f"> </span>defined<span class="_ _f"> </span>in<span class="_ _f"> </span>the</span></span></span></div><div class="t m0 x6 ha y110 ffb fs6 fc0 sc0 ls0 ws0">imp<span class="_ _c"></span>o<span class="_ _7"></span>rter<span class="_ _16"> </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 xe ha y111 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="_ _1d"> </span><span class="ffe">#include</span></span></div><div class="t m0 x1 ha y112 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 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">29/46</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">Mo<span class="_ _c"></span>dule<span class="_ _9"> </span>Pa<span class="_ _1a"></span>rtitions<span class="_ _28"> </span>1/2</div><div class="t m0 x1 ha y113 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ffb">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="_ _7"></span>rganized<span class="_ _f"> </span>in<span class="_ _f"> </span><span class="ffb">isolated<span class="_ _16"> </span><span class="ff1">module<span class="_ _9"> </span>pa<span class="_ _7"></span>rtitions</span></span></div><div class="t m0 x1 ha y114 ffb fs6 fc0 sc0 ls0 ws0">Syntax<span class="_ _10"></span><span class="ff4">:</span></div><div class="t m0 x9 hf y115 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span>module<span class="_ _16"> </span><span class="ffc fc0">module_name<span class="_ _16"> </span><span class="fc9">:<span class="_ _16"> </span></span>partition_name;</span></div><div class="t m0 xe ha y116 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffb">Decla<span class="_ _7"></span>rations<span class="_ _16"> </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 xe ha y117 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="ffb">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="_ _1a"></span>rtition</span></span></span></span></div><div class="t m0 x6 ha y118 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="_ _8"> </span>partition<span class="_ _8"> </span>implementation<span class="_ _8"> </span>units</div><div class="t m0 xe ha y119 ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffb">Mo<span class="_ _c"></span>dule<span class="_ _f"> </span>pa<span class="_ _7"></span>rtitions<span class="_ _16"> </span><span class="ff4">a<span class="_ _1a"></span>re<span class="_ _f"> </span>not<span class="_ _f"> </span><span class="ffb">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 xe ha y11a ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _5"> </span><span class="ffb">Mo<span class="_ _c"></span>dule<span class="_ _f"> </span>pa<span class="_ _7"></span>rtitions<span class="_ _16"> </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 xe ha y11b 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="ffb">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 y11c 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="ffb">p<span class="_ _7"></span>rima<span class="_ _7"></span>ry<span class="_ _f"> </span>mo<span class="_ _c"></span>dule<span class="_ _f"> </span>interface<span class="_ _f"> </span>file</span></span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">30/46</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="_ _1a"></span>rtitions<span class="_ _28"> </span>2/2</div><div class="t m0 x1 hf yce ffc fs7 fc0 sc0 ls0 ws0">main_module.ixx</div><div class="t m0 x9 hf y11d ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span>module<span class="_ _16"> </span><span class="ffc fc0">main_module;</span></div><div class="t m0 x9 hf y11e ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span>import<span class="_ _16"> </span><span class="ffc fc9">:<span class="fc0">partition1;<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>re-export<span class="_ _16"> </span>f()<span class="_ _16"> </span>to<span class="_ _16"> </span>importers<span class="_ _16"> </span>of<span class="_ _16"> </span>&quot;main_module&quot;</span></span></span></div><div class="t m0 x9 hf y11f ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span>import<span class="_ _16"> </span><span class="ffc fc9">:<span class="fc0">partition2;<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>re-export<span class="_ _16"> </span>g()<span class="_ _16"> </span>to<span class="_ _16"> </span>importers<span class="_ _16"> </span>of<span class="_ _16"> </span>&quot;main_module&quot;</span></span></span></div><div class="t m0 x9 hf y120 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span><span class="fc8">void<span class="_ _16"> </span><span class="ffc fc7">h<span class="fc0">()<span class="_ _16"> </span>{<span class="_ _16"> </span>internal();<span class="_ _16"> </span>}<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>internal()<span class="_ _16"> </span>can<span class="_ _16"> </span>be<span class="_ _16"> </span>directly<span class="_ _16"> </span>used</span></span></span></span></div><div class="t m0 x1 hf y105 ffc fs7 fc0 sc0 ls0 ws0">partition1.ixx</div><div class="t m0 x9 hf y121 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span>module<span class="_ _16"> </span><span class="ffc fc0">module_name<span class="fc9">:</span>partition1;</span></div><div class="t m0 x9 hf y122 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span><span class="fc8">void<span class="_ _16"> </span><span class="ffc fc7">f<span class="fc0">()<span class="_ _16"> </span>{}</span></span></span></div><div class="t m0 x1 hf y123 ffc fs7 fc0 sc0 ls0 ws0">partition2.ixx</div><div class="t m0 x9 hf y124 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span>module<span class="_ _16"> </span><span class="ffc fc0">module_name<span class="fc9">:</span>partition2;</span></div><div class="t m0 x9 hf y125 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span><span class="fc8">void<span class="_ _16"> </span><span class="ffc fc7">g<span class="fc0">()<span class="_ _16"> </span>{}</span></span></span></div><div class="t m0 x9 hf y126 ff5 fs7 fc8 sc0 ls0 ws0">void<span class="_ _16"> </span><span class="ffc fc7">internal<span class="fc0">()<span class="_ _16"> </span>{}<span class="_ _16"> </span><span class="ff7 fc4">//<span class="_ _16"> </span>not<span class="_ _16"> </span>exported</span></span></span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">31/46</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 x8 h2 y127 ff1 fs0 fc0 sc0 ls0 ws0">Compiling<span class="_ _1"> </span>Multiple</div><div class="t m0 x8 h2 y128 ff1 fs0 fc0 sc0 ls0 ws0">T<span class="_ _29"></span>ranslation<span class="_ _1"> </span>Units</div><a class="l" href="#pf23" data-dest-detail='[35,"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="#pf23" data-dest-detail='[35,"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="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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">F<span class="_ _1a"></span>undamental<span class="_ _16"> </span>Compiler<span class="_ _9"> </span>Flags</div><div class="t m0 x1 ha y129 ffb 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 xe ha y12a ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ff5">-I<span class="_ _12"> </span><span class="ff4">:<span class="_ _16"> </span>Sp<span class="_ _c"></span>ecify<span class="_ _f"> </span>the<span class="_ _f"> </span></span>include<span class="_ _9"> </span><span class="ff1">path<span class="_ _b"> </span><span class="ff4">for<span class="_ _b"> </span>the<span class="_ _f"> </span>project<span class="_ _f"> </span>headers</span></span></span></div><div class="t m0 xe ha y12b ff9 fs6 fc0 sc0 ls0 ws0"><span class="_ _15"> </span><span class="ff5">-isystem<span class="_ _12"> </span><span class="ff4">:<span class="_ _16"> </span>Sp<span class="_ _c"></span>ecify<span class="_ _f"> </span>the<span class="_ _f"> </span></span>include<span class="_ _9"> </span><span class="ff1">path<span class="_ _b"> </span><span class="ff4">for<span class="_ _b"> </span>system<span class="_ _f"> </span>(external)<span class="_ _f"> </span>headers<span class="_ _f"> </span>(wa<span class="_ _1a"></span>rnings</span></span></span></div><div class="t m0 x6 ha y12c 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 y12d 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 y12e ffb 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="_ _16"> </span></span>include<span class="_ _9"> </span><span class="ff4">and<span class="_ _f"> </span></span>libra<span class="_ _1a"></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 y12f 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="_ _16"> </span>The<span class="_ _f"> </span>first<span class="_ _f"> </span>match</div><div class="t m0 x1 ha y130 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 y131 ffb 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 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">32/46</div></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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAJBklEQVR42u3ZMapTQRTH4Yzcg9XgGsTKOoWItUGyMTfhXlLEwh2kcQdWj4FcPE0sHli9Qnkh79zc79tAhv+k+DG3vfvwaQMAAGX8/PH9lRUAAKhGpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAA8FfLTCsAAFBHRHhJBQCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAnjYt5aDned7u9nd8E6fjwd8RAOBRy0wrAABQR0T43A8AQDkiFQAAkQoAACIVAIDFmRZ01jGGCwPuSe/dCABP8pIKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAXFXLTCsAAFBHRHhJBQCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAA/JNpKQc9z/N2t7/jmzgdD/6OAACPWmZaAQCAOiLC534AAMoRqQAAiFQAABCpAACIVAAAeK5pQWcdY7gwWLneuxEA1sBLKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAADwX1pmWgEAgDoiYlrQcccY7gxeRO/dCADcks/9AACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAwFW1zLQCAAB1RISXVAAAyhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAADczLSUg57nebvbv8hPn44HfxQAgFtqmWkFAADqiAif+wEAKEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCwOtOCzjrGcGHA8/XejQBQnJdUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEA4KpaZloBAIA6IsJLKgAA5YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAA6zU9fH1rBQCo5tfnb0Zgtd5//NLam9eXh9+bzeVyMQgAACX8AdQkRvaQbNujAAAAAElFTkSuQmCC"/><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 y132 ff1 fs6 fc0 sc0 ls0 ws0">Metho<span class="_ _c"></span>d<span class="_ _8"> </span>1</div><div class="t m0 x1 ha y133 ffb 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 h13 y134 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 y135 ff1 fs6 fc0 sc0 ls0 ws0">Metho<span class="_ _c"></span>d<span class="_ _8"> </span>2</div><div class="t m0 x1 ha y136 ffb 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 h13 y137 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 h13 y138 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 y139 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 y13a ffb fs6 fc0 sc0 ls0 ws0">Link<span class="_ _16"> </span><span class="ff4">all<span class="_ _b"> </span>file<span class="_ _f"> </span>objects:</span></div><div class="t m0 x9 h13 y13b 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 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">33/46</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 x8 h2 y26 ff1 fs0 fc0 sc0 ls0 ws0">Lib<span class="_ _6"></span>ra<span class="_ _1a"></span>ries<span class="_ _1"> </span>in<span class="_ _1"> </span>C++</div><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: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="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 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Static<span class="_ _9"> </span>Libra<span class="_ _1a"></span>ry</div><div class="t m0 x1 ha y13c ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">static<span class="_ _8"> </span>libra<span class="_ _1a"></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 y13d ff4 fs6 fc0 sc0 ls0 ws0">into<span class="_ _f"> </span>the<span class="_ _f"> </span>final<span class="_ _f"> </span>executable.<span class="_ _16"> </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="_ _1a"></span>ry<span class="_ _6"></span>,<span class="_ _f"> </span>all<span class="_ _f"> </span>the</div><div class="t m0 x1 ha y13e 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>ra<span class="_ _7"></span>ry<span class="_ _f"> </span>b<span class="_ _c"></span>ecomes<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</div><div class="t m0 xa ha y13f ff1 fs6 fc0 sc0 ls0 ws0"><span class="_ _19"> </span><span class="ff4">A<span class="_ _b"> </span>static<span class="_ _f"> </span>libra<span class="_ _1a"></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 y140 ff1 fs6 fc0 sc0 ls0 ws0"><span class="_ _19"> </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 y141 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="ffb">link<span class="_ _f"> </span>time<span class="_ _f"> </span>optimization</span>)</span></div><div class="t m0 x1 ha y142 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="_ _1d"> </span><span class="ffe">my_lib<span class="_ _12"> </span></span>,<span class="_ _f"> </span>the<span class="_ _f"> </span>corresponding<span class="_ _f"> </span>file<span class="_ _f"> </span>is:</div><div class="t m0 xd h13 y143 ff5 fs6 fc0 sc0 ls0 ws0">Linux<span class="_ _15"> </span><span class="ffe">libmy_lib.a</span></div><div class="t m0 x15 h13 y144 ff5 fs6 fc0 sc0 ls0 ws0">Windows<span class="_ _15"> </span><span class="ffe">my_lib.lib</span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">34/46</div></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">Building<span class="_ _9"> </span>Static<span class="_ _16"> </span>Lib<span class="_ _1a"></span>ra<span class="_ _7"></span>ries</div><div class="t m0 x1 ha y145 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="_ _1a"></span>ry</div><div class="t m0 xe ha y146 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 xe ha y147 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>ra<span class="_ _7"></span>ry<span class="_ _f"> </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 x9 h13 y148 ffe fs6 fc7 sc0 ls0 ws0">g++<span class="_ _4"> </span><span class="fc0">source1.c<span class="_ _5"> </span><span class="fcb">-c<span class="_ _4"> </span></span>source1.o</span></div><div class="t m0 x9 h13 y149 ffe fs6 fc7 sc0 ls0 ws0">g++<span class="_ _4"> </span><span class="fc0">source2.c<span class="_ _5"> </span><span class="fcb">-c<span class="_ _4"> </span></span>source2.o</span></div><div class="t m0 x9 h13 y14a ffe fs6 fc7 sc0 ls0 ws0">ar<span class="_ _4"> </span><span class="fcb">rvs<span class="_ _5"> </span><span class="fc0">libmystaticlib.a<span class="_ _4"> </span>source1.o<span class="_ _4"> </span>source2.o</span></span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">35/46</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI80lEQVR42u3aMYpUURCG0b7yCqPCNYiRKxAxFmZnbsLlGLgId2A0VGQlbaDIY5IZmPZZ3Z6zg/5fBx/FXW/efTgBAMAY375+eWEFAACmEakAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAPyxutsKAADMEREuqQAAjCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAAHiyzQTsVZURgEdlphGAv8olFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAALio1d1WAABgjohwSQUAYByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQCA6TYTsFdVRgCA65WZt/FDXFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAIBDre62AgAAc0SESyoAAOOIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQDgEJsJ2KsqI1y1zDQCADfAJRUAAJEKAAAiFQCAq+NNKsBvh73J9nQY4FEuqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAOB5NhMA/JKZRgAYwiUVAACRCgAAIhUAgKuzutsKAADMEREuqQAAjCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAw3WYC9qrKCA9kphH+nz+Vzw0whEsqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAAPi3VndbAQCAOSLCJRUAgHFEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAABPtpmAvaoyAsADmWkEOJhLKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAAHBRq7utAADAHBHhkgoAwDgiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAA020mYK+qjADALclMI1wjl1QAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAOBQq7utAADAHBHhkgoAwDgiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAAAOtt1/em0FAOCZvn/8bAQu5e37u7VevTzf/zidzuezQQAAGOEnfeg+I6BuZO4AAAAASUVORK5CYII="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Using<span class="_ _9"> </span>Static<span class="_ _16"> </span>Lib<span class="_ _1a"></span>ra<span class="_ _7"></span>ries</div><div class="t m0 x1 ha y27 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ffb">static<span class="_ _f"> </span>lib<span class="_ _7"></span>ra<span class="_ _7"></span>ry<span class="_ _16"> </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 xd h13 y94 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 h13 y14b ff5 fs6 fc0 sc0 ls0 ws0">Windows<span class="_ _15"> </span><span class="ffe">msvc<span class="_ _4"> </span>&lt;path_to_library&gt;/library.lib<span class="_ _5"> </span>main.cpp<span class="_ _4"> </span>/OUT:main.exe</span></div><div class="t m0 x1 ha y14c 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>fo<span class="_ _7"></span>r<span class="_ _f"> </span><span class="ffb">static<span class="_ _16"> </span></span>lib<span class="_ _1a"></span>raries<span class="_ _b"> </span>at<span class="_ _f"> </span><span class="ffb">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 y14d ff4 fs6 fc0 sc0 ls0 ws0">environment<span class="_ _f"> </span>va<span class="_ _7"></span>riables:</div><div class="t m0 xd ha y14e ff5 fs6 fc0 sc0 ls0 ws0">Linux<span class="_ _15"> </span>LIBRARY_PATH<span class="_ _1d"> </span><span class="ff4">Search<span class="_ _b"> </span>for<span class="_ _11"> </span><span class="ffe">.a<span class="_ _1d"> </span></span>files</span></div><div class="t m0 x15 ha y14f ff5 fs6 fc0 sc0 ls0 ws0">Windows<span class="_ _15"> </span>LIBPATH<span class="_ _1d"> </span><span class="ff4">Search<span class="_ _b"> </span>for<span class="_ _11"> </span><span class="ffe">.lib<span class="_ _1d"> </span></span>files</span></div><div class="t m0 x1 ha y150 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="ffb">lib<span class="_ _7"></span>ra<span class="_ _7"></span>ry<span class="_ _f"> </span>paths<span class="_ _16"> </span><span class="ff4">with<span class="_ _b"> </span>compiler<span class="_ _f"> </span>flags:</span></span></div><div class="t m0 xd h13 y151 ff5 fs6 fc0 sc0 ls0 ws0">Linux<span class="_ _15"> </span><span class="ffe">g++<span class="_ _4"> </span></span><span class="fc7">-L</span><span class="ffe">&lt;library_path&gt;<span class="_ _5"> </span>main.cpp<span class="_ _4"> </span>-o<span class="_ _4"> </span>main</span></div><div class="t m0 x15 h13 y152 ff5 fs6 fc0 sc0 ls0 ws0">Windows<span class="_ _15"> </span><span class="ffe">msvc<span class="_ _4"> </span></span><span class="fc7">/LIBPATH</span><span class="ffe">&lt;library_path&gt;<span class="_ _5"> </span>main.cpp<span class="_ _4"> </span>/OUT:main.exe</span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">36/46</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI10lEQVR42u3ZMUpDQRSG0Yy8i9XgGsQqtYWIWFgo4sbchHtJEQt3kMYdWIUBg7eJhSBptPFJJsk5K8j7J8XHTDm7uJoAAEA3Xl+ej6wAAEBvRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAN9KZloBAIB+RISbVAAAuiNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAA2zSYAAA4KNPrm537zYv57NCOqWSmPysAAP2ICM/9AAB0R6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAoxpMAD95X63O7x4O5GMX85kTB6AfJTOtAABAPyLCcz8AAN0RqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQTAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABjdYAL4o9baoX1yrdW5A/Cv3KQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAoyqZaQUAAPoREW5SAQDojkgFAECkAgCASAUAQKQCAIBIBQBg7wwmYFNrzQg7rdZqBAD2gJtUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAYFQlM60AAEA/ImKwAptaa0bYllqrk3WyAHzx3A8AgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACMqmSmFQAA6EdEuEkFAKA7IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAA/G5YPp5aAQDYorfbJyOwaXp5X8rJ8Xr5MZms12uDAADQhU9aAzf6PjIDtQAAAABJRU5ErkJggg=="/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Dynamic<span class="_ _9"> </span>Libra<span class="_ _1a"></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="_ _1a"></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="_ _1a"></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="_ _16"> </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="_ _1a"></span>ry<span class="_ _6"></span>,<span class="_ _f"> </span>the</div><div class="t m0 x1 ha y89 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="_ _16"> </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 y96 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>ra<span class="_ _7"></span>ry<span class="_ _f"> </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="_ _16"> </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 y97 ff1 fs6 fc0 sc0 ls0 ws0"><span class="_ _19"> </span><span class="ff4">Dynamic<span class="_ _b"> </span>libra<span class="_ _1a"></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 y98 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>ra<span class="_ _7"></span>ries<span class="_ _f"> </span>and<span class="_ _f"> </span>the<span class="_ _f"> </span>final</div><div class="t m0 x6 ha y153 ff4 fs6 fc0 sc0 ls0 ws0">executable</div><div class="t m0 xe ha y154 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>sha<span class="_ _7"></span>red<span class="_ _f"> </span>lib<span class="_ _7"></span>rary<span class="_ _b"> </span>path,<span class="_ _f"> </span>otherwise</span></div><div class="t m0 x6 ha y155 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 y156 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="_ _1d"> </span><span class="ffe">my_lib<span class="_ _12"> </span></span>,<span class="_ _f"> </span>the<span class="_ _f"> </span>corresponding<span class="_ _f"> </span>file<span class="_ _f"> </span>is:</div><div class="t m0 xd h13 y157 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 y158 ff5 fs6 fc0 sc0 ls0 ws0">Windows<span class="_ _15"> </span><span class="ffe">my_lib.dll<span class="_ _1d"> </span><span class="ff4">+<span class="_ _1d"> </span></span>my_lib.lib</span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">37/46</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,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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="_ _16"> </span>Lib<span class="_ _1a"></span>ra<span class="_ _7"></span>ries</div><div class="t m0 x1 ha y159 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="_ _1a"></span>ry</div><div class="t m0 xe ha y15a 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="_ _16"> </span>Since<span class="_ _f"> </span>libra<span class="_ _1a"></span>ry<span class="_ _f"> </span>cannot<span class="_ _f"> </span>store</span></div><div class="t m0 x6 ha y146 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="ffb">p<span class="_ _c"></span>osition<span class="_ _f"> </span>indep<span class="_ _c"></span>endent<span class="_ _f"> </span>code</span></div><div class="t m0 x6 ha y15b ff4 fs6 fc0 sc0 ls0 ws0">(<span class="_ _12"> </span><span class="ffe">-fPIC<span class="_ _12"> </span></span>)</div><div class="t m0 xe ha y15c 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>ra<span class="_ _7"></span>ry</span></div><div class="t m0 x9 h13 y149 ffe fs6 fc7 sc0 ls0 ws0">g++<span class="_ _4"> </span><span class="fc0">source1.c<span class="_ _5"> </span><span class="fcb">-c<span class="_ _4"> </span></span>source1.o<span class="_ _4"> </span><span class="fcb">-fPIC</span></span></div><div class="t m0 x9 h13 y14a ffe fs6 fc7 sc0 ls0 ws0">g++<span class="_ _4"> </span><span class="fc0">source2.c<span class="_ _5"> </span><span class="fcb">-c<span class="_ _4"> </span></span>source2.o<span class="_ _4"> </span><span class="fcb">-fPIC</span></span></div><div class="t m0 x9 h13 y15d ffe fs6 fc7 sc0 ls0 ws0">g++<span class="_ _4"> </span><span class="fc0">source1.o<span class="_ _5"> </span>source2.o<span class="_ _4"> </span><span class="fcb">-shared<span class="_ _4"> </span>-o<span class="_ _5"> </span></span>libmydynamiclib.so</span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">38/46</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">Using<span class="_ _9"> </span>Dynamic<span class="_ _16"> </span>Lib<span class="_ _1a"></span>ra<span class="_ _7"></span>ries</div><div class="t m0 x1 ha y15e ffb fs6 fc0 sc0 ls0 ws0">Dynamic<span class="_ _f"> </span>lib<span class="_ _7"></span>ra<span class="_ _7"></span>ries<span class="_ _16"> </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="_ _16"> </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="_ _1a"></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 xd ha y161 ff5 fs6 fc0 sc0 ls0 ws0">Linux<span class="_ _15"> </span>LD_LIBRARY_PATH<span class="_ _1d"> </span><span class="ff4">Search<span class="_ _b"> </span>for<span class="_ _11"> </span><span class="ffe">.so<span class="_ _1d"> </span></span>files</span></div><div class="t m0 x15 ha y162 ff5 fs6 fc0 sc0 ls0 ws0">Windows<span class="_ _15"> </span>PATH<span class="_ _1d"> </span><span class="ff4">Search<span class="_ _b"> </span>for<span class="_ _11"> </span><span class="ffe">.dll</span></span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">39/46</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">Application<span class="_ _9"> </span>Binary<span class="_ _9"> </span>Interface<span class="_ _9"> </span>(ABI)</div><div class="t m0 x1 ha y163 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 y164 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="_ _16"> </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 y165 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 y166 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">stable<span class="_ _8"> </span>ABI<span class="_ _f"> </span></span>is<span class="_ _f"> </span>essential<span class="_ _f"> </span>to<span class="_ _f"> </span>up<span class="_ _c"></span>date<span class="_ _f"> </span>the<span class="_ _f"> </span>programs<span class="_ _b"> </span>shared<span class="_ _b"> </span>libra<span class="_ _1a"></span>ries<span class="_ _f"> </span>without<span class="_ _f"> </span>recompiling</div><div class="t m0 x1 ha y167 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 y168 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>t<span class="_ _7"></span>yp<span class="_ _c"></span>e<span class="_ _f"> </span>o<span class="_ _7"></span>r<span class="_ _f"> </span>order<span class="_ _b"> </span>of<span class="_ _f"> </span>memb<span class="_ _c"></span>ers</div><div class="t m0 x1 ha y169 ff4 fs6 fc0 sc0 ls0 ws0">within<span class="_ _f"> </span>a<span class="_ _1d"> </span><span class="ffe">struct<span class="_ _12"> </span></span>,<span class="_ _f"> </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="_ _b"> </span>parameters<span class="_ _b"> </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 y16a ffe fs6 fc0 sc0 ls0 ws0">virtual<span class="_ _1d"> </span><span class="ff4">function<span class="_ _f"> </span>to<span class="_ _f"> </span>a<span class="_ _f"> </span>class<span class="_ _f"> </span>that<span class="_ _f"> </span>previously<span class="_ _b"> </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 y16b 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>ra<span class="_ _7"></span>ry/header<span class="_ _f"> </span>versions<span class="_ _f"> </span>with</div><div class="t m0 x1 ha y16c 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="_ _12"> </span><span class="ff12 fs8"></span></span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">40/46</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="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">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="_ _f"> </span>various<span class="_ _b"> </span>problems<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 y102 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 y8a 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 y16d 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 xe hf y16e ffc fs7 fc0 sc0 ls0 ws0">_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev</div><div class="t m0 x1 ha y16f ff4 fs6 fc0 sc0 ls0 ws0">After<span class="_ _f"> </span>demangling:</div><div class="t m0 xe hf y170 ffc fs7 fc0 sc0 ls0 ws0">std<span class="fc9">::</span>basic_filebuf<span class="fc9">&lt;<span class="ff5 fc8">char</span></span>,<span class="_ _16"> </span>std<span class="fc9">::</span>char_traits<span class="fc9">&lt;<span class="ff5 fc8">char</span>&gt;<span class="_ _16"> </span>&gt;::</span><span class="ff13"></span>basic_filebuf()</div><div class="t m0 x1 ha y171 ff1 fs6 fc0 sc0 ls0 ws0">Ho<span class="_ _7"></span>w<span class="_ _8"> </span>to<span class="_ _8"> </span>demangle:<span class="_ _2a"> </span><span class="ffe">echo<span class="_ _4"> </span>&lt;name&gt;<span class="_ _4"> </span>|<span class="_ _4"> </span><span class="fc7">c++filt</span></span></div><div class="t m0 x1 ha y172 ff4 fs6 fc0 sc0 ls0 ws0">Online<span class="_ _f"> </span>Demangler:<span class="_ _16"> </span><span class="ffe">https://demangler.com</span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">41/46</div><a class="l" href="https://demangler.com"><div class="d m1" style="border-style:none;position:absolute;left:117.138000px;bottom:25.129000px;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="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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIdklEQVR42u3YsQ3CMBBAURvFooqYAVExAULUSGzGEoxDwRBsQBWlwo3pqFGqs3hvAvuu+bq8O5wSAACE8XzcV6YAAEA0IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgK9cazUFAADiKKW4pAIAEI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAACwxdPTWeZ4tDABgmXEcO3qtSyoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACLVCAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAPqXa62mAABAHKUUl1QAAMIRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAMBPhum6NQUAgOBe59v/fHZ/vOS8WbfpnVJrzfYBAAjhA51gGgJC1TT3AAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Find<span class="_ _9"> </span>Dynamic<span class="_ _16"> </span>Lib<span class="_ _1a"></span>ra<span class="_ _7"></span>ry<span class="_ _9"> </span>Dep<span class="_ _c"></span>endencies</div><div class="t m0 x1 ha y173 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>sha<span class="_ _7"></span>red<span class="_ _f"> </span>objects<span class="_ _f"> </span>(shared<span class="_ _b"> </span>libra<span class="_ _1a"></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 y174 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 x9 hf y175 ffc fs7 fc0 sc0 ls0 ws0">$<span class="_ _16"> </span><span class="ff5 fcb">ldd<span class="_ _16"> </span><span class="fc0">/bin/ls</span></span></div><div class="t m0 x16 hf y176 ffc fs7 fc0 sc0 ls0 ws0">linux<span class="fc9">-</span>vdso.so<span class="fc9">.1<span class="_ _16"> </span></span>(<span class="fc9">0x00007ffcc3563000</span>)</div><div class="t m0 x16 hf y177 ffc fs7 fc0 sc0 ls0 ws0">libselinux.so<span class="fc9">.1<span class="_ _16"> </span>=&gt;<span class="_ _16"> </span>/</span>lib64<span class="fc9">/</span>libselinux.so<span class="fc9">.1<span class="_ _16"> </span></span>(<span class="fc9">0x00007f87e5459000</span>)</div><div class="t m0 x16 hf y178 ffc fs7 fc0 sc0 ls0 ws0">libcap.so<span class="fc9">.2<span class="_ _16"> </span>=&gt;<span class="_ _16"> </span>/</span>lib64<span class="fc9">/</span>libcap.so<span class="fc9">.2<span class="_ _16"> </span></span>(<span class="fc9">0x00007f87e5254000</span>)</div><div class="t m0 x16 hf y179 ffc fs7 fc0 sc0 ls0 ws0">libc.so<span class="fc9">.6<span class="_ _16"> </span>=&gt;<span class="_ _16"> </span>/</span>lib64<span class="fc9">/</span>libc.so<span class="fc9">.6<span class="_ _16"> </span></span>(<span class="fc9">0x00007f87e4e92000</span>)</div><div class="t m0 x16 hf y17a ffc fs7 fc0 sc0 ls0 ws0">libpcre.so<span class="fc9">.1<span class="_ _16"> </span>=&gt;<span class="_ _16"> </span>/</span>lib64<span class="fc9">/</span>libpcre.so<span class="fc9">.1<span class="_ _16"> </span></span>(<span class="fc9">0x00007f87e4c22000</span>)</div><div class="t m0 x16 hf y17b ffc fs7 fc0 sc0 ls0 ws0">libdl.so<span class="fc9">.2<span class="_ _16"> </span>=&gt;<span class="_ _16"> </span>/</span>lib64<span class="fc9">/</span>libdl.so<span class="fc9">.2<span class="_ _16"> </span></span>(<span class="fc9">0x00007f87e4a1e000</span>)</div><div class="t m0 x16 hf y17c ffc 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="_ _16"> </span><span class="fc0">(</span>0x00005574bf12e000<span class="fc0">)</span></div><div class="t m0 x16 hf y17d ffc fs7 fc0 sc0 ls0 ws0">libattr.so<span class="fc9">.1<span class="_ _16"> </span>=&gt;<span class="_ _16"> </span>/</span>lib64<span class="fc9">/</span>libattr.so<span class="fc9">.1<span class="_ _16"> </span></span>(<span class="fc9">0x00007f87e4817000</span>)</div><div class="t m0 x16 hf y17e ffc fs7 fc0 sc0 ls0 ws0">libpthread.so<span class="fc9">.0<span class="_ _16"> </span>=&gt;<span class="_ _16"> </span>/</span>lib64<span class="fc9">/</span>libpthread.so<span class="fc9">.0<span class="_ _16"> </span></span>(<span class="fc9">0x00007f87e45fa000</span>)</div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">42/46</div></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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIdklEQVR42u3YsQ0CMQxA0Qu6iOrEDIiKCRCiRrrNWIJxKBiCDahOqUgTOgagcuC9CSy7+XLaHU4DAACE8bjfVrYAAEA0IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgI9Ua7UFAADiyDn7pAIAEI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAIYOxo1lKKgwEAfGeapo6m9UkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkWgEAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEA6FKqtdoCAABx5Jx9UgEACEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAH9hXC5bWwAA+GHP87WvgffHOaXNui2vYWituSAAACG8ASzRGgJRherEAAAAAElFTkSuQmCC"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Find<span class="_ _9"> </span>Object/Executable<span class="_ _16"> </span>Symbols</div><div class="t m0 x17 h14 y17f ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x18 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">1/3</div><div class="t m0 x1 ha y180 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>info<span class="_ _7"></span>rmation<span class="_ _f"> </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>o<span class="_ _7"></span>r</div><div class="t m0 x1 ha y181 ff4 fs6 fc0 sc0 ls0 ws0">executable<span class="_ _f"> </span>file</div><div class="t m0 x9 hf y182 ffc fs7 fc0 sc0 ls0 ws0">$<span class="_ _16"> </span><span class="ff5 fcb">nm<span class="_ _16"> </span></span>-D<span class="_ _16"> </span>-C<span class="_ _16"> </span>something.so</div><div class="t m0 x6 hf y183 ffc fs7 fc0 sc0 ls0 ws0">w<span class="_ _16"> </span>__gmon_start__</div><div class="t m0 x6 hf y184 ffc fs7 fc0 sc0 ls0 ws0">D<span class="_ _16"> </span>__libc_start_main</div><div class="t m0 x6 hf y185 ffc fs7 fc0 sc0 ls0 ws0">D<span class="_ _16"> </span>free</div><div class="t m0 x6 hf y186 ffc fs7 fc0 sc0 ls0 ws0">D<span class="_ _16"> </span>malloc</div><div class="t m0 x6 hf y187 ffc fs7 fc0 sc0 ls0 ws0">D<span class="_ _16"> </span>printf</div><div class="t m0 x9 hf y188 ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _11"> </span>-C:<span class="_ _2"> </span>Decode<span class="_ _16"> </span>low-level<span class="_ _16"> </span>symbol<span class="_ _16"> </span>names</div><div class="t m0 x9 hf y189 ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _11"> </span>-D:<span class="_ _2"> </span>accepts<span class="_ _16"> </span>a<span class="_ _16"> </span>dynamic<span class="_ _16"> </span>library</div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">43/46</div></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,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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="_ _16"> </span>Symbols</div><div class="t m0 x17 h14 y17f ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x18 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">2/3</div><div class="t m0 x1 ha y18a 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 x9 hf y18b ffc fs7 fc0 sc0 ls0 ws0">$<span class="_ _16"> </span><span class="ff5 fcb">readelf<span class="_ _16"> </span></span>--symbols<span class="_ _16"> </span>something.so<span class="_ _16"> </span>|<span class="_ _16"> </span>c++filt</div><div class="t m0 x6 hf y18c ffc fs7 fc0 sc0 ls0 ws0">...<span class="_ _16"> </span>OBJECT<span class="_ _2"> </span>LOCAL<span class="_ _1"> </span>DEFAULT<span class="_ _17"> </span><span class="fc9">17<span class="_ _16"> </span></span>__frame_dummy_init_array_</div><div class="t m0 x6 hf y18d ffc fs7 fc0 sc0 ls0 ws0">...<span class="_ _16"> </span><span class="ff5 fc8">FILE<span class="_ _18"> </span></span>LOCAL<span class="_ _2"> </span>DEFAULT<span class="_ _1"> </span>ABS<span class="_ _16"> </span>prog.cpp</div><div class="t m0 x6 hf y18e ffc fs7 fc0 sc0 ls0 ws0">...<span class="_ _16"> </span>OBJECT<span class="_ _2"> </span>LOCAL<span class="_ _1"> </span>DEFAULT<span class="_ _17"> </span><span class="fc9">14<span class="_ _16"> </span></span>CC1</div><div class="t m0 x6 hf y18f ffc fs7 fc0 sc0 ls0 ws0">...<span class="_ _16"> </span>OBJECT<span class="_ _2"> </span>LOCAL<span class="_ _1"> </span>DEFAULT<span class="_ _17"> </span><span class="fc9">14<span class="_ _16"> </span></span>CC2</div><div class="t m0 x6 hf y190 ffc fs7 fc0 sc0 ls0 ws0">...<span class="_ _16"> </span>FUNC<span class="_ _18"> </span>LOCAL<span class="_ _2"> </span>DEFAULT<span class="_ _17"> </span><span class="fc9">12<span class="_ _16"> </span></span>g()</div><div class="t m0 x9 hf y191 ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _11"> </span>--symbols:<span class="_ _16"> </span>display<span class="_ _16"> </span>symbol<span class="_ _16"> </span>table</div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">44/46</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="_ _16"> </span>Symbols</div><div class="t m0 x17 h14 y17f ff14 fs5 fc1 sc0 ls0 ws0"></div><div class="t m0 x18 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 x9 hf y192 ffc fs7 fc0 sc0 ls0 ws0">$<span class="_ _16"> </span><span class="ff5 fcb">objdump<span class="_ _16"> </span></span>-t<span class="_ _16"> </span>-C<span class="_ _16"> </span>something.so<span class="_ _16"> </span>|<span class="_ _16"> </span>c++filt</div><div class="t m0 x9 hf y193 ffc fs7 fc0 sc0 ls0 ws0">...<span class="_ _16"> </span>df<span class="_ _16"> </span><span class="fc9">*</span>ABS<span class="fc9">*<span class="_ _17"> </span></span>...<span class="_ _2"> </span>prog.cpp</div><div class="t m0 x9 hf y194 ffc fs7 fc0 sc0 ls0 ws0">...<span class="_ _2"> </span>O<span class="_ _16"> </span>.rodata<span class="_ _16"> </span>...<span class="_ _1"> </span>CC1</div><div class="t m0 x9 hf y195 ffc fs7 fc0 sc0 ls0 ws0">...<span class="_ _2"> </span>O<span class="_ _16"> </span>.rodata<span class="_ _16"> </span>...<span class="_ _1"> </span>CC2</div><div class="t m0 x9 hf y196 ffc fs7 fc0 sc0 ls0 ws0">...<span class="_ _2"> </span>F<span class="_ _16"> </span>.text<span class="_ _17"> </span>...<span class="_ _1"> </span>g()</div><div class="t m0 x9 hf y197 ffc fs7 fc0 sc0 ls0 ws0">...<span class="_ _2"> </span>O<span class="_ _16"> </span>.rodata<span class="_ _16"> </span>...<span class="_ _1"> </span>(anonymous<span class="_ _16"> </span><span class="ff5 fc6">namespace</span>)<span class="fc9">::<span class="ff5 fc7">CC3</span></span></div><div class="t m0 x9 hf y198 ffc fs7 fc0 sc0 ls0 ws0">...<span class="_ _2"> </span><span class="ff5 fc7">O<span class="_ _16"> </span></span>.<span class="ff5 fc7">rodata<span class="_ _16"> </span></span>...<span class="_ _1"> </span>(<span class="ff5 fc7">anonymous<span class="_ _16"> </span>namespace</span>)<span class="fc9">::<span class="ff5 fc7">CC4</span></span></div><div class="t m0 x9 hf y199 ffc fs7 fc0 sc0 ls0 ws0">...<span class="_ _2"> </span><span class="ff5 fc7">F<span class="_ _16"> </span></span>.<span class="ff5 fc7">text<span class="_ _17"> </span></span>...<span class="_ _1"> </span>(<span class="ff5 fc7">anonymous<span class="_ _16"> </span>namespace</span>)<span class="fc9">::<span class="ff5 fc7">h</span></span>()</div><div class="t m0 x9 hf y19a ffc fs7 fc0 sc0 ls0 ws0">...<span class="_ _2"> </span><span class="ff5 fc7">F<span class="_ _16"> </span></span>.<span class="ff5 fc7">text<span class="_ _17"> </span></span>...<span class="_ _1"> </span>(<span class="ff5 fc7">anonymous<span class="_ _16"> </span>namespace</span>)<span class="fc9">::<span class="ff5 fc7">B</span>::<span class="ff5 fc7">j1</span></span>()</div><div class="t m0 x9 hf y19b ffc fs7 fc0 sc0 ls0 ws0">...<span class="_ _2"> </span><span class="ff5 fc7">F<span class="_ _16"> </span></span>.<span class="ff5 fc7">text<span class="_ _17"> </span></span>...<span class="_ _1"> </span>(<span class="ff5 fc7">anonymous<span class="_ _16"> </span>namespace</span>)<span class="fc9">::<span class="ff5 fc7">B</span>::<span class="ff5 fc7">j2</span></span>()</div><div class="t m0 x9 hf y19c ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _11"> </span>--t:<span class="_ _16"> </span>display<span class="_ _16"> </span>symbols</div><div class="t m0 x9 hf y19d ff7 fs7 fc3 sc0 ls0 ws0">#<span class="_ _11"> </span>-C:<span class="_ _2"> </span>Decode<span class="_ _16"> </span>low-level<span class="_ _16"> </span>symbol<span class="_ _16"> </span>names</div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">45/46</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,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="_ _16"> </span>A<span class="_ _1a"></span>dditional<span class="_ _9"> </span>Material</div><div class="t m0 xe ha y19e 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 h13 y19f ffe fs6 fc0 sc0 ls0 ws0">developer<span class="_ _4"> </span>should<span class="_ _5"> </span>know</div><div class="t m0 xe ha y1a0 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 xe ha y1a1 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 h13 y1a2 ffe fs6 fc0 sc0 ls0 ws0">developer<span class="_ _4"> </span>should<span class="_ _5"> </span>know</div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">46/46</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>