mirror of
https://github.com/federico-busato/Modern-CPP-Programming.git
synced 2025-04-22 01:18:41 +03:00
1245 lines
531 KiB
HTML
1245 lines
531 KiB
HTML
<!DOCTYPE html>
|
||
<!-- Created by pdf2htmlEX (https://github.com/pdf2htmlEX/pdf2htmlEX) -->
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<meta charset="utf-8"/>
|
||
<meta name="generator" content="pdf2htmlEX"/>
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||
<style type="text/css">
|
||
/*!
|
||
* Base CSS for pdf2htmlEX
|
||
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
|
||
* https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
|
||
*/#sidebar{position:absolute;top:0;left:0;bottom:0;width:250px;padding:0;margin:0;overflow:auto}#page-container{position:absolute;top:0;left:0;margin:0;padding:0;border:0}@media screen{#sidebar.opened+#page-container{left:250px}#page-container{bottom:0;right:0;overflow:auto}.loading-indicator{display:none}.loading-indicator.active{display:block;position:absolute;width:64px;height:64px;top:50%;left:50%;margin-top:-32px;margin-left:-32px}.loading-indicator img{position:absolute;top:0;left:0;bottom:0;right:0}}@media print{@page{margin:0}html{margin:0}body{margin:0;-webkit-print-color-adjust:exact}#sidebar{display:none}#page-container{width:auto;height:auto;overflow:visible;background-color:transparent}.d{display:none}}.pf{position:relative;background-color:white;overflow:hidden;margin:0;border:0}.pc{position:absolute;border:0;padding:0;margin:0;top:0;left:0;width:100%;height:100%;overflow:hidden;display:block;transform-origin:0 0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0}.pc.opened{display:block}.bf{position:absolute;border:0;margin:0;top:0;bottom:0;width:100%;height:100%;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}.bi{position:absolute;border:0;margin:0;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none}@media print{.pf{margin:0;box-shadow:none;page-break-after:always;page-break-inside:avoid}@-moz-document url-prefix(){.pf{overflow:visible;border:1px solid #fff}.pc{overflow:visible}}}.c{position:absolute;border:0;padding:0;margin:0;overflow:hidden;display:block}.t{position:absolute;white-space:pre;font-size:1px;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%;unicode-bidi:bidi-override;-moz-font-feature-settings:"liga" 0}.t:after{content:''}.t:before{content:'';display:inline-block}.t span{position:relative;unicode-bidi:bidi-override}._{display:inline-block;color:transparent;z-index:-1}::selection{background:rgba(127,255,255,0.4)}::-moz-selection{background:rgba(127,255,255,0.4)}.pi{display:none}.d{position:absolute;transform-origin:0 100%;-ms-transform-origin:0 100%;-webkit-transform-origin:0 100%}.it{border:0;background-color:rgba(255,255,255,0.0)}.ir:hover{cursor:pointer}</style>
|
||
<style type="text/css">
|
||
/*!
|
||
* Fancy styles for pdf2htmlEX
|
||
* Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
|
||
* https://github.com/pdf2htmlEX/pdf2htmlEX/blob/master/share/LICENSE
|
||
*/@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes swing{0{transform:rotate(0)}10%{transform:rotate(0)}90%{transform:rotate(720deg)}100%{transform:rotate(720deg)}}@-webkit-keyframes swing{0{-webkit-transform:rotate(0)}10%{-webkit-transform:rotate(0)}90%{-webkit-transform:rotate(720deg)}100%{-webkit-transform:rotate(720deg)}}@media screen{#sidebar{background-color:#2f3236;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0IiBoZWlnaHQ9IjQiPgo8cmVjdCB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjNDAzYzNmIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDBMNCA0Wk00IDBMMCA0WiIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2U9IiMxZTI5MmQiPjwvcGF0aD4KPC9zdmc+")}#outline{font-family:Georgia,Times,"Times New Roman",serif;font-size:13px;margin:2em 1em}#outline ul{padding:0}#outline li{list-style-type:none;margin:1em 0}#outline li>ul{margin-left:1em}#outline a,#outline a:visited,#outline a:hover,#outline a:active{line-height:1.2;color:#e8e8e8;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;display:block;overflow:hidden;outline:0}#outline a:hover{color:#0cf}#page-container{background-color:#9e9e9e;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPgo8cmVjdCB3aWR0aD0iNSIgaGVpZ2h0PSI1IiBmaWxsPSIjOWU5ZTllIj48L3JlY3Q+CjxwYXRoIGQ9Ik0wIDVMNSAwWk02IDRMNCA2Wk0tMSAxTDEgLTFaIiBzdHJva2U9IiM4ODgiIHN0cm9rZS13aWR0aD0iMSI+PC9wYXRoPgo8L3N2Zz4=");-webkit-transition:left 500ms;transition:left 500ms}.pf{margin:13px auto;box-shadow:1px 1px 3px 1px #333;border-collapse:separate}.pc.opened{-webkit-animation:fadein 100ms;animation:fadein 100ms}.loading-indicator.active{-webkit-animation:swing 1.5s ease-in-out .01s infinite alternate none;animation:swing 1.5s ease-in-out .01s infinite alternate none}.checked{background:no-repeat url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3goQDSYgDiGofgAAAslJREFUOMvtlM9LFGEYx7/vvOPM6ywuuyPFihWFBUsdNnA6KLIh+QPx4KWExULdHQ/9A9EfUodYmATDYg/iRewQzklFWxcEBcGgEplDkDtI6sw4PzrIbrOuedBb9MALD7zv+3m+z4/3Bf7bZS2bzQIAcrmcMDExcTeXy10DAFVVAQDksgFUVZ1ljD3yfd+0LOuFpmnvVVW9GHhkZAQcxwkNDQ2FSCQyRMgJxnVdy7KstKZpn7nwha6urqqfTqfPBAJAuVymlNLXoigOhfd5nmeiKL5TVTV+lmIKwAOA7u5u6Lped2BsbOwjY6yf4zgQQkAIAcedaPR9H67r3uYBQFEUFItFtLe332lpaVkUBOHK3t5eRtf1DwAwODiIubk5DA8PM8bYW1EU+wEgCIJqsCAIQAiB7/u253k2BQDDMJBKpa4mEon5eDx+UxAESJL0uK2t7XosFlvSdf0QAEmlUnlRFJ9Waho2Qghc1/U9z3uWz+eX+Wr+lL6SZfleEAQIggA8z6OpqSknimIvYyybSCReMsZ6TislhCAIAti2Dc/zejVNWwCAavN8339j27YbTg0AGGM3WltbP4WhlRWq6Q/btrs1TVsYHx+vNgqKoqBUKn2NRqPFxsbGJzzP05puUlpt0ukyOI6z7zjOwNTU1OLo6CgmJyf/gA3DgKIoWF1d/cIY24/FYgOU0pp0z/Ityzo8Pj5OTk9PbwHA+vp6zWghDC+VSiuRSOQgGo32UErJ38CO42wdHR09LBQK3zKZDDY2NupmFmF4R0cHVlZWlmRZ/iVJUn9FeWWcCCE4ODjYtG27Z2Zm5juAOmgdGAB2d3cBADs7O8uSJN2SZfl+WKlpmpumaT6Yn58vn/fs6XmbhmHMNjc3tzDGFI7jYJrm5vb29sDa2trPC/9aiqJUy5pOp4f6+vqeJ5PJBAB0dnZe/t8NBajx/z37Df5OGX8d13xzAAAAAElFTkSuQmCC)}}</style>
|
||
<style type="text/css">
|
||
.ff0{font-family:sans-serif;visibility:hidden;}
|
||
@font-face{font-family:ff1;src:url('data:application/font-woff;base64,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')format("woff");}.ff1{font-family:ff1;line-height:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
|
||
@font-face{font-family:ff2;src:url('data:application/font-woff;base64,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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,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')format("woff");}.ffc{font-family:ffc;line-height:0.922000;font-style:normal;font-weight:normal;visibility:visible;}
|
||
@font-face{font-family:ffd;src:url('data:application/font-woff;base64,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')format("woff");}.ffd{font-family:ffd;line-height:0.910000;font-style:normal;font-weight:normal;visibility:visible;}
|
||
@font-face{font-family:ffe;src:url('data:application/font-woff;base64,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')format("woff");}.ffe{font-family:ffe;line-height:0.923000;font-style:normal;font-weight:normal;visibility:visible;}
|
||
@font-face{font-family:fff;src:url('data:application/font-woff;base64,d09GRgABAAAAAARwAA0AAAAABpgAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEVAAAABoAAAAcoq5L7kdERUYAAAQ4AAAAGwAAAB4AJwALT1MvMgAAAaAAAAA/AAAAVlOT/ftjbWFwAAAB9AAAAEoAAAFKQDjm4Wdhc3AAAAQwAAAACAAAAAj//wADZ2x5ZgAAAkwAAAAcAAAAHIYLTYdoZWFkAAABMAAAADMAAAA2KczFZ2hoZWEAAAFkAAAAHAAAACQDuAMlaG10eAAAAeAAAAAUAAAAFAWFAP9sb2NhAAACQAAAAAwAAAAMAAAADm1heHAAAAGAAAAAHQAAACAASAAHbmFtZQAAAmgAAAGnAAAC7lcTpIZwb3N0AAAEEAAAAB0AAAAs/5sAr3icY2BkYGBgYmRT9p9qFM9v85WBm/kFUITh8bEDO+H0f4YSJkXGaUAuBwMTSBQAVQoMVAB4nGNgZGBgnMYABMzyIJJJkYGRARWwAgAYlwDkeJxjYGRgYGBlYGEA0QwMTEDMCGY7gPkMAAM7AFAAAAB4nGNgZJzAOIGBlYGBqYtpDwMDQw+EZnzAYMjIBBRlYGVmAIMGoCADEghIc00BUgoKSozTQHwICVEDAM9DCNkAARgAAAAAAAABTQAAAAEAAAMfAP94nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYFBSU/v8H8sH0/8f3H0HVAwEjGwOcw8gEJJgYUAEjxIoBByy0MxoADBMJOgAAAAAAAAAAAAAAAAAOAAEA/wB0AiEBlgADAAAlIREhAiH+3gEidAEiAHiclVJBTuNAEKwxSVYrobAXboD6CKxsWQ4c4BgESBEJKE4Q1wlMEivBg+ygKD/gMWgv+5R9Ah+hMh6tRG545O7qmpqe7rYBNPEHCtVz/x8r/FC7HgdoqN8eb+FYvXlcw47653EdzUB53MBOEFOpaj8ZvbtTa6zQVHWPA2yrfY+3MFCJxzUcqL8e17GnPjxu4CD4hQtYvGCFAhkmmGIBQYKYq4WQq8JnZEdUCdqIaDvQeMSMZ5co6TNyGjme3F6ErlP13H6lXCsOGecuk+FNGnOMGVlnB+Qe6IdIcYk+reCa/pbMHaMjZsSFfVkV2WS6kCSOW2FIeyajlbQj6ejHmV2Ws0x0/iSdqBtJzy5JZnJocxmZqZ6PxY5lYB5kmF72U7nu3w7v0iPmvWHBqWugZKu46aY6LwnWDRR4dqWiZ4tnTX/lulg4X3Bmxk0s4pQE53y/JgvZg6HqlSk09ZWm5SZbTTfBKZPafHFli4mRJIrlXHwJYd9MXue6INMKE/abnG5Wu3kBNo6uf0FDvuQnqMZfFRvjhBj3pigzDojXxify7eSfnAR8LwB4nGNgYgCD/xMY1BiwAVYgZmRgYmBmaAcAPcwCSgAAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEIWMAbxGAADygAzAHicY2BgYGQAgtsKp6pB9ONjB3bCaABTTgiGAAA=')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,d09GRgABAAAAAAVIAA0AAAAAB8AAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFLAAAABoAAAAcoq5L+kdERUYAAAUQAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABGAAAAVlRpgi5jbWFwAAACBAAAAEcAAAFSIaspMGdhc3AAAAUIAAAACAAAAAj//wADZ2x5ZgAAAlwAAAC3AAAAvElOqQdoZWFkAAABMAAAADMAAAA2KpPFG2hoZWEAAAFkAAAAIAAAACQFyQRHaG10eAAAAewAAAAYAAAAGA0/AG9sb2NhAAACTAAAAA4AAAAOAF4ALG1heHAAAAGEAAAAHQAAACAASQAkbmFtZQAAAxQAAAG8AAADTjii6JRwb3N0AAAE0AAAADYAAABBOM+48XicY2BkYGBgYjjScz7gezy/zVcGbuYXQBGGx8cO7IfT5v+/Mq9n/A/kcgDVAgEAzWcQNgB4nGNgZGBg/P//KwMD8wsGIGBez5DCIMmADNgAhTsFFnicY2BkYGBgY1BkANEMDExAzAhmO4D5DAAGKwBuAAAAeJxjYGSexziBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQJwA4wSkuaYAKQUlG8b//78CJf8zcEPVMAAAY/8NYgAAARgAAAAAAAABTQAAA+gAAAPoADcDCgA4eJxjYGBgZoBgGQZGBhDwAfIYwXwWBgMgzQGETEBaQXGSks3//wjW/8f3iu6ehOoCA0Y2BjiXEaSHiQEVMEKsGs4AAGw6DB4AAAAAAAAAAAAAAAAsAF4AAHicY2BkMP//lXk9438GaQYGBhF2PkZ2Nm1GJVMzc0UlE2NFNXUTa0YjcTlGceb1HIF5fEycQtySZX+5RUWZvpZJcgtxMvHlBTIyCTDJNoZw8vaHaoT283KGNMoyMDJYMLQyXWTMZ1BgYGAUYVNWUtdjVFbiY2IHsU1NzIxBphobmZkDWUwXY7zcQh3dtMW0tWWY2Nn5oFzjEGZmbj5GP98aHysdASV7TVYhBTDb30OKgQEAsmQiLQB4nK1Sy2rbQBQ9o9iGQEkXXXRTyt0EEoqEIuFFsoxJQk3kBCsu3o5j2Ra2NUFSMP6Dfkwp/af+SI9G0y68aDfVoLln7vvcGQAn+A6F9vvyByu8VacOe+ipgcNHiNQPhzt4771zuIsT77PDPeq/0lN1jnn6ZqMarPBRdR328Eb1HT7CXA0d7iBQPx3u4oP3yeEeAm+KAQxesEeJHEusUEMQIeSK4XO1+JLaGb0E1wi4D6HxjDVjd6goc+o0CsytLUBivUbW3no2Hmc8FzZTxkoaGyx4MnZ/om5KOUGKG4y5C+4oH6h55OmcGTEwL/syX65qicIw9n3ulzLby3UgQ/28NrtqnYsu5jIMkkBGZkdlLmemkFm20puFmIU8ZVOZpDfjVO7GD5PH9Jx579lwwoZqtpWS5pYtGrZX4YLkcZ8kul6l++3MbKoLKhpiJb0aChiZcqspby272sqSs8zsJAMmEFzx/3sRn1wzRr1SoxnfxsT2BtpbiNBnEVPUt6ZcZhIFoVzJQWv+OFu+bnRJS+xHnE/U/xe7w8KHbH+nbJ5yRnvFq2yvsSXXPBShMSurnINmW2Es/63oLzGalN94nGNgYmD4//Hb7v9NDBoM2AAbEDMyMDEwMzIxMnMlFhXllxdlpmeUsBdn5mbmJBYBAH9ODKsAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEJWIGYB8xgAA9UANHicY2BgYGQAgtsKp6pB9ONjB/bDaABTigiSAAA=')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,d09GRgABAAAAAATAAA0AAAAABtgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEpAAAABoAAAAcoq5MHkdERUYAAASIAAAAGwAAAB4AJwALT1MvMgAAAZwAAAA/AAAAVlVXVldjbWFwAAAB8AAAAEYAAAFKzKIgqGdhc3AAAASAAAAACAAAAAj//wADZ2x5ZgAAAkQAAADSAAAA4MubV/JoZWFkAAABMAAAADAAAAA2KpPGIWhoZWEAAAFgAAAAGQAAACQHQgPuaG10eAAAAdwAAAAUAAAAFAcqAD5sb2NhAAACOAAAAAwAAAAMACgAmG1heHAAAAF8AAAAHQAAACAASQBDbmFtZQAAAxgAAAFHAAACZKQHGPhwb3N0AAAEYAAAAB4AAAA0TLakpHicY2BkYGBgZHC0rlK9Fc9v85WBm/kFUITh8bEDF5Fp5hfMkUCKg4EJxAMAaIwMUnicY2BkYGCOZAAC5hdQkpEBFbACADPuAjoAAAB4nGNgZGBgYGVwYGBiAAEQycgAEnMA8xkACS4AjQAAAHicY2Bk/MI4gYGVgYGpi2kPAwNDD4RmfMBgyMgEFGVgZWaAAUYBBgQISHNNAVIKz8KZI0F8CMnACCIA6SYJUgAB9AA+AAAAAAFNAAAAAQAAA+gAAHicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUnoX//w/kg+n/jyXXQtUDASMbA5zDyAQkmBhQASPEiuEMACjNCjEAAAAAABQAFAAUABQAcHicHcsxCsJAEIXhmSxMJAHDxmw6hRg3lopuYiEaIUewskkRW3ttPIC9d7C38BxWNmIlgmcQWVwzxcCD/wML5gB4YStgYANMxjxmPOL7zyfH3dx6fF9s9T0BWGCOvU0nITdCBBRH3STlKhtHozYGZpHgQWhWNkOVTXEUtripugNEMi9J1QT7Sd2HzC8LPSzKssAD53or01TiVSqn0Ws4N+E13UofqUk5EW7WjvCw7QlcnmtxLUq/5yuph392tl0X7/rpidrQgsg2qHI6QsAPxO4tjgAAeJyNkL1KA0EUhc/kDzQgFpL6Vna7biYkRayWhKSximCpLuyQBJKdsBsSUvoG4lOIhZUPYOVzeXZ2wBQW2WG43537d/YCuMAnFKrvBs+eFdp491xDE9+e67hWV54baKt7z01cqhfPLb5/MFM1zug9uqqSFTp49VzDOb4813GHH88NdNSt5yZEPXlu8f0NI1hscECOJeZYYAvBGAl2MKQpKUPKuEAjQhcDhOQYKx45qiqcZ2gNbVmdMhMjuznky/liK+NkZ2SaZOlBdNQdhBKvVuJCheSmMPnOpCyYUE/GfjH2rpvFmhYTm23jvSnsms7MvZbKMLPrJPurKm1ORcbpDalYMOT9v2sV6yFgbuD+T6NfzZrYfG5Eh5EM5Wg2vV6gAx3p/mlSH9w6Cq6pzBWOKJcYeitMMHmxtJlEUTfklZPa/gLy4GdlAHicY2BiwA9YgZiRgYmBmZGJvTQv09XM1BwAC8ICSwAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQhYwBvEYAAPKADMAeJxjYGBgZACC2wqnqkH042MHLsJoAFQ+CLYAAA==')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,d09GRgABAAAAAATQAA0AAAAAB0gAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEtAAAABoAAAAcoq5MIEdERUYAAASYAAAAGwAAAB4AJwALT1MvMgAAAaQAAABBAAAAVlOyf6BjbWFwAAAB/AAAAEYAAAFKRGzkw2dhc3AAAASQAAAACAAAAAj//wADZ2x5ZgAAAlAAAABcAAAAcJpimDFoZWFkAAABMAAAADMAAAA2KcrFQWhoZWEAAAFkAAAAHgAAACQEcwOIaG10eAAAAegAAAAUAAAAFAWFADlsb2NhAAACRAAAAAwAAAAMAAAAOG1heHAAAAGEAAAAHQAAACAASAApbmFtZQAAAqwAAAG2AAADQt79S5Zwb3N0AAAEZAAAACkAAAA0cGzCxHicY2BkYGBgYjjyX1jrQTy/zVcGbuYXQBGGx8cOXILTlgwNTE8ZS4BcDqBaIAAAoBgODgB4nGNgZGBgLGEAAmZ5EMn0lCGFQZIBGbACACsPAgIAAHicY2BkYGBgZVBjANEMDExAzAhmO4D5DAAGjQByAAAAeJxjYGScwDiBgZWBgamLaQ+DIkMPiP7fw/iAwZCRCSjKwMrMAAOMQOwA4wSkuaYAKQUlG8YSsGQJXA0DACxLCh0AAAABGAAAAAAAAAFNAAAAAQAAAx8AOXicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlGz+/wfywfT/x3dPQNUDASMbA5zDyAQkmBhQASPEiuEMACp9CVIAAAAAAAAAAAAAAAAAOHicY2BksGRoYHrKWMKgysDAKMKmrKSmrseorMTHzA5km5qYGRuJicsxGhvZMZsD2UxP4/z0/UyMPDX4FNQVxJmYePkxBBgD/JoMDHS12UWVrNUklJE5DADJcRG5eJytUstq20AUPaPYhtLiZVdZXJpNApFQJbJIViUhMZjIDlZcsh0lsi1sa4KkYLzoF7X0j/ovPRpNCy0lq2rQvee+HzMAhvgOhe77/BsrDNWRwx4G6pPDB/iovjrcw3vvrcN9DL1fPgPqv9BT9d5Q+majWqxwqPoOe3inIocPkKmRwz2cqh8O93HofXB4gFNviisYPGOPCgWWWKGBIELIE8Pn6fA5tRm9BJcISMfQeMSasTvU5AV1GiWerC1AYr0m1t55th7HlEubKWcljQ0WlIyl99Q9kM+R4hozUsGIfErNHaUTZsSVed5XxXLVSBSGse+Tnku2l8tAxvpxbXb1uhBdPsk4SAKZmB2VhRybUrJ8pTcLMQu5zx9knl7PUhnNpvO79IR5b9lwwoYatpVyzC1bNGyv5uC4TRLdrNL9NjObmnI7VUWXtn9MTLXV5Dd2tMbyiovM7RoDrk5wwf+1Cj7HzBnzQlkzuouI7fK7C4hwxhKmbG5MtcwlCkK5kD/78mf58mWjKxpiP+JmorPX5/q7Kv6dr33BOc01b7C7vW6s9n0IjXlVF9wvWwpj+T8VfwKBbJNPAAB4nGNgYmD4//Hb7v8TGNQYsAFWIGZkYGJgZmRiL87MzcxJLAIAALoIXwAAAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEIWMAbxGAADygAzAHicY2BgYGQAgtsKp6pB9ONjBy7BaABUSAi4AAA=')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,d09GRgABAAAAAATgAA0AAAAABvAAAwACAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAExAAAABoAAAAcoq5MIkdERUYAAASoAAAAGwAAAB4AJwALT1MvMgAAAaQAAABEAAAAVlXGgpdjbWFwAAAB/AAAAEYAAAFKRYDkOWdhc3AAAASgAAAACAAAAAj//wADZ2x5ZgAAAlAAAAB0AAAAdPLyoUVoZWFkAAABMAAAADMAAAA2Kl7FVGhoZWEAAAFkAAAAHgAAACQGNQNHaG10eAAAAegAAAAUAAAAFAbyADJsb2NhAAACRAAAAAwAAAAMAAAAOm1heHAAAAGEAAAAHQAAACAASAAobmFtZQAAAsQAAAG5AAAC5VinEtJwb3N0AAAEgAAAAB4AAAA0ObKyo3icY2BkYGBgZmjeZbv8YDy/zVcGbuYXQBGGx8cOXIbTRv8nMtcxbQVyORiYQKIAre0O+AB4nGNgZGBg2vp/IgMD8wYGIGCuY2BkQAWsAF/rA4MAAHicY2BkYGBgZVBlANEMDExAzAhmO4D5DAAGdABxAAAAeJxjYGS8wfiFgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBjZoABRiB2gHEC0lxTgJSC0jGmrf8nAlVuZciHqmEAACXuDCsB9AAAAAAAAAFNAAAAAQAAA7AAMnicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUlI79/w/kg+n/j+/aQdUDASMbA5zDyAQkmBhQASPEiuEMAMdbCdwAAAAAAAAAAAAAAAAAOgABADL/kQN+ArUAJAAAAQcTFhUUIyIvAQcGIyI1PwETJyY1NDYzIRM2MzIWFxMhMhYVFANx71wDCwgH7+8LBAsCAlvwDAwQASFaBgkGBARbASERCwFxrv7nCQULCa2tCQsHBwEZrgkGCAMBFhQGDP7oAwgEeJxtUctq20AUPaPYhoZQ2j+47coGWx7LhGATAm6Id8oihkBXRciDJbAkI40j/FNZ91tK6bq7/kKPxtNFoLqge+7r3DMzAN7jFQrnr8QvjxX66qvHAQaq8PgCn9R3j3vM//a4jw/BR48HGASanar3jtFPN9VhhUsVexzgSn3z+AJflPW4x/wPj/sQ9cfjAa6Cz7hHhQNOqJFjhwwWgiFSjOhnWNBuMCaOoGkLohUKGNefIuH5BDG95axhpUPnyp6VDdlTxobZk2O+dTssdy4xpbXOQvYXaOgrMu9wx/3d1pazHbPgiRyN2/vC/5aZNXtLp/fRTRunZEN9MZVrcuG+OpzqfJdZGaYjmS0WN2OJtF7IqjB1nialxInNTJFYBnvZVGlu7EmGt5m1h+V02rZtmBRNWNW7u9FY2txm8mQaU7+Yrayr0spjUhiJN6t4prnvAUceuxOJh+Pe0MVObM58wcBs8yP9P+Vrf1rj7jekZuGtvD3FOTPHhB0T9woRrknB5WvKMhKFWpZeAsF8Ek0iHV3jDQvOdeDZqWuoqHJP1z3q3K3uiIUNpm7yqhSt56HWkfyf5y/f6np+AAAAeJxjYGLAD1iBmJGBiYGZkYm9NC/TyMjZDAALhQJBAAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCFjAG8RgAA8oAMwB4nGNgYGBkAILbCqeqQfTjYwcuw2gAVFIIugAA')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;}
|
||
._2b{width:1103.025176px;}
|
||
._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;}
|
||
.y188{bottom:13.651000px;}
|
||
.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;}
|
||
.y17c{bottom:28.550000px;}
|
||
.y187{bottom:29.232000px;}
|
||
.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;}
|
||
.y176{bottom:34.854000px;}
|
||
.y57{bottom:35.055000px;}
|
||
.y24{bottom:35.294000px;}
|
||
.ye6{bottom:35.508000px;}
|
||
.y11b{bottom:35.722000px;}
|
||
.yef{bottom:35.883000px;}
|
||
.y1a7{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;}
|
||
.y166{bottom:40.101000px;}
|
||
.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;}
|
||
.y1a6{bottom:48.719000px;}
|
||
.y56{bottom:48.803000px;}
|
||
.y9c{bottom:49.082000px;}
|
||
.yf8{bottom:49.158000px;}
|
||
.yb7{bottom:49.259000px;}
|
||
.y17b{bottom:49.586000px;}
|
||
.y3f{bottom:49.814000px;}
|
||
.y156{bottom:50.054000px;}
|
||
.y175{bottom:50.436000px;}
|
||
.y67{bottom:51.806000px;}
|
||
.y109{bottom:51.946000px;}
|
||
.y7a{bottom:54.162000px;}
|
||
.y30{bottom:54.359000px;}
|
||
.y23{bottom:54.497000px;}
|
||
.y13a{bottom:54.805000px;}
|
||
.y165{bottom:55.257000px;}
|
||
.y186{bottom:55.364000px;}
|
||
.ycb{bottom:55.586000px;}
|
||
.y87{bottom:56.551000px;}
|
||
.yd7{bottom:56.679000px;}
|
||
.y112{bottom:56.728000px;}
|
||
.y123{bottom:57.626000px;}
|
||
.y150{bottom:57.956000px;}
|
||
.y193{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;}
|
||
.y9b{bottom:64.664000px;}
|
||
.yb6{bottom:64.840000px;}
|
||
.yab{bottom:66.932000px;}
|
||
.y185{bottom:67.967000px;}
|
||
.yd6{bottom:69.282000px;}
|
||
.y55{bottom:69.526000px;}
|
||
.y2f{bottom:69.577000px;}
|
||
.ya4{bottom:69.794000px;}
|
||
.y130{bottom:70.068000px;}
|
||
.y86{bottom:70.300000px;}
|
||
.y16c{bottom:70.425000px;}
|
||
.y192{bottom:70.761000px;}
|
||
.y4a{bottom:70.945000px;}
|
||
.y3d{bottom:71.139000px;}
|
||
.y19b{bottom:72.250000px;}
|
||
.ye4{bottom:73.316000px;}
|
||
.yca{bottom:73.499000px;}
|
||
.y22{bottom:73.700000px;}
|
||
.y1a5{bottom:73.924000px;}
|
||
.y164{bottom:74.983000px;}
|
||
.yed{bottom:75.016000px;}
|
||
.y1ac{bottom:75.163000px;}
|
||
.y139{bottom:75.841000px;}
|
||
.y174{bottom:76.453000px;}
|
||
.y14a{bottom:76.559000px;}
|
||
.y155{bottom:76.569000px;}
|
||
.y17a{bottom:76.908000px;}
|
||
.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;}
|
||
.y184{bottom:80.569000px;}
|
||
.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;}
|
||
.y2e{bottom:83.325000px;}
|
||
.y49{bottom:83.548000px;}
|
||
.ydd{bottom:84.674000px;}
|
||
.yaa{bottom:85.502000px;}
|
||
.y12f{bottom:85.649000px;}
|
||
.y16b{bottom:86.006000px;}
|
||
.y85{bottom:86.041000px;}
|
||
.yc9{bottom:86.102000px;}
|
||
.y1a4{bottom:86.527000px;}
|
||
.yf6{bottom:86.966000px;}
|
||
.ye3{bottom:88.161000px;}
|
||
.y54{bottom:90.248000px;}
|
||
.y1ab{bottom:90.745000px;}
|
||
.y138{bottom:91.422000px;}
|
||
.y173{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;}
|
||
.y183{bottom:93.172000px;}
|
||
.ybd{bottom:93.592000px;}
|
||
.y3c{bottom:93.966000px;}
|
||
.yd4{bottom:94.487000px;}
|
||
.y163{bottom:94.709000px;}
|
||
.y179{bottom:95.742000px;}
|
||
.y191{bottom:95.966000px;}
|
||
.y48{bottom:96.151000px;}
|
||
.yb{bottom:96.320000px;}
|
||
.yec{bottom:96.550000px;}
|
||
.ydc{bottom:97.276000px;}
|
||
.y19a{bottom:97.456000px;}
|
||
.yc8{bottom:98.704000px;}
|
||
.y1a3{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;}
|
||
.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;}
|
||
.y182{bottom:105.775000px;}
|
||
.yff{bottom:106.757000px;}
|
||
.y137{bottom:107.004000px;}
|
||
.ye2{bottom:107.090000px;}
|
||
.y172{bottom:107.616000px;}
|
||
.y148{bottom:107.721000px;}
|
||
.y153{bottom:107.732000px;}
|
||
.yb4{bottom:107.890000px;}
|
||
.yf5{bottom:108.011000px;}
|
||
.y2d{bottom:108.399000px;}
|
||
.y190{bottom:108.569000px;}
|
||
.y47{bottom:108.753000px;}
|
||
.y16a{bottom:108.958000px;}
|
||
.ya9{bottom:109.527000px;}
|
||
.ydb{bottom:109.879000px;}
|
||
.y199{bottom:110.058000px;}
|
||
.y33{bottom:111.700000px;}
|
||
.y1a2{bottom:111.732000px;}
|
||
.y20{bottom:112.106000px;}
|
||
.y141{bottom:112.401000px;}
|
||
.y75{bottom:114.341000px;}
|
||
.y62{bottom:114.738000px;}
|
||
.y10f{bottom:114.905000px;}
|
||
.y105{bottom:114.960000px;}
|
||
.ybc{bottom:115.126000px;}
|
||
.ya{bottom:115.523000px;}
|
||
.y3a{bottom:115.734000px;}
|
||
.y4{bottom:116.152000px;}
|
||
.y162{bottom:116.242000px;}
|
||
.y178{bottom:118.083000px;}
|
||
.y181{bottom:118.377000px;}
|
||
.y117{bottom:118.969000px;}
|
||
.yfe{bottom:119.360000px;}
|
||
.yd3{bottom:119.692000px;}
|
||
.y8c{bottom:120.182000px;}
|
||
.y15c{bottom:120.234000px;}
|
||
.y1aa{bottom:120.274000px;}
|
||
.ya2{bottom:120.359000px;}
|
||
.y19{bottom:120.504000px;}
|
||
.y52{bottom:120.708000px;}
|
||
.y128{bottom:121.063000px;}
|
||
.y18f{bottom:121.172000px;}
|
||
.y12{bottom:121.346000px;}
|
||
.y46{bottom:121.356000px;}
|
||
.y14d{bottom:121.587000px;}
|
||
.y12d{bottom:122.267000px;}
|
||
.y136{bottom:122.585000px;}
|
||
.y198{bottom:122.661000px;}
|
||
.y98{bottom:123.314000px;}
|
||
.yc7{bottom:123.910000px;}
|
||
.y1a1{bottom:124.335000px;}
|
||
.ya8{bottom:125.108000px;}
|
||
.y74{bottom:125.225000px;}
|
||
.y61{bottom:125.622000px;}
|
||
.y83{bottom:129.159000px;}
|
||
.yeb{bottom:129.886000px;}
|
||
.y2c{bottom:130.167000px;}
|
||
.y169{bottom:130.517000px;}
|
||
.y140{bottom:130.972000px;}
|
||
.y180{bottom:130.980000px;}
|
||
.y1f{bottom:131.309000px;}
|
||
.yd2{bottom:132.295000px;}
|
||
.yf4{bottom:133.216000px;}
|
||
.yb3{bottom:133.434000px;}
|
||
.y18e{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;}
|
||
.y197{bottom:135.264000px;}
|
||
.y171{bottom:135.626000px;}
|
||
.y147{bottom:135.816000px;}
|
||
.y8b{bottom:136.546000px;}
|
||
.y177{bottom:136.918000px;}
|
||
.y1a0{bottom:136.938000px;}
|
||
.y14c{bottom:137.169000px;}
|
||
.y39{bottom:137.502000px;}
|
||
.y60{bottom:138.056000px;}
|
||
.y26{bottom:138.248000px;}
|
||
.y161{bottom:138.434000px;}
|
||
.y15b{bottom:138.804000px;}
|
||
.y97{bottom:138.895000px;}
|
||
.y18{bottom:139.707000px;}
|
||
.y3{bottom:140.018000px;}
|
||
.y135{bottom:140.159000px;}
|
||
.y11{bottom:140.549000px;}
|
||
.y116{bottom:141.525000px;}
|
||
.y51{bottom:142.243000px;}
|
||
.yc6{bottom:142.889000px;}
|
||
.y82{bottom:142.907000px;}
|
||
.y17f{bottom:143.583000px;}
|
||
.ybb{bottom:144.468000px;}
|
||
.yfd{bottom:144.565000px;}
|
||
.yd1{bottom:144.898000px;}
|
||
.yea{bottom:145.467000px;}
|
||
.y12c{bottom:146.292000px;}
|
||
.y18d{bottom:146.377000px;}
|
||
.y45{bottom:146.561000px;}
|
||
.y10e{bottom:146.900000px;}
|
||
.y196{bottom:147.866000px;}
|
||
.y38{bottom:147.944000px;}
|
||
.yb2{bottom:149.016000px;}
|
||
.y103{bottom:149.520000px;}
|
||
.y19f{bottom:149.540000px;}
|
||
.y13f{bottom:149.542000px;}
|
||
.y1a9{bottom:149.803000px;}
|
||
.yd9{bottom:149.929000px;}
|
||
.y1e{bottom:150.512000px;}
|
||
.y170{bottom:151.208000px;}
|
||
.y2b{bottom:151.936000px;}
|
||
.y168{bottom:152.076000px;}
|
||
.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;}
|
||
.y17e{bottom:156.185000px;}
|
||
.y81{bottom:158.648000px;}
|
||
.yc5{bottom:158.829000px;}
|
||
.y18c{bottom:158.980000px;}
|
||
.yac{bottom:159.164000px;}
|
||
.y10{bottom:159.752000px;}
|
||
.y11f{bottom:160.339000px;}
|
||
.y195{bottom:160.469000px;}
|
||
.yba{bottom:161.150000px;}
|
||
.ya7{bottom:161.726000px;}
|
||
.y12b{bottom:161.873000px;}
|
||
.y19e{bottom:162.143000px;}
|
||
.y10d{bottom:162.481000px;}
|
||
.y2a{bottom:162.820000px;}
|
||
.y71{bottom:163.635000px;}
|
||
.y14b{bottom:163.684000px;}
|
||
.yb1{bottom:164.597000px;}
|
||
.y1a8{bottom:165.385000px;}
|
||
.yfc{bottom:166.383000px;}
|
||
.y5e{bottom:166.785000px;}
|
||
.y115{bottom:168.155000px;}
|
||
.y37{bottom:168.777000px;}
|
||
.y17d{bottom:168.788000px;}
|
||
.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;}
|
||
.y19d{bottom:174.746000px;}
|
||
.y160{bottom:175.052000px;}
|
||
.y16f{bottom:175.232000px;}
|
||
.y29{bottom:175.254000px;}
|
||
.y89{bottom:176.011000px;}
|
||
.y167{bottom:176.101000px;}
|
||
.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;}
|
||
.y18b{bottom:180.798000px;}
|
||
.yfb{bottom:181.965000px;}
|
||
.y194{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;}
|
||
.y19c{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;}
|
||
.y15f{bottom:190.633000px;}
|
||
.y16e{bottom:190.814000px;}
|
||
.y28{bottom:191.592000px;}
|
||
.y159{bottom:193.992000px;}
|
||
.ycf{bottom:195.308000px;}
|
||
.y6e{bottom:196.287000px;}
|
||
.y18a{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;}
|
||
.y132{bottom:204.314000px;}
|
||
.y129{bottom:204.468000px;}
|
||
.y13c{bottom:204.730000px;}
|
||
.y9f{bottom:205.435000px;}
|
||
.yaf{bottom:205.723000px;}
|
||
.y15e{bottom:206.215000px;}
|
||
.y16d{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;}
|
||
.y189{bottom:240.488000px;}
|
||
.he{height:22.061237px;}
|
||
.h15{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;}
|
||
.h14{height:33.091994px;}
|
||
.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;}
|
||
._2b{width:1470.700235pt;}
|
||
._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;}
|
||
.y188{bottom:18.201333pt;}
|
||
.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;}
|
||
.y17c{bottom:38.066667pt;}
|
||
.y187{bottom:38.976000pt;}
|
||
.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;}
|
||
.y176{bottom:46.472000pt;}
|
||
.y57{bottom:46.740000pt;}
|
||
.y24{bottom:47.058667pt;}
|
||
.ye6{bottom:47.344000pt;}
|
||
.y11b{bottom:47.629333pt;}
|
||
.yef{bottom:47.844000pt;}
|
||
.y1a7{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;}
|
||
.y166{bottom:53.468000pt;}
|
||
.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;}
|
||
.y1a6{bottom:64.958667pt;}
|
||
.y56{bottom:65.070667pt;}
|
||
.y9c{bottom:65.442667pt;}
|
||
.yf8{bottom:65.544000pt;}
|
||
.yb7{bottom:65.678667pt;}
|
||
.y17b{bottom:66.114667pt;}
|
||
.y3f{bottom:66.418667pt;}
|
||
.y156{bottom:66.738667pt;}
|
||
.y175{bottom:67.248000pt;}
|
||
.y67{bottom:69.074667pt;}
|
||
.y109{bottom:69.261333pt;}
|
||
.y7a{bottom:72.216000pt;}
|
||
.y30{bottom:72.478667pt;}
|
||
.y23{bottom:72.662667pt;}
|
||
.y13a{bottom:73.073333pt;}
|
||
.y165{bottom:73.676000pt;}
|
||
.y186{bottom:73.818667pt;}
|
||
.ycb{bottom:74.114667pt;}
|
||
.y87{bottom:75.401333pt;}
|
||
.yd7{bottom:75.572000pt;}
|
||
.y112{bottom:75.637333pt;}
|
||
.y123{bottom:76.834667pt;}
|
||
.y150{bottom:77.274667pt;}
|
||
.y193{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;}
|
||
.y9b{bottom:86.218667pt;}
|
||
.yb6{bottom:86.453333pt;}
|
||
.yab{bottom:89.242667pt;}
|
||
.y185{bottom:90.622667pt;}
|
||
.yd6{bottom:92.376000pt;}
|
||
.y55{bottom:92.701333pt;}
|
||
.y2f{bottom:92.769333pt;}
|
||
.ya4{bottom:93.058667pt;}
|
||
.y130{bottom:93.424000pt;}
|
||
.y86{bottom:93.733333pt;}
|
||
.y16c{bottom:93.900000pt;}
|
||
.y192{bottom:94.348000pt;}
|
||
.y4a{bottom:94.593333pt;}
|
||
.y3d{bottom:94.852000pt;}
|
||
.y19b{bottom:96.333333pt;}
|
||
.ye4{bottom:97.754667pt;}
|
||
.yca{bottom:97.998667pt;}
|
||
.y22{bottom:98.266667pt;}
|
||
.y1a5{bottom:98.565333pt;}
|
||
.y164{bottom:99.977333pt;}
|
||
.yed{bottom:100.021333pt;}
|
||
.y1ac{bottom:100.217333pt;}
|
||
.y139{bottom:101.121333pt;}
|
||
.y174{bottom:101.937333pt;}
|
||
.y14a{bottom:102.078667pt;}
|
||
.y155{bottom:102.092000pt;}
|
||
.y17a{bottom:102.544000pt;}
|
||
.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;}
|
||
.y184{bottom:107.425333pt;}
|
||
.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;}
|
||
.y2e{bottom:111.100000pt;}
|
||
.y49{bottom:111.397333pt;}
|
||
.ydd{bottom:112.898667pt;}
|
||
.yaa{bottom:114.002667pt;}
|
||
.y12f{bottom:114.198667pt;}
|
||
.y16b{bottom:114.674667pt;}
|
||
.y85{bottom:114.721333pt;}
|
||
.yc9{bottom:114.802667pt;}
|
||
.y1a4{bottom:115.369333pt;}
|
||
.yf6{bottom:115.954667pt;}
|
||
.ye3{bottom:117.548000pt;}
|
||
.y54{bottom:120.330667pt;}
|
||
.y1ab{bottom:120.993333pt;}
|
||
.y138{bottom:121.896000pt;}
|
||
.y173{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;}
|
||
.y183{bottom:124.229333pt;}
|
||
.ybd{bottom:124.789333pt;}
|
||
.y3c{bottom:125.288000pt;}
|
||
.yd4{bottom:125.982667pt;}
|
||
.y163{bottom:126.278667pt;}
|
||
.y179{bottom:127.656000pt;}
|
||
.y191{bottom:127.954667pt;}
|
||
.y48{bottom:128.201333pt;}
|
||
.yb{bottom:128.426667pt;}
|
||
.yec{bottom:128.733333pt;}
|
||
.ydc{bottom:129.701333pt;}
|
||
.y19a{bottom:129.941333pt;}
|
||
.yc8{bottom:131.605333pt;}
|
||
.y1a3{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;}
|
||
.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;}
|
||
.y182{bottom:141.033333pt;}
|
||
.yff{bottom:142.342667pt;}
|
||
.y137{bottom:142.672000pt;}
|
||
.ye2{bottom:142.786667pt;}
|
||
.y172{bottom:143.488000pt;}
|
||
.y148{bottom:143.628000pt;}
|
||
.y153{bottom:143.642667pt;}
|
||
.yb4{bottom:143.853333pt;}
|
||
.yf5{bottom:144.014667pt;}
|
||
.y2d{bottom:144.532000pt;}
|
||
.y190{bottom:144.758667pt;}
|
||
.y47{bottom:145.004000pt;}
|
||
.y16a{bottom:145.277333pt;}
|
||
.ya9{bottom:146.036000pt;}
|
||
.ydb{bottom:146.505333pt;}
|
||
.y199{bottom:146.744000pt;}
|
||
.y33{bottom:148.933333pt;}
|
||
.y1a2{bottom:148.976000pt;}
|
||
.y20{bottom:149.474667pt;}
|
||
.y141{bottom:149.868000pt;}
|
||
.y75{bottom:152.454667pt;}
|
||
.y62{bottom:152.984000pt;}
|
||
.y10f{bottom:153.206667pt;}
|
||
.y105{bottom:153.280000pt;}
|
||
.ybc{bottom:153.501333pt;}
|
||
.ya{bottom:154.030667pt;}
|
||
.y3a{bottom:154.312000pt;}
|
||
.y4{bottom:154.869333pt;}
|
||
.y162{bottom:154.989333pt;}
|
||
.y178{bottom:157.444000pt;}
|
||
.y181{bottom:157.836000pt;}
|
||
.y117{bottom:158.625333pt;}
|
||
.yfe{bottom:159.146667pt;}
|
||
.yd3{bottom:159.589333pt;}
|
||
.y8c{bottom:160.242667pt;}
|
||
.y15c{bottom:160.312000pt;}
|
||
.y1aa{bottom:160.365333pt;}
|
||
.ya2{bottom:160.478667pt;}
|
||
.y19{bottom:160.672000pt;}
|
||
.y52{bottom:160.944000pt;}
|
||
.y128{bottom:161.417333pt;}
|
||
.y18f{bottom:161.562667pt;}
|
||
.y12{bottom:161.794667pt;}
|
||
.y46{bottom:161.808000pt;}
|
||
.y14d{bottom:162.116000pt;}
|
||
.y12d{bottom:163.022667pt;}
|
||
.y136{bottom:163.446667pt;}
|
||
.y198{bottom:163.548000pt;}
|
||
.y98{bottom:164.418667pt;}
|
||
.yc7{bottom:165.213333pt;}
|
||
.y1a1{bottom:165.780000pt;}
|
||
.ya8{bottom:166.810667pt;}
|
||
.y74{bottom:166.966667pt;}
|
||
.y61{bottom:167.496000pt;}
|
||
.y83{bottom:172.212000pt;}
|
||
.yeb{bottom:173.181333pt;}
|
||
.y2c{bottom:173.556000pt;}
|
||
.y169{bottom:174.022667pt;}
|
||
.y140{bottom:174.629333pt;}
|
||
.y180{bottom:174.640000pt;}
|
||
.y1f{bottom:175.078667pt;}
|
||
.yd2{bottom:176.393333pt;}
|
||
.yf4{bottom:177.621333pt;}
|
||
.yb3{bottom:177.912000pt;}
|
||
.y18e{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;}
|
||
.y197{bottom:180.352000pt;}
|
||
.y171{bottom:180.834667pt;}
|
||
.y147{bottom:181.088000pt;}
|
||
.y8b{bottom:182.061333pt;}
|
||
.y177{bottom:182.557333pt;}
|
||
.y1a0{bottom:182.584000pt;}
|
||
.y14c{bottom:182.892000pt;}
|
||
.y39{bottom:183.336000pt;}
|
||
.y60{bottom:184.074667pt;}
|
||
.y26{bottom:184.330667pt;}
|
||
.y161{bottom:184.578667pt;}
|
||
.y15b{bottom:185.072000pt;}
|
||
.y97{bottom:185.193333pt;}
|
||
.y18{bottom:186.276000pt;}
|
||
.y3{bottom:186.690667pt;}
|
||
.y135{bottom:186.878667pt;}
|
||
.y11{bottom:187.398667pt;}
|
||
.y116{bottom:188.700000pt;}
|
||
.y51{bottom:189.657333pt;}
|
||
.yc6{bottom:190.518667pt;}
|
||
.y82{bottom:190.542667pt;}
|
||
.y17f{bottom:191.444000pt;}
|
||
.ybb{bottom:192.624000pt;}
|
||
.yfd{bottom:192.753333pt;}
|
||
.yd1{bottom:193.197333pt;}
|
||
.yea{bottom:193.956000pt;}
|
||
.y12c{bottom:195.056000pt;}
|
||
.y18d{bottom:195.169333pt;}
|
||
.y45{bottom:195.414667pt;}
|
||
.y10e{bottom:195.866667pt;}
|
||
.y196{bottom:197.154667pt;}
|
||
.y38{bottom:197.258667pt;}
|
||
.yb2{bottom:198.688000pt;}
|
||
.y103{bottom:199.360000pt;}
|
||
.y19f{bottom:199.386667pt;}
|
||
.y13f{bottom:199.389333pt;}
|
||
.y1a9{bottom:199.737333pt;}
|
||
.yd9{bottom:199.905333pt;}
|
||
.y1e{bottom:200.682667pt;}
|
||
.y170{bottom:201.610667pt;}
|
||
.y2b{bottom:202.581333pt;}
|
||
.y168{bottom:202.768000pt;}
|
||
.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;}
|
||
.y17e{bottom:208.246667pt;}
|
||
.y81{bottom:211.530667pt;}
|
||
.yc5{bottom:211.772000pt;}
|
||
.y18c{bottom:211.973333pt;}
|
||
.yac{bottom:212.218667pt;}
|
||
.y10{bottom:213.002667pt;}
|
||
.y11f{bottom:213.785333pt;}
|
||
.y195{bottom:213.958667pt;}
|
||
.yba{bottom:214.866667pt;}
|
||
.ya7{bottom:215.634667pt;}
|
||
.y12b{bottom:215.830667pt;}
|
||
.y19e{bottom:216.190667pt;}
|
||
.y10d{bottom:216.641333pt;}
|
||
.y2a{bottom:217.093333pt;}
|
||
.y71{bottom:218.180000pt;}
|
||
.y14b{bottom:218.245333pt;}
|
||
.yb1{bottom:219.462667pt;}
|
||
.y1a8{bottom:220.513333pt;}
|
||
.yfc{bottom:221.844000pt;}
|
||
.y5e{bottom:222.380000pt;}
|
||
.y115{bottom:224.206667pt;}
|
||
.y37{bottom:225.036000pt;}
|
||
.y17d{bottom:225.050667pt;}
|
||
.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;}
|
||
.y19d{bottom:232.994667pt;}
|
||
.y160{bottom:233.402667pt;}
|
||
.y16f{bottom:233.642667pt;}
|
||
.y29{bottom:233.672000pt;}
|
||
.y89{bottom:234.681333pt;}
|
||
.y167{bottom:234.801333pt;}
|
||
.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;}
|
||
.y18b{bottom:241.064000pt;}
|
||
.yfb{bottom:242.620000pt;}
|
||
.y194{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;}
|
||
.y19c{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;}
|
||
.y15f{bottom:254.177333pt;}
|
||
.y16e{bottom:254.418667pt;}
|
||
.y28{bottom:255.456000pt;}
|
||
.y159{bottom:258.656000pt;}
|
||
.ycf{bottom:260.410667pt;}
|
||
.y6e{bottom:261.716000pt;}
|
||
.y18a{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;}
|
||
.y132{bottom:272.418667pt;}
|
||
.y129{bottom:272.624000pt;}
|
||
.y13c{bottom:272.973333pt;}
|
||
.y9f{bottom:273.913333pt;}
|
||
.yaf{bottom:274.297333pt;}
|
||
.y15e{bottom:274.953333pt;}
|
||
.y16d{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;}
|
||
.y189{bottom:320.650667pt;}
|
||
.he{height:29.414982pt;}
|
||
.h15{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;}
|
||
.h14{height:44.122658pt;}
|
||
.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,227.251,null]'>Using Dynamic Libraries</a></li><li><a class="l" href="#pf2e" data-dest-detail='[46,"XYZ",28.346,227.431,null]'>Application Binary Interface (ABI)</a></li><li><a class="l" href="#pf2f" data-dest-detail='[47,"XYZ",28.346,228.21,null]'>Demangling</a></li><li><a class="l" href="#pf30" data-dest-detail='[48,"XYZ",28.346,228.21,null]'>Find Dynamic Library Dependencies</a></li><li><a class="l" href="#pf31" data-dest-detail='[49,"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-02-03</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/47</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/47</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/47</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,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">T<span class="_ _6"></span>able<span class="_ _9"> </span>of<span class="_ _9"> </span>Contents</div><div class="t m0 x5 h8 y1b ff1 fs4 fc2 sc0 ls0 ws0">4<span class="_ _a"> </span><span class="fs2 fc0">Lib<span class="_ _7"></span>ra<span class="_ _7"></span>ries<span class="_ _d"> </span>in<span class="_ _d"> </span>C++</span></div><div class="t m0 x6 h6 y1c ff4 fs4 fc0 sc0 ls0 ws0">Static<span class="_ _b"> </span>Lib<span class="_ _7"></span>rary</div><div class="t m0 x6 h6 y1d ff4 fs4 fc0 sc0 ls0 ws0">Building<span class="_ _b"> </span>Static<span class="_ _b"> </span>Lib<span class="_ _7"></span>raries</div><div class="t m0 x6 h6 y1e ff4 fs4 fc0 sc0 ls0 ws0">Using<span class="_ _b"> </span>Static<span class="_ _b"> </span>Lib<span class="_ _7"></span>raries</div><div class="t m0 x6 h6 y1f ff4 fs4 fc0 sc0 ls0 ws0">Dynamic<span class="_ _b"> </span>Lib<span class="_ _7"></span>rary</div><div class="t m0 x6 h6 y20 ff4 fs4 fc0 sc0 ls0 ws0">Building<span class="_ _b"> </span>Dynamic<span class="_ _b"> </span>Lib<span class="_ _7"></span>raries</div><div class="t m0 x6 h6 y21 ff4 fs4 fc0 sc0 ls0 ws0">Using<span class="_ _b"> </span>Dynamic<span class="_ _b"> </span>Lib<span class="_ _7"></span>raries</div><div class="t m0 x6 h6 y22 ff4 fs4 fc0 sc0 ls0 ws0">Application<span class="_ _b"> </span>Bina<span class="_ _7"></span>ry<span class="_ _b"> </span>Interface<span class="_ _b"> </span>(ABI)</div><div class="t m0 x6 h6 y23 ff4 fs4 fc0 sc0 ls0 ws0">Demangling</div><div class="t m0 x6 h6 y24 ff4 fs4 fc0 sc0 ls0 ws0">Find<span class="_ _b"> </span>Dynamic<span class="_ _b"> </span>Lib<span class="_ _7"></span>rary<span class="_ _b"> </span>Dependencies</div><div class="t m0 x6 h6 y25 ff4 fs4 fc0 sc0 ls0 ws0">Analyze<span class="_ _b"> </span>Object/Executable<span class="_ _b"> </span>Symb<span class="_ _c"></span>ols</div><div class="t m0 x7 h9 yd ff6 fs5 fc0 sc0 ls0 ws0">4/47</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="#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:70.213000px;width:145.484000px;height:11.821000px;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:51.563000px;width:51.335000px;height:10.849000px;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:32.361000px;width:151.709000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf31" data-dest-detail='[49,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom: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/47</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/47</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">"multiple<span class="_ _8"> </span>definitions"<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">"header_A.hpp"<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">"header_A.hpp"<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">"header_B.hpp"</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>"header_A.hpp"</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>"header_B.hpp"</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/47</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/47</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIxElEQVR42u3ZvUkEURSG4bkyB6OLNYiRFYgYC9uCgfXYhB0YWINgYBF2YLTcwPUkY7Cw2fqHu9xhn6eC4bvJy5lydnE1AABAN15fno+sAABAb0QqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAbJTOtAABAPyLCJRUAgO6IVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAADbjSYAmK/WmhG+UGs1AsyUSyoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAcmJKZVgAAoB8R4ZIKAEB3RCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAMAvjCYAgG+11oywTa3VCPw7l1QAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQA4MCUzrQAAQD8iwiUVAIDuiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAESqCQAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAGA/RhP8XGvNCLtTazUCALDmkgoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAOatZKYVAADoR0S4pAIA0B2RCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAAdmucy4e+r1aLm1sPBvPy9PhgBAD+oGSmFQAA6EdE+N0PAEB3RCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAALBX4/Lu1AoMw/B2fW8EAKAH55eLUk6Op+XHMEzTZBAAALrwCSE9LvwSPYfKAAAAAElFTkSuQmCC"/><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/47</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/47</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">"header_B.hpp"</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">"header_C.hpp"</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">"header_A.hpp"</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">"header_A.hpp":<span class="_ _9"> </span><span class="ffa">already<span class="_ _9"> </span></span>included<span class="_ _9"> </span>by<span class="_ _8"> </span>"main.cpp"</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>"A"</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/47</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>"header_B.hpp"</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/47</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/47</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++20’s<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>beginner’s<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/47</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIiklEQVR42u3YsU0DURBF0f1oR0Rf1IAcUQFCjpHcmZugHAKKoANH1o+YZJ05ZiWsHZlzSnjR1Wu71/0EAABlfH99PlgBAIBqRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAAFctM60AAEAdEeFJBQCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAID/bjYBjDGMsFbv3QgA3I4nFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAABsq2WmFQAAqCMiPKkAAJQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkmAABApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAf2I2wX0bYxhhrd67EQBgW55UAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAALCtlplWAACgjojwpAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABWmc/HZyvATZ3eP4wAAL/38nZo7elxOf9M07IsBgEAoIQLOGUgAKSjpuAAAAAASUVORK5CYII="/><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/47</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/47</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIe0lEQVR42u3ZsQkCMRiG4UQuWDqDWFlYi1gJCm7mEu5ioYUb2LiB1ZWGk9hZWx05fZ4FAl/18ifOlusAAADVuF8vIysAAFAbkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAwEfMOVsBAIB6pJRcUgEAqI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApJoAAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAEBvGhN8qetei822n7du55PBAYB/FnPOVgAAoB4pJd/9AABUR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAGJ6mPUytAD/msTsaAYDhmq/2MU7GpX2GUEoxCAAAVXgDMhMdAs+HHt4AAAAASUVORK5CYII="/><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/47</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
|
||
<div id="pf15" class="pf w0 h0" data-page-no="15"><div class="pc pc15 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">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>"A"<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/47</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/47</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><module_name><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><namespace><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><entity><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>{<code>}<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/47</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"><iostream></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"><<<span class="_ _16"> </span><span class="fcd">"Hello<span class="_ _16"> </span>World"</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"><<span class="fc0">iostream</span>><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"><<<span class="_ _16"> </span><span class="fcd">"Hello<span class="_ _16"> </span>World"</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/47</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIdklEQVR42u3YoQ1CMRSG0VfyGlTDDATFBISgSdiMJRgHwRBsgHqpoqY4HAbDfeGcCZq/5stNm91hAACAMO6368IKAABEI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAHhLrTUrAAAQR87ZJRUAgHBEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEA4JfGGb211urDAAC+U0qZ0WtdUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkmAABApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACGk1poVAACII+fskgoAQDgiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAMBn43ReWwH4N4/jxQgAYW33p5RWyz49h6H3bhAAAEJ4AcqVGgJmvTlOAAAAAElFTkSuQmCC"/><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/47</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIj0lEQVR42u3YsU0DQRCG0VvrRkQrarCIqMBCxJbojCYoxwFF0AGRtRGTnDMnJOgky3PovQpW/yafpj0dXicAACjj6/O0swIAANWIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAArlpmWgEAgDoiwiUVAIByRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAOCe5g29dYzhwwAA1um9b+i1LqkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAPivWmZaAQCAOiLCJRUAgHJEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEA4J7mDb11jOHDAADW6b1v6LUuqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQTAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAA+KVlphUAAKgjIlxSAQAoR6QCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAAKXM5/e9FQD+6Pv4YQSAW3t+eWvt8WE5/0zTsiwGAQCghAt3+SAAp17IkwAAAABJRU5ErkJggg=="/><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/47</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIj0lEQVR42u3YsWkDQRCG0Vtxg6PFNQhHrkAIxwJ35iZcjgIX4Q4ciY08ySlTaMyB8Bx+r4Ll3+Rj2tPhZQIAgDI+P847KwAAUI1IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQDgpmWmFQAAqCMiXFIBAChHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAP7SvKG3jjF8GADAOr33Db3WJRUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJFqAgAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAACqaJlpBQAA6ogIl1QAAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgDAvzJv6K1jDB8GALBO731Dr3VJBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAODuWmZaAQCAOiLCJRUAgHJEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4Cfz5W1vBYB7+zq9GwHgl56Pr609PiyX72lalsUgAACUcAXWQyAAOjCJgwAAAABJRU5ErkJggg=="/><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/47</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/47</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>"sub_module"</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/47</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">"my_math.h"</span></div><div class="t m0 x9 hf y100 ff5 fs7 fc6 sc0 ls0 ws0">export<span class="_ _16"> </span>module<span class="_ _16"> </span><span class="ffc fc0">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/47</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/47</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/47</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/47</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>"main_module"</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>"main_module"</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/47</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/47</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAJB0lEQVR42u3ZMYpTURTH4Vx5B6uLaxisrFOIWBskG3MT7iVFLNxBGndgNVzIY04Ti4GpBlQmZM5Lvm8Dufxvih/3tfcfP68AAKCMXz9/vLECAADViFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJ60zLQCAAB1RISXVAAAyhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA4HnTUg56nOf1ZnvFN3HY7/wdAQAetcy0AgAAdUSEz/0AAJQjUgEAEKkAACBSAQBYnGlBZx1juDDgmvTejQDwLC+pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAwFm1zLQCAAB1RISXVAAAyhGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAwD+ZlnLQ4zyvN9srvonDfufvCADwqGWmFQAAqCMifO4HAKAckQoAgEgFAACRCgCASAUAgJeaFnTWMYYLgxvXezcCwC3wkgoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAA/JeWmVYAAKCOiJgWdNwxhjuDV9F7NwIAl+RzPwAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAAHBWLTOtAABAHRHhJRUAgHJEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAFzMt5aDHeV5vtq/y04f9zh8FAOCSWmZaAQCAOiLC534AAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAA3JxpQWcdY7gw4OV670YAKM5LKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAAHBWLTOtAABAHRHhJRUAgHJEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAgNs13X+7swIAXMbvL9+NAH/14dPX1t69Pd0/rFan08kgAACU8Acfq0b2pyI6WwAAAABJRU5ErkJggg=="/><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/47</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/47</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/47</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
|
||
<div id="pf29" class="pf w0 h0" data-page-no="29"><div class="pc pc29 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">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><path_to_library>/library.lib<span class="_ _5"> </span>main.cpp<span class="_ _4"> </span>/OUT:main.exe</span></div><div class="t m0 x1 ha 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"><library_path><span class="_ _5"> </span>main.cpp<span class="_ _4"> </span>-o<span class="_ _4"> </span>main</span></div><div class="t m0 x15 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"><library_path><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/47</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
|
||
<div id="pf2a" class="pf w0 h0" data-page-no="2a"><div class="pc pc2a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">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/47</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/47</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<span class="_ _2b"> </span>1/2</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 x1 h14 y161 ff5 fs3 fc0 sc0 ls0 ws0">Linux<span class="_ _f"> </span><span class="ff4 fs6">Sea<span class="_ _7"></span>rch<span class="_ _f"> </span>fo<span class="_ _7"></span>r<span class="_ _1d"> </span><span class="ffe">.so<span class="_ _1d"> </span></span>files</span></div><div class="t m0 xa h6 y162 ff9 fs4 fc0 sc0 ls0 ws0">•<span class="_ _15"> </span><span class="ffe">LD_LIBRARY_PATH<span class="_ _11"> </span><span class="ff4">environment<span class="_ _b"> </span>va<span class="_ _7"></span>riable</span></span></div><div class="t m0 xa h6 y163 ff9 fs4 fc0 sc0 ls0 ws0">•<span class="_ _15"> </span><span class="ffe">/lib64<span class="_ _11"> </span><span class="ff4">and<span class="_ _11"> </span></span>/usr/lib64</span></div><div class="t m0 xa h6 y164 ff9 fs4 fc0 sc0 ls0 ws0">•<span class="_ _15"> </span><span class="ffe">RPATH<span class="_ _11"> </span><span class="ff4">and<span class="_ _11"> </span></span>RUNPATH<span class="_ _11"> </span><span class="ff4">fields<span class="_ _b"> </span>with<span class="_ _b"> </span>custom<span class="_ _b"> </span>values<span class="_ _b"> </span>emb<span class="_ _c"></span>edded<span class="_ _b"> </span>in<span class="_ _b"> </span>the<span class="_ _b"> </span>executable</span></span></div><div class="t m0 xa h6 y165 ff9 fs4 fc0 sc0 ls0 ws0">•<span class="_ _15"> </span><span class="ffe">/etc/ld.so.cache<span class="_ _11"> </span><span class="ff4">cache<span class="_ _b"> </span>of<span class="_ _b"> </span>lib<span class="_ _7"></span>rary<span class="_ _12"> </span>lo<span class="_ _c"></span>cations<span class="_ _b"> </span>created<span class="_ _b"> </span>by<span class="_ _12"> </span>the<span class="_ _11"> </span><span class="ffe">ldconfig<span class="_ _1d"> </span></span>command.</span></span></div><div class="t m0 x6 h6 y166 ff4 fs4 fc0 sc0 ls0 ws0">Can<span class="_ _b"> </span>b<span class="_ _c"></span>e<span class="_ _b"> </span>inspected<span class="_ _b"> </span>by<span class="_ _11"> </span><span class="ffe">ldconfig<span class="_ _d"> </span>-p</span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">39/47</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
|
||
<div id="pf2d" class="pf w0 h0" data-page-no="2d"><div class="pc pc2d w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Using<span class="_ _9"> </span>Dynamic<span class="_ _16"> </span>Lib<span class="_ _1a"></span>ra<span class="_ _7"></span>ries<span class="_ _2b"> </span>2/2</div><div class="t m0 x1 h14 y167 ff5 fs3 fc0 sc0 ls0 ws0">Windows<span class="_ _f"> </span><span class="ff4 fs6">Sea<span class="_ _7"></span>rch<span class="_ _f"> </span>fo<span class="_ _7"></span>r<span class="_ _1d"> </span><span class="ffe">.dll<span class="_ _1d"> </span></span>files</span></div><div class="t m0 xe ha y168 ff9 fs6 fc0 sc0 ls0 ws0">•<span class="_ _15"> </span><span class="ffe">PATH<span class="_ _1d"> </span><span class="ff4">environment<span class="_ _f"> </span>variable</span></span></div><div class="t m0 xe ha y169 ff9 fs6 fc0 sc0 ls0 ws0">•<span class="_ _5"> </span><span class="ff4">Executable<span class="_ _f"> </span>directo<span class="_ _7"></span>ry<span class="_ _f"> </span>and<span class="_ _f"> </span>current<span class="_ _f"> </span>w<span class="_ _7"></span>orking<span class="_ _b"> </span>directory</span></div><div class="t m0 xe ha y16a ff9 fs6 fc0 sc0 ls0 ws0">•<span class="_ _15"> </span><span class="ffe">%SystemRoot%\System32<span class="_ _12"> </span><span class="ff4">,<span class="_ _1d"> </span></span>%SystemRoot%<span class="_ _1d"> </span><span class="ff4">system<span class="_ _f"> </span>directories</span></span></div><div class="t m0 xe ha y16b ff9 fs6 fc0 sc0 ls0 ws0">•<span class="_ _15"> </span><span class="ffe">HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control</span></div><div class="t m0 xd ha y16c ffe fs6 fc0 sc0 ls0 ws0">\Session<span class="_ _4"> </span>Manager\KnownDLLs<span class="_ _11"> </span><span class="ff4">list<span class="_ _f"> </span>of<span class="_ _f"> </span>known<span class="_ _b"> </span>DLLs</span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">40/47</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
|
||
<div id="pf2e" class="pf w0 h0" data-page-no="2e"><div class="pc pc2e w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">Application<span class="_ _9"> </span>Binary<span class="_ _9"> </span>Interface<span class="_ _9"> </span>(ABI)</div><div class="t m0 x1 ha y16d ff4 fs6 fc0 sc0 ls0 ws0">An<span class="_ _f"> </span><span class="ff1">Application<span class="_ _8"> </span>Bina<span class="_ _7"></span>ry<span class="_ _8"> </span>Interface<span class="_ _8"> </span>(ABI)<span class="_ _f"> </span><span class="ff4">defines<span class="_ _f"> </span>the<span class="_ _f"> </span>low-level<span class="_ _b"> </span>details<span class="_ _f"> </span>of<span class="_ _f"> </span>how<span class="_ _b"> </span>programs</span></span></div><div class="t m0 x1 ha y16e ff4 fs6 fc0 sc0 ls0 ws0">comp<span class="_ _c"></span>osed<span class="_ _f"> </span>of<span class="_ _f"> </span>sepa<span class="_ _7"></span>rately<span class="_ _f"> </span>compiled<span class="_ _f"> </span>mo<span class="_ _c"></span>dules<span class="_ _f"> </span>w<span class="_ _7"></span>o<span class="_ _7"></span>rk<span class="_ _f"> </span>together.<span class="_ _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 y16f ff4 fs6 fc0 sc0 ls0 ws0">functions<span class="_ _f"> </span>a<span class="_ _7"></span>re<span class="_ _f"> </span>called<span class="_ _f"> </span>and<span class="_ _f"> </span>ho<span class="_ _7"></span>w<span class="_ _f"> </span>data<span class="_ _f"> </span>is<span class="_ _f"> </span>exchanged.</div><div class="t m0 x1 ha y170 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _f"> </span><span class="ff1">stable<span class="_ _8"> </span>ABI<span class="_ _f"> </span></span>is<span class="_ _f"> </span>essential<span class="_ _f"> </span>to<span class="_ _f"> </span>up<span class="_ _c"></span>date<span class="_ _f"> </span>the<span class="_ _f"> </span>program’s<span class="_ _b"> </span>shared<span class="_ _b"> </span>libra<span class="_ _1a"></span>ries<span class="_ _f"> </span>without<span class="_ _f"> </span>recompiling</div><div class="t m0 x1 ha y171 ff4 fs6 fc0 sc0 ls0 ws0">all<span class="_ _f"> </span>the<span class="_ _f"> </span>co<span class="_ _c"></span>de</div><div class="t m0 x1 ha y172 ff4 fs6 fc0 sc0 ls0 ws0">Some<span class="_ _f"> </span>examples<span class="_ _f"> </span>of<span class="_ _f"> </span>ABI-b<span class="_ _7"></span>reaking<span class="_ _f"> </span>changes<span class="_ _f"> </span>a<span class="_ _7"></span>re<span class="_ _f"> </span>changing<span class="_ _f"> </span>the<span class="_ _f"> </span>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 y173 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 y174 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 y175 ff4 fs6 fc0 sc0 ls0 ws0">An<span class="_ _f"> </span>ABI<span class="_ _f"> </span>can<span class="_ _f"> </span>b<span class="_ _c"></span>e<span class="_ _f"> </span>also<span class="_ _f"> </span>check<span class="_ _7"></span>ed<span class="_ _f"> </span>across<span class="_ _f"> </span>different<span class="_ _f"> </span>sha<span class="_ _7"></span>red<span class="_ _f"> </span>lib<span class="_ _7"></span>ra<span class="_ _7"></span>ry/header<span class="_ _f"> </span>versions<span class="_ _f"> </span>with</div><div class="t m0 x1 ha y176 ff4 fs6 fc0 sc0 ls0 ws0">sp<span class="_ _c"></span>ecific<span class="_ _f"> </span>to<span class="_ _c"></span>ols,<span class="_ _f"> </span>such<span class="_ _f"> </span>as<span class="_ _f"> </span><span class="ff5">ABI<span class="_ _4"> </span>Compliance<span class="_ _5"> </span>Checker<span class="_ _12"> </span><span class="ff12 fs8"></span></span></div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">41/47</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="pf2f" class="pf w0 h0" data-page-no="2f"><div class="pc pc2f w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x4 h7 y7 ff1 fs3 fc1 sc0 ls0 ws0">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 y177 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 y178 ffc fs7 fc0 sc0 ls0 ws0">_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev</div><div class="t m0 x1 ha y179 ff4 fs6 fc0 sc0 ls0 ws0">After<span class="_ _f"> </span>demangling:</div><div class="t m0 xe hf y17a ffc fs7 fc0 sc0 ls0 ws0">std<span class="fc9">::</span>basic_filebuf<span class="fc9"><<span class="ff5 fc8">char</span></span>,<span class="_ _16"> </span>std<span class="fc9">::</span>char_traits<span class="fc9"><<span class="ff5 fc8">char</span>><span class="_ _16"> </span>>::</span><span class="ff13">∼</span>basic_filebuf()</div><div class="t m0 x1 ha y17b ff1 fs6 fc0 sc0 ls0 ws0">Ho<span class="_ _7"></span>w<span class="_ _8"> </span>to<span class="_ _8"> </span>demangle:<span class="_ _2a"> </span><span class="ffe">echo<span class="_ _4"> </span><name><span class="_ _4"> </span>|<span class="_ _4"> </span><span class="fc7">c++filt</span></span></div><div class="t m0 x1 ha y17c 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">42/47</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="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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIj0lEQVR42u3YsU0DQRCG0Vt0I6IVNSAiKrAsx0juzE1QjgOKoAMiayMmOTKnlhFIc/Z7Fdz9m3ya9rLZTQAAUMbnx/HBCgAAVCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAA4a5lpBQAA6ogIl1QAAMoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAwJ+YV/StYwwPBgDwO733FX2tSyoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACLVBAAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAAOvXMtMKAADUEREuqQAAlCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgDA/5pNwEVjDCPctt67EQAoxSUVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAALhKy0wrAABQR0S4pAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAA3LL5dHi2AgDAKny9vd/Db75u9609PS6n72lalsW7AwBQwg9gaiAAZL+U3gAAAABJRU5ErkJggg=="/><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 y27 ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _f"> </span><span class="ff5 fc7">ldd<span class="_ _f"> </span></span>utilit<span class="_ _7"></span>y<span class="_ _f"> </span>sho<span class="_ _7"></span>ws<span class="_ _f"> </span>the<span class="_ _f"> </span>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 y28 ff4 fs6 fc0 sc0 ls0 ws0">other<span class="_ _f"> </span>sha<span class="_ _7"></span>red<span class="_ _f"> </span>objects</div><div class="t m0 x9 hf y17d 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 y17e 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 y17f ffc fs7 fc0 sc0 ls0 ws0">libselinux.so<span class="fc9">.1<span class="_ _16"> </span>=><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 y180 ffc fs7 fc0 sc0 ls0 ws0">libcap.so<span class="fc9">.2<span class="_ _16"> </span>=><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 y181 ffc fs7 fc0 sc0 ls0 ws0">libc.so<span class="fc9">.6<span class="_ _16"> </span>=><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 y182 ffc fs7 fc0 sc0 ls0 ws0">libpcre.so<span class="fc9">.1<span class="_ _16"> </span>=><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 y183 ffc fs7 fc0 sc0 ls0 ws0">libdl.so<span class="fc9">.2<span class="_ _16"> </span>=><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 y184 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 y185 ffc fs7 fc0 sc0 ls0 ws0">libattr.so<span class="fc9">.1<span class="_ _16"> </span>=><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 y186 ffc fs7 fc0 sc0 ls0 ws0">libpthread.so<span class="fc9">.0<span class="_ _16"> </span>=><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 x1 ha y187 ff4 fs6 fc0 sc0 ls0 ws0">Alternatively<span class="_ _6"></span>,<span class="_ _1d"> </span><span class="ffe">LD_DEBUG=libs<span class="_ _1d"> </span></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>print<span class="_ _b"> </span>search<span class="_ _b"> </span>and<span class="_ _f"> </span>load<span class="_ _f"> </span>paths<span class="_ _f"> </span>of<span class="_ _f"> </span>shared</div><div class="t m0 x1 ha y188 ff4 fs6 fc0 sc0 ls0 ws0">lib<span class="_ _7"></span>ra<span class="_ _7"></span>ries<span class="_ _f"> </span>at<span class="_ _f"> </span>runtime</div><div class="t m0 xf h9 yd ff6 fs5 fc0 sc0 ls0 ws0">43/47</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 h15 y189 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 y18a 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 y18b ff4 fs6 fc0 sc0 ls0 ws0">executable<span class="_ _f"> </span>file</div><div class="t m0 x9 hf y18c 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 y18d ffc fs7 fc0 sc0 ls0 ws0">w<span class="_ _16"> </span>__gmon_start__</div><div class="t m0 x6 hf y18e ffc fs7 fc0 sc0 ls0 ws0">D<span class="_ _16"> </span>__libc_start_main</div><div class="t m0 x6 hf y18f ffc fs7 fc0 sc0 ls0 ws0">D<span class="_ _16"> </span>free</div><div class="t m0 x6 hf y190 ffc fs7 fc0 sc0 ls0 ws0">D<span class="_ _16"> </span>malloc</div><div class="t m0 x6 hf y191 ffc fs7 fc0 sc0 ls0 ws0">D<span class="_ _16"> </span>printf</div><div class="t m0 x9 hf y192 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 y193 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">44/47</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 h15 y189 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 y194 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 y195 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 y196 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 y197 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 y198 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 y199 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 y19a 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 y19b 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">45/47</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAId0lEQVR42u3YsQnCQBiG4ZzksArOIFZOIGItuJlLOI6FQ7iBVbjKa87OWoKQP/A8feD40rz8aXc4dQAAEMbzcV9ZAQCAaEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAABfqdZqBQAA4sg5u6QCABCOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAwn35Bby2l+GEAANMMw7Cg17qkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUk0AAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAMBcUq3VCgAAxJFzdkkFACAckQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgDAz/rxurUCAAB/9zrfpn24P15S2qzb+O661polAQAI4QOgERoC1GDYugAAAABJRU5ErkJggg=="/><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 h15 y189 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 y19c 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 y19d 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 y19e 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 y19f 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 y1a0 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 y1a1 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 y1a2 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 y1a3 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 y1a4 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 y1a5 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 y1a6 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 y1a7 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">46/47</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
|
||
<div id="pf34" class="pf w0 h0" data-page-no="34"><div class="pc pc34 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/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 y1a8 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 y1a9 ffe fs6 fc0 sc0 ls0 ws0">developer<span class="_ _4"> </span>should<span class="_ _5"> </span>know</div><div class="t m0 xe ha y1aa 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 y1ab 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 y1ac 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">47/47</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>
|