1007 lines
587 KiB
HTML
1007 lines
587 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.727000;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:1.000000;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:0.915000;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:1.000000;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.923000;font-style:normal;font-weight:normal;visibility:visible;}
|
||
@font-face{font-family:ff9;src:url('data:application/font-woff;base64,d09GRgABAAAAAAVUAA0AAAAAB8gAAgADAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAFOAAAABoAAAAcpiahMkdERUYAAAUcAAAAHAAAAB4AJwAMT1MvMgAAAaQAAABFAAAAVlVEgL5jbWFwAAACBAAAAEsAAAFSJ1UpWGdhc3AAAAUUAAAACAAAAAj//wADZ2x5ZgAAAmAAAADHAAAA0OLT5choZWFkAAABMAAAADIAAAA2LS8aUmhoZWEAAAFkAAAAIAAAACQFaALqaG10eAAAAewAAAAWAAAAFgXDADhsb2NhAAACUAAAAA4AAAAOAGgAMm1heHAAAAGEAAAAHQAAACAASgAkbmFtZQAAAygAAAG+AAADTjuk55Zwb3N0AAAE6AAAACsAAAA2yvNoxnicY2BkYGBgYjii+kbLL57f5isDN/MLoAjD06bX0XDa4n8500WmGiCXA6gWCAB7EQ1JAAB4nGNgZGBgqvlfzsDAzMUABEwXGVIYJBmQASsAU/sDWHicY2BkYGBgY1BkYGIAARDJyAAScwDzGQAGQgBvAAAAeJxjYGRiZ5zAwMrAwNTFtIdBkaEHRP/vYXzAYMjIBBRlYGVmgAFGIHaAcQLSXFOAlIJSClPN/3KgyhqGTqgaBgAf5AvOAAAAARgAAAAAAAABTQAAAAEAAAMKADgAUwAAeJxjYGBgZoBgGQZGBhDwAfIYwXwWBgMgzQGETEBaQclGKeX/fwTr/+O7J+4uhOoCA0Y2BjiXEaSHiQEVMEKsGlyAlaqmAQA4iAv2AAAAAAAAAAAAAAAAMgBoAAB4nGNgZLBgaGW6yJjPoMDAwCjCpqykrseorMTHxA5im5qYGRuJyzEaG5mZA1lMF2O83EId3bTFtLVlmNjZ+aBc4xBmZm4+Rj/fGh8rHQEle01WIQUw299DioGBgYkh+H850zamGgYJkC2qYFsY1UxNzBmBhoqJirDzMsoxyzAqKyqZGCsybePhYOP+e1VYmEmHm5WDR+jvJyZeNhZ2JsW/9xWVmOR9OXjYGNk4eHm4GNnYeDj42H/+YGZiY9ukoQG0CgAuCyNLAHicrVLLattAFD2j2IZCSRdddFPK3RQSioQsU0OyjIlDTeQEKy7ejmPZFrY1QVIw/oN8TCn9p/5Ij0bTLrxoN5XQ3HPPfcw9MwJwiu9QaJ6vf7DCG/XRYQ8dNXD4BJH64XAL77y3Drdx6n1xuEP+hZmq9YreN1tVY4UPqu2wh9fqs8MnWKiRwy0E6qfDbbz3PjncQeDNMIDBEw4okGGFNSoIIoR8e/D5NviC7JxZgisEXEfQeMSGtXuUtBk5jRwLGwsQ26yxjTeZdcYZ/dx2SrmTxhZLesauD+RmtFMkuMaEq+CG9o7MPb1zdsTAPB2KbLWuJArDnu9zvZD5Qa4CGenHjdmXm0x0vpBREAcyNnuSmZyZXObpWm+XYpbykM5kmlxPErmZ3E3vk3P2veXAMQeqOFZCmTuOaDheiS7F4zaOdbVODru52ZZdErWwglm1BIxNsdO0Q6uusrbgWab2JAM2EFzy+/smPrWmrHomo1nf1PTJd90tRPQwNHk1NMUqlSgI5VKORvMn6ep5qwtG+n6X5xP1/6XueONjtb9b1r9yynjJq2yusRFX/yjCYFqUGQ+aY4U9+W+b/gI24JTlAAB4nGNgYmD4//Hb7v9NDBoM2AAbEDMyMDEwMzIxTGEvzszNzEksAgAOsQjoAAAAAAH//wACeJxjYGRgYOABYjEgZmJgBEJWIGYB8xgAA9UANHicY2BgYGQAgtsKp6pB9NOm19EwGgBODgecAAA=')format("woff");}.ff9{font-family:ff9;line-height:0.773000;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.922000;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:1.000000;font-style:normal;font-weight:normal;visibility:visible;}
|
||
@font-face{font-family:ffc;src:url('data:application/font-woff;base64,d09GRgABAAAAAATAAA0AAAAABtgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEpAAAABoAAAAcpiahOEdERUYAAASIAAAAGwAAAB4AJwALT1MvMgAAAZwAAAA/AAAAVlVXVldjbWFwAAAB8AAAAEYAAAFKzKIgqGdhc3AAAASAAAAACAAAAAj//wADZ2x5ZgAAAkQAAADSAAAA4MubV/JoZWFkAAABMAAAADAAAAA2LgwbO2hoZWEAAAFgAAAAGQAAACQHQgPuaG10eAAAAdwAAAAUAAAAFAcqAD5sb2NhAAACOAAAAAwAAAAMACgAmG1heHAAAAF8AAAAHQAAACAASQBDbmFtZQAAAxgAAAFGAAACZKcJF/pwb3N0AAAEYAAAAB4AAAA0TLakpHicY2BkYGBgZHBUn3I5L57f5isDN/MLoAjD06bXccg08wvmSCDFwcAE4gEAW9ALhnicY2BkYGCOZAAC5hdQkpEBFbACADPuAjoAAAB4nGNgZGBgYGVwYGBiAAEQycgAEnMA8xkACS4AjQAAAHicY2Bk/MI4gYGVgYGpi2kPAwNDD4RmfMBgyMgEFGVgZWaAAUYBBgQISHNNAVIKz8KZI0F8CMnACCIA6SYJUgAB9AA+AAAAAAFNAAAAAQAAA+gAAHicY2BgYGaAYBkGRgYQcAHyGMF8FgYNIM0GpBkZmBgUnoX//w/kg+n/jyXXQtUDASMbA5zDyAQkmBhQASPEiuEMACjNCjEAAAAAABQAFAAUABQAcHicHcsxCsJAEIXhmSxMJAHDxmw6hRg3lopuYiEaIUewskkRW3ttPIC9d7C38BxWNmIlgmcQWVwzxcCD/wML5gB4YStgYANMxjxmPOL7zyfH3dx6fF9s9T0BWGCOvU0nITdCBBRH3STlKhtHozYGZpHgQWhWNkOVTXEUtripugNEMi9J1QT7Sd2HzC8LPSzKssAD53or01TiVSqn0Ws4N+E13UofqUk5EW7WjvCw7QlcnmtxLUq/5yuph392tl0X7/rpidrQgsg2qHI6QsAPxO4tjgAAeJyNkD1Ow0AQhd/mT4JIiAKlnorOxnbhIlRWoqShChIlYMkrJ1LijdZRopTcAHEKREHFAag4F8+blUhBEVur+Wbn7+0AuMAnFA7fDZ49K/Tx7rmFLr49t3Gtrjx30Ff3nru4VC+ee7z/YKbqnNF7dFUNKwzw6rmFc3x5buMOP547GKhbz12IevLc4/0bRjBYYw+LBUrMsYFgjBxbaNKUVKFgXJAgQowUITnDkr8cVdXO07SatqkumImRWe/topxvZJxvtUzzqthLEsVpKNlyKS5Ui9W1tltdsGBCPRX7Zdi5bgYrWkxMtcl2ujYrOjN32yjDzKzy6q+qsZaKtNMbUrFgyPN/10MsRcB3Be59CT03a2JsqSUJIxnK0Wx6aRAHSZSkp0l9cOuouaYmVziiWWLorTBB23phKomiOOSRk9r+AvZ2Z2sAAHicY2BiwA9YgZiRgYmBmZGJvTQv09XM1BwAC8ICSwAAAAAAAf//AAJ4nGNgZGBg4AFiMSBmYmAEQhYwBvEYAAPKADMAeJxjYGBgZACC2wqnqkH006bXcTAaAE4sB6IAAA==')format("woff");}.ffc{font-family:ffc;line-height:0.857000;font-style:normal;font-weight:normal;visibility:visible;}
|
||
@font-face{font-family:ffd;src:url('data:application/font-woff;base64,d09GRgABAAAAAAR0AA0AAAAABpgAAgAEAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEWAAAABoAAAAcpiahRkdERUYAAAQ8AAAAGwAAAB4AJwALT1MvMgAAAaAAAAA/AAAAVlOT/ftjbWFwAAAB9AAAAEoAAAFKQDjm4Wdhc3AAAAQ0AAAACAAAAAj//wADZ2x5ZgAAAkwAAAAcAAAAHIYLTYdoZWFkAAABMAAAADMAAAA2LUUav2hoZWEAAAFkAAAAHAAAACQDuAMlaG10eAAAAeAAAAAUAAAAFAWFAP9sb2NhAAACQAAAAAwAAAAMAAAADm1heHAAAAGAAAAAHQAAACAASAAHbmFtZQAAAmgAAAGpAAAC7loVo4hwb3N0AAAEFAAAAB0AAAAs/5sAr3icY2BkYGBgYmTjz3I8F89v85WBm/kFUIThadPrVDj9n6GESZFxGpDLwcAEEgUATg0LzQB4nGNgZGBgnMYABMzyIJJJkYGRARWwAgAYlwDkeJxjYGRgYGBlYGEA0QwMTEDMCGY7gPkMAAM7AFAAAAB4nGNgZJzAOIGBlYGBqYtpDwMDQw+EZnzAYMjIBBRlYGVmAIMGoCADEghIc00BUgoKSozTQHwICVEDAM9DCNkAARgAAAAAAAABTQAAAAEAAAMfAP94nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYFBSU/v8H8sH0/8f3H0HVAwEjGwOcw8gEJJgYUAEjxIoBByy0MxoADBMJOgAAAAAAAAAAAAAAAAAOAAEA/wB0AiEBlgADAAAlIREhAiH+3gEidAEiAHiclVLBTttAEH1rklSVqtALN0BzhFa2jEGR4AgiSBEJKE4Q1w1sEivBG9lBUf6gH1P10k/pJ/AjvKxXlcgNrzzz5u3b2ZmxATTxBwrV8/AfK3xRex4HaKifHu/gh/rlcQ276p/HdTQD5XEDu0FMpap9ZfTbndpghaaqexzgmzrweAcDlXhcw6H663Ed++rN4wYOg++4gsUCaxTIMMEUSwgSxFynCLkqfE52RJXgEhFtBxpPmPHsCiV9Rk4jx7Pbi9B1qp7br5QbxRHj3GUyvEljjjEj6+yA3CP9ECmu0acV3NDfkblndMyMuLKLdZFNpktJ4vg0DGnPZbSWy0g6+mlmV+UsE50/SyfqRtKzK5KZHNlcRmaq52OxYxmYRxmm1/1Ubvp3w/v0mHlvWXDqGijZKm67qc5Lgk0DBV5cqejZ4kXTt10XS+cLzsy4iUWckuCC78dkIXswVL0yhaa+0rTIn/jpJozQtvmybYuJkSSK5UJ8CWHfTF7nuiDTCk/Yb9Larnb7Amwd3fyChnzJT1CNvyo2xhkxHkxRZhwQr43P5NPJ3wGgEnw1AAAAeJxjYGIAg/8TGNQYsAFWIGZkYGJgZmgHAD3MAkoAAAAAAAAB//8AAnicY2BkYGDgAWIxIGZiYARCFjAG8RgAA8oAMwB4nGNgYGBkAILbCqeqQfTTptepMBoATnIHsAAA')format("woff");}.ffd{font-family:ffd;line-height:0.290000;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.922000;font-style:normal;font-weight:normal;visibility:visible;}
|
||
@font-face{font-family:fff;src:url('data:application/font-woff;base64,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')format("woff");}.fff{font-family:fff;line-height:0.922000;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;}
|
||
._13{margin-left:-9.121653px;}
|
||
._3{margin-left:-5.537550px;}
|
||
._7{margin-left:-4.399514px;}
|
||
._d{margin-left:-3.307583px;}
|
||
._5{margin-left:-1.291162px;}
|
||
._c{width:1.115811px;}
|
||
._0{width:3.073600px;}
|
||
._1c{width:9.850628px;}
|
||
._14{width:12.102847px;}
|
||
._b{width:13.270183px;}
|
||
._11{width:14.574558px;}
|
||
._6{width:15.589581px;}
|
||
._8{width:17.550234px;}
|
||
._10{width:19.374562px;}
|
||
._a{width:20.572454px;}
|
||
._e{width:21.665954px;}
|
||
._f{width:23.061356px;}
|
||
._1b{width:24.979815px;}
|
||
._15{width:26.351631px;}
|
||
._22{width:28.140130px;}
|
||
._4{width:31.241700px;}
|
||
._9{width:32.422412px;}
|
||
._16{width:33.774574px;}
|
||
._1{width:36.288314px;}
|
||
._12{width:38.392965px;}
|
||
._2{width:40.911750px;}
|
||
._29{width:50.899769px;}
|
||
._28{width:67.993084px;}
|
||
._1a{width:94.147200px;}
|
||
._19{width:131.806080px;}
|
||
._27{width:134.869959px;}
|
||
._20{width:207.857925px;}
|
||
._21{width:225.408158px;}
|
||
._1e{width:376.588800px;}
|
||
._1f{width:489.020318px;}
|
||
._25{width:688.189133px;}
|
||
._24{width:712.099533px;}
|
||
._26{width:748.969370px;}
|
||
._1d{width:1134.978867px;}
|
||
._18{width:1240.222785px;}
|
||
._23{width:1267.633766px;}
|
||
._17{width:1368.726938px;}
|
||
.fc8{color:rgb(176,0,64);}
|
||
.fc6{color:rgb(61,122,122);}
|
||
.fc5{color:rgb(186,33,33);}
|
||
.fc9{color:rgb(0,0,255);}
|
||
.fc4{color:rgb(0,128,0);}
|
||
.fca{color:transparent;}
|
||
.fc3{color:rgb(57,75,79);}
|
||
.fc7{color:rgb(102,102,102);}
|
||
.fc2{color:rgb(255,255,255);}
|
||
.fc1{color:rgb(250,250,250);}
|
||
.fc0{color:rgb(35,55,59);}
|
||
.fs8{font-size:23.910400px;}
|
||
.fs5{font-size:31.880400px;}
|
||
.fs7{font-size:35.865600px;}
|
||
.fs3{font-size:39.850400px;}
|
||
.fs6{font-size:43.636400px;}
|
||
.fs2{font-size:47.820800px;}
|
||
.fs4{font-size:57.384800px;}
|
||
.fs1{font-size:82.650000px;}
|
||
.fs0{font-size:99.148400px;}
|
||
.y0{bottom:-0.500000px;}
|
||
.y6c{bottom:6.014000px;}
|
||
.yba{bottom:6.176000px;}
|
||
.y60{bottom:6.224000px;}
|
||
.y55{bottom:7.512000px;}
|
||
.y4b{bottom:7.972000px;}
|
||
.y111{bottom:8.002000px;}
|
||
.y28{bottom:8.829000px;}
|
||
.y88{bottom:9.227000px;}
|
||
.yfa{bottom:10.408000px;}
|
||
.yb3{bottom:10.876000px;}
|
||
.y4e{bottom:12.226000px;}
|
||
.y10{bottom:13.018000px;}
|
||
.y33{bottom:19.553000px;}
|
||
.y6b{bottom:19.613000px;}
|
||
.y73{bottom:20.387000px;}
|
||
.y110{bottom:20.605000px;}
|
||
.y87{bottom:23.823000px;}
|
||
.y4d{bottom:24.829000px;}
|
||
.yb2{bottom:25.472000px;}
|
||
.y108{bottom:27.997000px;}
|
||
.y5f{bottom:31.459000px;}
|
||
.y9f{bottom:33.092000px;}
|
||
.yd9{bottom:33.466000px;}
|
||
.yf{bottom:35.599000px;}
|
||
.y72{bottom:35.968000px;}
|
||
.yf3{bottom:36.058000px;}
|
||
.y13b{bottom:36.499000px;}
|
||
.y32{bottom:38.123000px;}
|
||
.y3a{bottom:38.812000px;}
|
||
.y19{bottom:40.233000px;}
|
||
.ya9{bottom:41.959000px;}
|
||
.y107{bottom:43.578000px;}
|
||
.y7c{bottom:45.343000px;}
|
||
.y130{bottom:45.866000px;}
|
||
.y5e{bottom:47.040000px;}
|
||
.y54{bottom:47.690000px;}
|
||
.y9e{bottom:48.674000px;}
|
||
.yc1{bottom:50.493000px;}
|
||
.y5{bottom:51.081000px;}
|
||
.yf2{bottom:51.640000px;}
|
||
.y13a{bottom:52.081000px;}
|
||
.y4a{bottom:52.136000px;}
|
||
.y27{bottom:52.773000px;}
|
||
.y69{bottom:53.078000px;}
|
||
.ycd{bottom:54.248000px;}
|
||
.ya8{bottom:54.562000px;}
|
||
.y123{bottom:54.690000px;}
|
||
.ye{bottom:54.802000px;}
|
||
.y42{bottom:55.953000px;}
|
||
.y31{bottom:56.694000px;}
|
||
.y12f{bottom:56.750000px;}
|
||
.y119{bottom:57.879000px;}
|
||
.yd8{bottom:58.672000px;}
|
||
.y106{bottom:59.160000px;}
|
||
.y18{bottom:59.436000px;}
|
||
.ye2{bottom:60.273000px;}
|
||
.y6a{bottom:60.545000px;}
|
||
.y7b{bottom:60.925000px;}
|
||
.ye9{bottom:61.384000px;}
|
||
.yb9{bottom:61.904000px;}
|
||
.y53{bottom:63.272000px;}
|
||
.yb1{bottom:65.800000px;}
|
||
.ycb{bottom:65.979000px;}
|
||
.yc0{bottom:66.075000px;}
|
||
.y82{bottom:66.225000px;}
|
||
.ycc{bottom:66.602000px;}
|
||
.yf1{bottom:67.221000px;}
|
||
.y12e{bottom:67.634000px;}
|
||
.y139{bottom:67.662000px;}
|
||
.y49{bottom:67.717000px;}
|
||
.y4{bottom:67.756000px;}
|
||
.y9d{bottom:68.240000px;}
|
||
.y39{bottom:68.341000px;}
|
||
.y68{bottom:68.660000px;}
|
||
.y100{bottom:70.472000px;}
|
||
.y95{bottom:71.178000px;}
|
||
.yd7{bottom:71.274000px;}
|
||
.y41{bottom:71.534000px;}
|
||
.y30{bottom:72.275000px;}
|
||
.y71{bottom:72.699000px;}
|
||
.ye1{bottom:72.876000px;}
|
||
.y26{bottom:73.336000px;}
|
||
.y118{bottom:73.460000px;}
|
||
.yd{bottom:74.005000px;}
|
||
.y90{bottom:74.360000px;}
|
||
.y5d{bottom:76.569000px;}
|
||
.yb8{bottom:77.486000px;}
|
||
.y122{bottom:78.459000px;}
|
||
.y12d{bottom:78.518000px;}
|
||
.yca{bottom:78.582000px;}
|
||
.y17{bottom:78.639000px;}
|
||
.y52{bottom:78.853000px;}
|
||
.ya7{bottom:79.767000px;}
|
||
.y105{bottom:80.719000px;}
|
||
.y10f{bottom:80.858000px;}
|
||
.yb0{bottom:81.381000px;}
|
||
.y81{bottom:81.806000px;}
|
||
.ye8{bottom:82.943000px;}
|
||
.y48{bottom:83.299000px;}
|
||
.yd6{bottom:83.877000px;}
|
||
.ye0{bottom:85.478000px;}
|
||
.yf9{bottom:85.954000px;}
|
||
.y94{bottom:86.760000px;}
|
||
.y8f{bottom:86.963000px;}
|
||
.y40{bottom:87.116000px;}
|
||
.y9c{bottom:87.807000px;}
|
||
.y117{bottom:89.042000px;}
|
||
.y138{bottom:89.221000px;}
|
||
.y12c{bottom:89.402000px;}
|
||
.y2f{bottom:90.846000px;}
|
||
.yc9{bottom:91.184000px;}
|
||
.ya6{bottom:92.121000px;}
|
||
.y5c{bottom:92.151000px;}
|
||
.yc{bottom:93.208000px;}
|
||
.y25{bottom:93.899000px;}
|
||
.yff{bottom:94.023000px;}
|
||
.y121{bottom:94.041000px;}
|
||
.y104{bottom:96.300000px;}
|
||
.y10e{bottom:96.439000px;}
|
||
.yd5{bottom:96.480000px;}
|
||
.yf0{bottom:96.750000px;}
|
||
.yaf{bottom:96.963000px;}
|
||
.y67{bottom:97.247000px;}
|
||
.y80{bottom:97.388000px;}
|
||
.y16{bottom:97.842000px;}
|
||
.y38{bottom:97.870000px;}
|
||
.y47{bottom:98.880000px;}
|
||
.y8e{bottom:99.316000px;}
|
||
.ybf{bottom:100.062000px;}
|
||
.y12b{bottom:100.286000px;}
|
||
.y7a{bottom:101.413000px;}
|
||
.yf8{bottom:101.535000px;}
|
||
.y3f{bottom:102.697000px;}
|
||
.yb7{bottom:103.030000px;}
|
||
.y1d{bottom:103.095000px;}
|
||
.y9b{bottom:103.388000px;}
|
||
.yc8{bottom:103.787000px;}
|
||
.y137{bottom:104.803000px;}
|
||
.ye7{bottom:106.967000px;}
|
||
.y5b{bottom:107.732000px;}
|
||
.y70{bottom:108.205000px;}
|
||
.yd4{bottom:109.082000px;}
|
||
.yfe{bottom:109.605000px;}
|
||
.y2e{bottom:110.387000px;}
|
||
.ydf{bottom:110.683000px;}
|
||
.y12a{bottom:111.170000px;}
|
||
.y10d{bottom:112.021000px;}
|
||
.yef{bottom:112.332000px;}
|
||
.yb{bottom:112.411000px;}
|
||
.y66{bottom:112.828000px;}
|
||
.y7f{bottom:112.969000px;}
|
||
.ya5{bottom:113.416000px;}
|
||
.y50{bottom:114.105000px;}
|
||
.y93{bottom:114.297000px;}
|
||
.y24{bottom:114.462000px;}
|
||
.ybe{bottom:115.644000px;}
|
||
.y79{bottom:116.994000px;}
|
||
.y15{bottom:117.045000px;}
|
||
.yf7{bottom:117.117000px;}
|
||
.y103{bottom:117.859000px;}
|
||
.yae{bottom:117.999000px;}
|
||
.yb6{bottom:118.611000px;}
|
||
.y116{bottom:120.040000px;}
|
||
.y136{bottom:120.384000px;}
|
||
.y8d{bottom:120.611000px;}
|
||
.y1f{bottom:121.063000px;}
|
||
.yd3{bottom:121.685000px;}
|
||
.y51{bottom:121.997000px;}
|
||
.y129{bottom:122.055000px;}
|
||
.y1c{bottom:122.298000px;}
|
||
.yde{bottom:123.286000px;}
|
||
.y5a{bottom:123.314000px;}
|
||
.y6f{bottom:123.787000px;}
|
||
.y86{bottom:124.424000px;}
|
||
.y120{bottom:126.230000px;}
|
||
.y37{bottom:127.400000px;}
|
||
.yee{bottom:127.913000px;}
|
||
.y65{bottom:128.410000px;}
|
||
.y7e{bottom:128.551000px;}
|
||
.y9a{bottom:128.933000px;}
|
||
.yc7{bottom:128.992000px;}
|
||
.y4f{bottom:129.686000px;}
|
||
.y3e{bottom:129.711000px;}
|
||
.y4c{bottom:130.043000px;}
|
||
.y3{bottom:131.133000px;}
|
||
.ya{bottom:131.614000px;}
|
||
.y2d{bottom:131.921000px;}
|
||
.y78{bottom:132.576000px;}
|
||
.y128{bottom:132.690000px;}
|
||
.yf6{bottom:132.698000px;}
|
||
.yfd{bottom:133.156000px;}
|
||
.y8c{bottom:133.214000px;}
|
||
.y102{bottom:133.441000px;}
|
||
.yad{bottom:133.580000px;}
|
||
.yd2{bottom:134.288000px;}
|
||
.y46{bottom:134.387000px;}
|
||
.y23{bottom:135.025000px;}
|
||
.y115{bottom:135.622000px;}
|
||
.ydd{bottom:135.889000px;}
|
||
.ye6{bottom:135.974000px;}
|
||
.y14{bottom:136.248000px;}
|
||
.y96{bottom:138.248000px;}
|
||
.ya4{bottom:138.621000px;}
|
||
.y59{bottom:138.895000px;}
|
||
.y6e{bottom:139.368000px;}
|
||
.y85{bottom:140.006000px;}
|
||
.yc5{bottom:140.723000px;}
|
||
.ybd{bottom:141.188000px;}
|
||
.yc6{bottom:141.346000px;}
|
||
.y1b{bottom:141.501000px;}
|
||
.y92{bottom:141.833000px;}
|
||
.y10c{bottom:143.020000px;}
|
||
.yed{bottom:143.495000px;}
|
||
.y64{bottom:143.991000px;}
|
||
.yb5{bottom:144.155000px;}
|
||
.y135{bottom:144.409000px;}
|
||
.y99{bottom:144.514000px;}
|
||
.y3d{bottom:145.292000px;}
|
||
.y8b{bottom:145.817000px;}
|
||
.yd1{bottom:146.890000px;}
|
||
.y77{bottom:148.157000px;}
|
||
.ydc{bottom:148.242000px;}
|
||
.y45{bottom:149.969000px;}
|
||
.y11f{bottom:150.000000px;}
|
||
.y2c{bottom:150.492000px;}
|
||
.y9{bottom:150.817000px;}
|
||
.ya3{bottom:150.975000px;}
|
||
.y114{bottom:151.203000px;}
|
||
.ye5{bottom:151.555000px;}
|
||
.y127{bottom:152.017000px;}
|
||
.yc4{bottom:153.326000px;}
|
||
.y6d{bottom:154.950000px;}
|
||
.y101{bottom:154.975000px;}
|
||
.y1e{bottom:155.434000px;}
|
||
.y13{bottom:155.450000px;}
|
||
.y22{bottom:155.587000px;}
|
||
.y36{bottom:156.929000px;}
|
||
.yfc{bottom:157.181000px;}
|
||
.y8a{bottom:158.419000px;}
|
||
.y10b{bottom:158.601000px;}
|
||
.yec{bottom:159.076000px;}
|
||
.y134{bottom:159.990000px;}
|
||
.y58{bottom:160.429000px;}
|
||
.yac{bottom:160.594000px;}
|
||
.y1a{bottom:160.704000px;}
|
||
.yf5{bottom:161.704000px;}
|
||
.y11c{bottom:161.762000px;}
|
||
.y76{bottom:163.739000px;}
|
||
.y44{bottom:165.550000px;}
|
||
.yc3{bottom:165.928000px;}
|
||
.ybc{bottom:166.732000px;}
|
||
.y113{bottom:166.785000px;}
|
||
.ye4{bottom:167.137000px;}
|
||
.y126{bottom:167.599000px;}
|
||
.y2{bottom:169.036000px;}
|
||
.y2b{bottom:169.062000px;}
|
||
.ydb{bottom:169.288000px;}
|
||
.y3c{bottom:169.317000px;}
|
||
.y91{bottom:169.370000px;}
|
||
.yb4{bottom:169.699000px;}
|
||
.y8{bottom:170.020000px;}
|
||
.y98{bottom:170.058000px;}
|
||
.y89{bottom:170.773000px;}
|
||
.y84{bottom:171.169000px;}
|
||
.ya2{bottom:172.021000px;}
|
||
.yd0{bottom:172.096000px;}
|
||
.yfb{bottom:172.763000px;}
|
||
.y7d{bottom:174.020000px;}
|
||
.y12{bottom:174.653000px;}
|
||
.y63{bottom:175.513000px;}
|
||
.y133{bottom:175.572000px;}
|
||
.y57{bottom:176.011000px;}
|
||
.y21{bottom:176.150000px;}
|
||
.yf4{bottom:177.286000px;}
|
||
.y11b{bottom:177.344000px;}
|
||
.y11e{bottom:179.006000px;}
|
||
.y75{bottom:179.320000px;}
|
||
.y10a{bottom:179.637000px;}
|
||
.y43{bottom:181.132000px;}
|
||
.yab{bottom:181.630000px;}
|
||
.y112{bottom:182.366000px;}
|
||
.ye3{bottom:182.718000px;}
|
||
.y125{bottom:183.180000px;}
|
||
.yda{bottom:184.870000px;}
|
||
.y3b{bottom:184.899000px;}
|
||
.y97{bottom:185.640000px;}
|
||
.y35{bottom:186.458000px;}
|
||
.y83{bottom:186.750000px;}
|
||
.ya1{bottom:187.602000px;}
|
||
.y2a{bottom:187.632000px;}
|
||
.yeb{bottom:188.606000px;}
|
||
.y1{bottom:189.658000px;}
|
||
.ybb{bottom:190.757000px;}
|
||
.yc2{bottom:190.885000px;}
|
||
.y62{bottom:191.094000px;}
|
||
.y132{bottom:191.153000px;}
|
||
.y56{bottom:191.592000px;}
|
||
.y11a{bottom:192.925000px;}
|
||
.y11{bottom:193.856000px;}
|
||
.y11d{bottom:194.588000px;}
|
||
.y74{bottom:194.902000px;}
|
||
.y109{bottom:195.219000px;}
|
||
.y20{bottom:196.713000px;}
|
||
.yaa{bottom:197.211000px;}
|
||
.ycf{bottom:197.301000px;}
|
||
.y124{bottom:198.761000px;}
|
||
.y7{bottom:200.427000px;}
|
||
.y34{bottom:202.039000px;}
|
||
.ya0{bottom:203.184000px;}
|
||
.yea{bottom:204.187000px;}
|
||
.y61{bottom:206.676000px;}
|
||
.y131{bottom:206.735000px;}
|
||
.y29{bottom:207.174000px;}
|
||
.yce{bottom:209.655000px;}
|
||
.y6{bottom:236.149000px;}
|
||
.hf{height:22.124998px;}
|
||
.h8{height:23.910300px;}
|
||
.hb{height:24.890726px;}
|
||
.h9{height:27.576477px;}
|
||
.h5{height:29.887800px;}
|
||
.hc{height:30.196389px;}
|
||
.hd{height:30.283662px;}
|
||
.ha{height:32.727300px;}
|
||
.he{height:33.091994px;}
|
||
.h4{height:33.187635px;}
|
||
.h6{height:35.865600px;}
|
||
.h7{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;}
|
||
.x12{left:7.284000px;}
|
||
.x1a{left:8.474000px;}
|
||
.x3{left:10.667000px;}
|
||
.xc{left:13.190000px;}
|
||
.x9{left:17.727000px;}
|
||
.x10{left:22.468000px;}
|
||
.x18{left:26.642000px;}
|
||
.x1{left:28.346000px;}
|
||
.x14{left:31.383000px;}
|
||
.x21{left:32.730000px;}
|
||
.x4{left:34.488000px;}
|
||
.x8{left:36.225000px;}
|
||
.x15{left:37.543000px;}
|
||
.x1d{left:39.087000px;}
|
||
.x23{left:41.049000px;}
|
||
.x22{left:45.283000px;}
|
||
.xb{left:47.553000px;}
|
||
.x5{left:50.486000px;}
|
||
.x11{left:53.153000px;}
|
||
.xf{left:58.852000px;}
|
||
.x20{left:67.225000px;}
|
||
.xa{left:73.178000px;}
|
||
.x1f{left:74.972000px;}
|
||
.x1e{left:76.167000px;}
|
||
.x1b{left:91.399000px;}
|
||
.x16{left:98.085000px;}
|
||
.x17{left:101.074000px;}
|
||
.x7{left:106.772000px;}
|
||
.xe{left:118.010000px;}
|
||
.x13{left:142.917000px;}
|
||
.x19{left:145.906000px;}
|
||
.x1c{left:162.842000px;}
|
||
.x2{left:378.705000px;}
|
||
.xd{left:424.403000px;}
|
||
.x6{left:428.637000px;}
|
||
@media print{
|
||
.v0{vertical-align:0.000000pt;}
|
||
.ls0{letter-spacing:0.000000pt;}
|
||
.ws0{word-spacing:0.000000pt;}
|
||
._13{margin-left:-12.162204pt;}
|
||
._3{margin-left:-7.383400pt;}
|
||
._7{margin-left:-5.866018pt;}
|
||
._d{margin-left:-4.410111pt;}
|
||
._5{margin-left:-1.721549pt;}
|
||
._c{width:1.487748pt;}
|
||
._0{width:4.098134pt;}
|
||
._1c{width:13.134171pt;}
|
||
._14{width:16.137129pt;}
|
||
._b{width:17.693578pt;}
|
||
._11{width:19.432743pt;}
|
||
._6{width:20.786108pt;}
|
||
._8{width:23.400311pt;}
|
||
._10{width:25.832749pt;}
|
||
._a{width:27.429939pt;}
|
||
._e{width:28.887939pt;}
|
||
._f{width:30.748474pt;}
|
||
._1b{width:33.306420pt;}
|
||
._15{width:35.135508pt;}
|
||
._22{width:37.520173pt;}
|
||
._4{width:41.655600pt;}
|
||
._9{width:43.229883pt;}
|
||
._16{width:45.032765pt;}
|
||
._1{width:48.384419pt;}
|
||
._12{width:51.190620pt;}
|
||
._2{width:54.549000pt;}
|
||
._29{width:67.866358pt;}
|
||
._28{width:90.657445pt;}
|
||
._1a{width:125.529600pt;}
|
||
._19{width:175.741440pt;}
|
||
._27{width:179.826612pt;}
|
||
._20{width:277.143900pt;}
|
||
._21{width:300.544211pt;}
|
||
._1e{width:502.118400pt;}
|
||
._1f{width:652.027091pt;}
|
||
._25{width:917.585510pt;}
|
||
._24{width:949.466044pt;}
|
||
._26{width:998.625826pt;}
|
||
._1d{width:1513.305156pt;}
|
||
._18{width:1653.630380pt;}
|
||
._23{width:1690.178355pt;}
|
||
._17{width:1824.969250pt;}
|
||
.fs8{font-size:31.880533pt;}
|
||
.fs5{font-size:42.507200pt;}
|
||
.fs7{font-size:47.820800pt;}
|
||
.fs3{font-size:53.133867pt;}
|
||
.fs6{font-size:58.181867pt;}
|
||
.fs2{font-size:63.761067pt;}
|
||
.fs4{font-size:76.513067pt;}
|
||
.fs1{font-size:110.200000pt;}
|
||
.fs0{font-size:132.197867pt;}
|
||
.y0{bottom:-0.666667pt;}
|
||
.y6c{bottom:8.018667pt;}
|
||
.yba{bottom:8.234667pt;}
|
||
.y60{bottom:8.298667pt;}
|
||
.y55{bottom:10.016000pt;}
|
||
.y4b{bottom:10.629333pt;}
|
||
.y111{bottom:10.669333pt;}
|
||
.y28{bottom:11.772000pt;}
|
||
.y88{bottom:12.302667pt;}
|
||
.yfa{bottom:13.877333pt;}
|
||
.yb3{bottom:14.501333pt;}
|
||
.y4e{bottom:16.301333pt;}
|
||
.y10{bottom:17.357333pt;}
|
||
.y33{bottom:26.070667pt;}
|
||
.y6b{bottom:26.150667pt;}
|
||
.y73{bottom:27.182667pt;}
|
||
.y110{bottom:27.473333pt;}
|
||
.y87{bottom:31.764000pt;}
|
||
.y4d{bottom:33.105333pt;}
|
||
.yb2{bottom:33.962667pt;}
|
||
.y108{bottom:37.329333pt;}
|
||
.y5f{bottom:41.945333pt;}
|
||
.y9f{bottom:44.122667pt;}
|
||
.yd9{bottom:44.621333pt;}
|
||
.yf{bottom:47.465333pt;}
|
||
.y72{bottom:47.957333pt;}
|
||
.yf3{bottom:48.077333pt;}
|
||
.y13b{bottom:48.665333pt;}
|
||
.y32{bottom:50.830667pt;}
|
||
.y3a{bottom:51.749333pt;}
|
||
.y19{bottom:53.644000pt;}
|
||
.ya9{bottom:55.945333pt;}
|
||
.y107{bottom:58.104000pt;}
|
||
.y7c{bottom:60.457333pt;}
|
||
.y130{bottom:61.154667pt;}
|
||
.y5e{bottom:62.720000pt;}
|
||
.y54{bottom:63.586667pt;}
|
||
.y9e{bottom:64.898667pt;}
|
||
.yc1{bottom:67.324000pt;}
|
||
.y5{bottom:68.108000pt;}
|
||
.yf2{bottom:68.853333pt;}
|
||
.y13a{bottom:69.441333pt;}
|
||
.y4a{bottom:69.514667pt;}
|
||
.y27{bottom:70.364000pt;}
|
||
.y69{bottom:70.770667pt;}
|
||
.ycd{bottom:72.330667pt;}
|
||
.ya8{bottom:72.749333pt;}
|
||
.y123{bottom:72.920000pt;}
|
||
.ye{bottom:73.069333pt;}
|
||
.y42{bottom:74.604000pt;}
|
||
.y31{bottom:75.592000pt;}
|
||
.y12f{bottom:75.666667pt;}
|
||
.y119{bottom:77.172000pt;}
|
||
.yd8{bottom:78.229333pt;}
|
||
.y106{bottom:78.880000pt;}
|
||
.y18{bottom:79.248000pt;}
|
||
.ye2{bottom:80.364000pt;}
|
||
.y6a{bottom:80.726667pt;}
|
||
.y7b{bottom:81.233333pt;}
|
||
.ye9{bottom:81.845333pt;}
|
||
.yb9{bottom:82.538667pt;}
|
||
.y53{bottom:84.362667pt;}
|
||
.yb1{bottom:87.733333pt;}
|
||
.ycb{bottom:87.972000pt;}
|
||
.yc0{bottom:88.100000pt;}
|
||
.y82{bottom:88.300000pt;}
|
||
.ycc{bottom:88.802667pt;}
|
||
.yf1{bottom:89.628000pt;}
|
||
.y12e{bottom:90.178667pt;}
|
||
.y139{bottom:90.216000pt;}
|
||
.y49{bottom:90.289333pt;}
|
||
.y4{bottom:90.341333pt;}
|
||
.y9d{bottom:90.986667pt;}
|
||
.y39{bottom:91.121333pt;}
|
||
.y68{bottom:91.546667pt;}
|
||
.y100{bottom:93.962667pt;}
|
||
.y95{bottom:94.904000pt;}
|
||
.yd7{bottom:95.032000pt;}
|
||
.y41{bottom:95.378667pt;}
|
||
.y30{bottom:96.366667pt;}
|
||
.y71{bottom:96.932000pt;}
|
||
.ye1{bottom:97.168000pt;}
|
||
.y26{bottom:97.781333pt;}
|
||
.y118{bottom:97.946667pt;}
|
||
.yd{bottom:98.673333pt;}
|
||
.y90{bottom:99.146667pt;}
|
||
.y5d{bottom:102.092000pt;}
|
||
.yb8{bottom:103.314667pt;}
|
||
.y122{bottom:104.612000pt;}
|
||
.y12d{bottom:104.690667pt;}
|
||
.yca{bottom:104.776000pt;}
|
||
.y17{bottom:104.852000pt;}
|
||
.y52{bottom:105.137333pt;}
|
||
.ya7{bottom:106.356000pt;}
|
||
.y105{bottom:107.625333pt;}
|
||
.y10f{bottom:107.810667pt;}
|
||
.yb0{bottom:108.508000pt;}
|
||
.y81{bottom:109.074667pt;}
|
||
.ye8{bottom:110.590667pt;}
|
||
.y48{bottom:111.065333pt;}
|
||
.yd6{bottom:111.836000pt;}
|
||
.ye0{bottom:113.970667pt;}
|
||
.yf9{bottom:114.605333pt;}
|
||
.y94{bottom:115.680000pt;}
|
||
.y8f{bottom:115.950667pt;}
|
||
.y40{bottom:116.154667pt;}
|
||
.y9c{bottom:117.076000pt;}
|
||
.y117{bottom:118.722667pt;}
|
||
.y138{bottom:118.961333pt;}
|
||
.y12c{bottom:119.202667pt;}
|
||
.y2f{bottom:121.128000pt;}
|
||
.yc9{bottom:121.578667pt;}
|
||
.ya6{bottom:122.828000pt;}
|
||
.y5c{bottom:122.868000pt;}
|
||
.yc{bottom:124.277333pt;}
|
||
.y25{bottom:125.198667pt;}
|
||
.yff{bottom:125.364000pt;}
|
||
.y121{bottom:125.388000pt;}
|
||
.y104{bottom:128.400000pt;}
|
||
.y10e{bottom:128.585333pt;}
|
||
.yd5{bottom:128.640000pt;}
|
||
.yf0{bottom:129.000000pt;}
|
||
.yaf{bottom:129.284000pt;}
|
||
.y67{bottom:129.662667pt;}
|
||
.y80{bottom:129.850667pt;}
|
||
.y16{bottom:130.456000pt;}
|
||
.y38{bottom:130.493333pt;}
|
||
.y47{bottom:131.840000pt;}
|
||
.y8e{bottom:132.421333pt;}
|
||
.ybf{bottom:133.416000pt;}
|
||
.y12b{bottom:133.714667pt;}
|
||
.y7a{bottom:135.217333pt;}
|
||
.yf8{bottom:135.380000pt;}
|
||
.y3f{bottom:136.929333pt;}
|
||
.yb7{bottom:137.373333pt;}
|
||
.y1d{bottom:137.460000pt;}
|
||
.y9b{bottom:137.850667pt;}
|
||
.yc8{bottom:138.382667pt;}
|
||
.y137{bottom:139.737333pt;}
|
||
.ye7{bottom:142.622667pt;}
|
||
.y5b{bottom:143.642667pt;}
|
||
.y70{bottom:144.273333pt;}
|
||
.yd4{bottom:145.442667pt;}
|
||
.yfe{bottom:146.140000pt;}
|
||
.y2e{bottom:147.182667pt;}
|
||
.ydf{bottom:147.577333pt;}
|
||
.y12a{bottom:148.226667pt;}
|
||
.y10d{bottom:149.361333pt;}
|
||
.yef{bottom:149.776000pt;}
|
||
.yb{bottom:149.881333pt;}
|
||
.y66{bottom:150.437333pt;}
|
||
.y7f{bottom:150.625333pt;}
|
||
.ya5{bottom:151.221333pt;}
|
||
.y50{bottom:152.140000pt;}
|
||
.y93{bottom:152.396000pt;}
|
||
.y24{bottom:152.616000pt;}
|
||
.ybe{bottom:154.192000pt;}
|
||
.y79{bottom:155.992000pt;}
|
||
.y15{bottom:156.060000pt;}
|
||
.yf7{bottom:156.156000pt;}
|
||
.y103{bottom:157.145333pt;}
|
||
.yae{bottom:157.332000pt;}
|
||
.yb6{bottom:158.148000pt;}
|
||
.y116{bottom:160.053333pt;}
|
||
.y136{bottom:160.512000pt;}
|
||
.y8d{bottom:160.814667pt;}
|
||
.y1f{bottom:161.417333pt;}
|
||
.yd3{bottom:162.246667pt;}
|
||
.y51{bottom:162.662667pt;}
|
||
.y129{bottom:162.740000pt;}
|
||
.y1c{bottom:163.064000pt;}
|
||
.yde{bottom:164.381333pt;}
|
||
.y5a{bottom:164.418667pt;}
|
||
.y6f{bottom:165.049333pt;}
|
||
.y86{bottom:165.898667pt;}
|
||
.y120{bottom:168.306667pt;}
|
||
.y37{bottom:169.866667pt;}
|
||
.yee{bottom:170.550667pt;}
|
||
.y65{bottom:171.213333pt;}
|
||
.y7e{bottom:171.401333pt;}
|
||
.y9a{bottom:171.910667pt;}
|
||
.yc7{bottom:171.989333pt;}
|
||
.y4f{bottom:172.914667pt;}
|
||
.y3e{bottom:172.948000pt;}
|
||
.y4c{bottom:173.390667pt;}
|
||
.y3{bottom:174.844000pt;}
|
||
.ya{bottom:175.485333pt;}
|
||
.y2d{bottom:175.894667pt;}
|
||
.y78{bottom:176.768000pt;}
|
||
.y128{bottom:176.920000pt;}
|
||
.yf6{bottom:176.930667pt;}
|
||
.yfd{bottom:177.541333pt;}
|
||
.y8c{bottom:177.618667pt;}
|
||
.y102{bottom:177.921333pt;}
|
||
.yad{bottom:178.106667pt;}
|
||
.yd2{bottom:179.050667pt;}
|
||
.y46{bottom:179.182667pt;}
|
||
.y23{bottom:180.033333pt;}
|
||
.y115{bottom:180.829333pt;}
|
||
.ydd{bottom:181.185333pt;}
|
||
.ye6{bottom:181.298667pt;}
|
||
.y14{bottom:181.664000pt;}
|
||
.y96{bottom:184.330667pt;}
|
||
.ya4{bottom:184.828000pt;}
|
||
.y59{bottom:185.193333pt;}
|
||
.y6e{bottom:185.824000pt;}
|
||
.y85{bottom:186.674667pt;}
|
||
.yc5{bottom:187.630667pt;}
|
||
.ybd{bottom:188.250667pt;}
|
||
.yc6{bottom:188.461333pt;}
|
||
.y1b{bottom:188.668000pt;}
|
||
.y92{bottom:189.110667pt;}
|
||
.y10c{bottom:190.693333pt;}
|
||
.yed{bottom:191.326667pt;}
|
||
.y64{bottom:191.988000pt;}
|
||
.yb5{bottom:192.206667pt;}
|
||
.y135{bottom:192.545333pt;}
|
||
.y99{bottom:192.685333pt;}
|
||
.y3d{bottom:193.722667pt;}
|
||
.y8b{bottom:194.422667pt;}
|
||
.yd1{bottom:195.853333pt;}
|
||
.y77{bottom:197.542667pt;}
|
||
.ydc{bottom:197.656000pt;}
|
||
.y45{bottom:199.958667pt;}
|
||
.y11f{bottom:200.000000pt;}
|
||
.y2c{bottom:200.656000pt;}
|
||
.y9{bottom:201.089333pt;}
|
||
.ya3{bottom:201.300000pt;}
|
||
.y114{bottom:201.604000pt;}
|
||
.ye5{bottom:202.073333pt;}
|
||
.y127{bottom:202.689333pt;}
|
||
.yc4{bottom:204.434667pt;}
|
||
.y6d{bottom:206.600000pt;}
|
||
.y101{bottom:206.633333pt;}
|
||
.y1e{bottom:207.245333pt;}
|
||
.y13{bottom:207.266667pt;}
|
||
.y22{bottom:207.449333pt;}
|
||
.y36{bottom:209.238667pt;}
|
||
.yfc{bottom:209.574667pt;}
|
||
.y8a{bottom:211.225333pt;}
|
||
.y10b{bottom:211.468000pt;}
|
||
.yec{bottom:212.101333pt;}
|
||
.y134{bottom:213.320000pt;}
|
||
.y58{bottom:213.905333pt;}
|
||
.yac{bottom:214.125333pt;}
|
||
.y1a{bottom:214.272000pt;}
|
||
.yf5{bottom:215.605333pt;}
|
||
.y11c{bottom:215.682667pt;}
|
||
.y76{bottom:218.318667pt;}
|
||
.y44{bottom:220.733333pt;}
|
||
.yc3{bottom:221.237333pt;}
|
||
.ybc{bottom:222.309333pt;}
|
||
.y113{bottom:222.380000pt;}
|
||
.ye4{bottom:222.849333pt;}
|
||
.y126{bottom:223.465333pt;}
|
||
.y2{bottom:225.381333pt;}
|
||
.y2b{bottom:225.416000pt;}
|
||
.ydb{bottom:225.717333pt;}
|
||
.y3c{bottom:225.756000pt;}
|
||
.y91{bottom:225.826667pt;}
|
||
.yb4{bottom:226.265333pt;}
|
||
.y8{bottom:226.693333pt;}
|
||
.y98{bottom:226.744000pt;}
|
||
.y89{bottom:227.697333pt;}
|
||
.y84{bottom:228.225333pt;}
|
||
.ya2{bottom:229.361333pt;}
|
||
.yd0{bottom:229.461333pt;}
|
||
.yfb{bottom:230.350667pt;}
|
||
.y7d{bottom:232.026667pt;}
|
||
.y12{bottom:232.870667pt;}
|
||
.y63{bottom:234.017333pt;}
|
||
.y133{bottom:234.096000pt;}
|
||
.y57{bottom:234.681333pt;}
|
||
.y21{bottom:234.866667pt;}
|
||
.yf4{bottom:236.381333pt;}
|
||
.y11b{bottom:236.458667pt;}
|
||
.y11e{bottom:238.674667pt;}
|
||
.y75{bottom:239.093333pt;}
|
||
.y10a{bottom:239.516000pt;}
|
||
.y43{bottom:241.509333pt;}
|
||
.yab{bottom:242.173333pt;}
|
||
.y112{bottom:243.154667pt;}
|
||
.ye3{bottom:243.624000pt;}
|
||
.y125{bottom:244.240000pt;}
|
||
.yda{bottom:246.493333pt;}
|
||
.y3b{bottom:246.532000pt;}
|
||
.y97{bottom:247.520000pt;}
|
||
.y35{bottom:248.610667pt;}
|
||
.y83{bottom:249.000000pt;}
|
||
.ya1{bottom:250.136000pt;}
|
||
.y2a{bottom:250.176000pt;}
|
||
.yeb{bottom:251.474667pt;}
|
||
.y1{bottom:252.877333pt;}
|
||
.ybb{bottom:254.342667pt;}
|
||
.yc2{bottom:254.513333pt;}
|
||
.y62{bottom:254.792000pt;}
|
||
.y132{bottom:254.870667pt;}
|
||
.y56{bottom:255.456000pt;}
|
||
.y11a{bottom:257.233333pt;}
|
||
.y11{bottom:258.474667pt;}
|
||
.y11d{bottom:259.450667pt;}
|
||
.y74{bottom:259.869333pt;}
|
||
.y109{bottom:260.292000pt;}
|
||
.y20{bottom:262.284000pt;}
|
||
.yaa{bottom:262.948000pt;}
|
||
.ycf{bottom:263.068000pt;}
|
||
.y124{bottom:265.014667pt;}
|
||
.y7{bottom:267.236000pt;}
|
||
.y34{bottom:269.385333pt;}
|
||
.ya0{bottom:270.912000pt;}
|
||
.yea{bottom:272.249333pt;}
|
||
.y61{bottom:275.568000pt;}
|
||
.y131{bottom:275.646667pt;}
|
||
.y29{bottom:276.232000pt;}
|
||
.yce{bottom:279.540000pt;}
|
||
.y6{bottom:314.865333pt;}
|
||
.hf{height:29.499997pt;}
|
||
.h8{height:31.880400pt;}
|
||
.hb{height:33.187635pt;}
|
||
.h9{height:36.768636pt;}
|
||
.h5{height:39.850400pt;}
|
||
.hc{height:40.261852pt;}
|
||
.hd{height:40.378215pt;}
|
||
.ha{height:43.636400pt;}
|
||
.he{height:44.122658pt;}
|
||
.h4{height:44.250180pt;}
|
||
.h6{height:47.820800pt;}
|
||
.h7{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;}
|
||
.x12{left:9.712000pt;}
|
||
.x1a{left:11.298667pt;}
|
||
.x3{left:14.222667pt;}
|
||
.xc{left:17.586667pt;}
|
||
.x9{left:23.636000pt;}
|
||
.x10{left:29.957333pt;}
|
||
.x18{left:35.522667pt;}
|
||
.x1{left:37.794667pt;}
|
||
.x14{left:41.844000pt;}
|
||
.x21{left:43.640000pt;}
|
||
.x4{left:45.984000pt;}
|
||
.x8{left:48.300000pt;}
|
||
.x15{left:50.057333pt;}
|
||
.x1d{left:52.116000pt;}
|
||
.x23{left:54.732000pt;}
|
||
.x22{left:60.377333pt;}
|
||
.xb{left:63.404000pt;}
|
||
.x5{left:67.314667pt;}
|
||
.x11{left:70.870667pt;}
|
||
.xf{left:78.469333pt;}
|
||
.x20{left:89.633333pt;}
|
||
.xa{left:97.570667pt;}
|
||
.x1f{left:99.962667pt;}
|
||
.x1e{left:101.556000pt;}
|
||
.x1b{left:121.865333pt;}
|
||
.x16{left:130.780000pt;}
|
||
.x17{left:134.765333pt;}
|
||
.x7{left:142.362667pt;}
|
||
.xe{left:157.346667pt;}
|
||
.x13{left:190.556000pt;}
|
||
.x19{left:194.541333pt;}
|
||
.x1c{left:217.122667pt;}
|
||
.x2{left:504.940000pt;}
|
||
.xd{left:565.870667pt;}
|
||
.x6{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="#pf5" data-dest-detail='[5,"XYZ",28.346,255.118,null]'>Binary Size Introduction</a></li><li><a class="l" href="#pfa" data-dest-detail='[10,"XYZ",28.346,255.118,null]'>Compiler and Linker Techniques</a><ul><li><a class="l" href="#pfc" data-dest-detail='[12,"XYZ",28.346,228.21,null]'>Optimization Flags</a></li><li><a class="l" href="#pfe" data-dest-detail='[14,"XYZ",28.346,228.21,null]'>Debugging and Runtime Information Flags</a></li><li><a class="l" href="#pff" data-dest-detail='[15,"XYZ",28.346,228.21,null]'>Symbol Visibility</a></li><li><a class="l" href="#pf10" data-dest-detail='[16,"XYZ",28.346,228.21,null]'>Exceptions Flags</a></li><li><a class="l" href="#pf11" data-dest-detail='[17,"XYZ",28.346,228.21,null]'>Linker Flags</a></li><li><a class="l" href="#pf14" data-dest-detail='[20,"XYZ",28.346,228.21,null]'>Link-Time Optimization (LTO)</a></li><li><a class="l" href="#pf15" data-dest-detail='[21,"XYZ",28.346,191.819,null]'>CMake Support</a></li></ul></li><li><a class="l" href="#pf17" data-dest-detail='[23,"XYZ",28.346,255.118,null]'>Coding Aspects</a><ul><li><a class="l" href="#pf18" data-dest-detail='[24,"XYZ",28.346,228.21,null]'>Function Inlining</a></li><li><a class="l" href="#pf19" data-dest-detail='[25,"XYZ",28.346,224.22,null]'>Function Visibility</a></li><li><a class="l" href="#pf1a" data-dest-detail='[26,"XYZ",28.346,228.21,null]'>Templates</a></li><li><a class="l" href="#pf20" data-dest-detail='[32,"XYZ",28.346,203.754,null]'>Static Storage Duration</a></li><li><a class="l" href="#pf21" data-dest-detail='[33,"XYZ",28.346,228.21,null]'>Linkage</a></li><li><a class="l" href="#pf22" data-dest-detail='[34,"XYZ",28.346,228.21,null]'>Polymorphic classes</a></li><li><a class="l" href="#pf23" data-dest-detail='[35,"XYZ",28.346,193.799,null]'>Exceptions</a></li><li><a class="l" href="#pf24" data-dest-detail='[36,"XYZ",28.346,228.21,null]'>Header Inclusion</a></li></ul></li><li><a class="l" href="#pf28" data-dest-detail='[40,"XYZ",28.346,255.118,null]'>Binary Size Tools</a><ul><li><a class="l" href="#pf29" data-dest-detail='[41,"XYZ",28.346,215.624,null]'>nm and objdump</a></li><li><a class="l" href="#pf2a" data-dest-detail='[42,"XYZ",28.346,219.798,null]'>Bloaty</a></li><li><a class="l" href="#pf2b" data-dest-detail='[43,"XYZ",28.346,227.771,null]'>Executable Packer</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">28.<span class="_ _2"> </span>Binar<span class="_ _3"></span>y<span class="_ _4"> </span>Size</div><div class="t m0 x1 h4 y4 ff3 fs2 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>ederico<span class="_ _6"> </span>Busato</div><div class="t m0 x2 h5 y5 ff4 fs3 fc0 sc0 ls0 ws0">2026-01-06</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
|
||
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x4 h7 y7 ff1 fs3 fc2 sc0 ls0 ws0">1<span class="_ _9"> </span><span class="fs4 fc0">Bina<span class="_ _5"></span>ry<span class="_ _a"> </span>Size<span class="_ _a"> </span>Intro<span class="_ _0"></span>duction</span></div><div class="t m0 x4 h7 y8 ff1 fs3 fc2 sc0 ls0 ws0">2<span class="_ _9"> </span><span class="fs4 fc0">Compiler<span class="_ _a"> </span>and<span class="_ _a"> </span>Linker<span class="_ _a"> </span>T<span class="_ _3"></span>echniques</span></div><div class="t m0 x5 h5 y9 ff4 fs3 fc0 sc0 ls0 ws0">Optimization<span class="_ _b"> </span>Flags</div><div class="t m0 x5 h5 ya ff4 fs3 fc0 sc0 ls0 ws0">Debugging<span class="_ _b"> </span>and<span class="_ _b"> </span>R<span class="_ _5"></span>untime<span class="_ _b"> </span>Information<span class="_ _b"> </span>Flags</div><div class="t m0 x5 h5 yb ff4 fs3 fc0 sc0 ls0 ws0">Symb<span class="_ _c"></span>ol<span class="_ _b"> </span>Visibilit<span class="_ _5"></span>y</div><div class="t m0 x5 h5 yc ff4 fs3 fc0 sc0 ls0 ws0">Exceptions<span class="_ _b"> </span>Flags</div><div class="t m0 x5 h5 yd ff4 fs3 fc0 sc0 ls0 ws0">Link<span class="_ _5"></span>er<span class="_ _b"> </span>Flags</div><div class="t m0 x5 h5 ye ff4 fs3 fc0 sc0 ls0 ws0">Link-Time<span class="_ _b"> </span>Optimization<span class="_ _b"> </span>(L<span class="_ _d"></span>TO)</div><div class="t m0 x5 h5 yf ff4 fs3 fc0 sc0 ls0 ws0">CMak<span class="_ _5"></span>e<span class="_ _b"> </span>Supp<span class="_ _c"></span>ort</div><div class="t m0 x6 h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">1/38</div><a class="l" href="#pf5" data-dest-detail='[5,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:47.076000px;bottom:196.642000px;width:161.732000px;height:14.744000px;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:47.076000px;bottom:166.234000px;width:212.553000px;height:14.744000px;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:147.883000px;width:80.932000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pfe" data-dest-detail='[14,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:128.680000px;width:179.036000px;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:109.477000px;width:71.565000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><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:49.490000px;bottom:90.274000px;width:71.426000px;height:10.849000px;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:71.071000px;width:52.304000px;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:51.315000px;width:131.659000px;height:11.821000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf15" data-dest-detail='[21,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:32.666000px;width:67.165000px;height:10.848000px;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 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x4 h7 y11 ff1 fs3 fc2 sc0 ls0 ws0">3<span class="_ _9"> </span><span class="fs4 fc0">Co<span class="_ _c"></span>ding<span class="_ _e"> </span>Asp<span class="_ _c"></span>ects</span></div><div class="t m0 x5 h5 y12 ff4 fs3 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _b"> </span>Inlining</div><div class="t m0 x5 h5 y13 ff4 fs3 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _b"> </span>Visibility</div><div class="t m0 x5 h5 y14 ff4 fs3 fc0 sc0 ls0 ws0">T<span class="_ _d"></span>emplates</div><div class="t m0 x5 h5 y15 ff4 fs3 fc0 sc0 ls0 ws0">Static<span class="_ _b"> </span>Sto<span class="_ _5"></span>rage<span class="_ _b"> </span>Duration</div><div class="t m0 x5 h5 y16 ff4 fs3 fc0 sc0 ls0 ws0">Linkage</div><div class="t m0 x5 h5 y17 ff4 fs3 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>olymorphic<span class="_ _b"> </span>classes</div><div class="t m0 x5 h5 y18 ff4 fs3 fc0 sc0 ls0 ws0">Exceptions</div><div class="t m0 x5 h5 y19 ff4 fs3 fc0 sc0 ls0 ws0">Header<span class="_ _b"> </span>Inclusion</div><div class="t m0 x6 h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">2/38</div><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:47.076000px;bottom:190.071000px;width:104.571000px;height:14.744000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf18" data-dest-detail='[24,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:171.720000px;width:71.870000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf19" data-dest-detail='[25,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:152.517000px;width:76.962000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf1a" data-dest-detail='[26,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:133.314000px;width:44.444000px;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:114.111000px;width:101.037000px;height:10.848000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf21" data-dest-detail='[33,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:94.908000px;width:33.984000px;height:10.849000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="#pf22" data-dest-detail='[34,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:49.490000px;bottom:75.705000px;width:83.963000px;height:10.849000px;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:49.490000px;bottom:56.502000px;width:46.464000px;height:10.849000px;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:39.237000px;width:70.762000px;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 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>able<span class="_ _8"> </span>of<span class="_ _8"> </span>Contents</div><div class="t m0 x4 h7 y1a ff1 fs3 fc2 sc0 ls0 ws0">4<span class="_ _9"> </span><span class="fs4 fc0">Bina<span class="_ _5"></span>ry<span class="_ _a"> </span>Size<span class="_ _a"> </span>T<span class="_ _3"></span>o<span class="_ _0"></span>ols</span></div><div class="t m0 x5 h5 y1b ff6 fs3 fc0 sc0 ls0 ws0">nm<span class="_ _b"> </span><span class="ff4">and<span class="_ _b"> </span></span>objdump</div><div class="t m0 x5 h9 y1c ff6 fs3 fc0 sc0 ls0 ws0">Bloaty</div><div class="t m0 x5 h5 y1d ff4 fs3 fc0 sc0 ls0 ws0">Executable<span class="_ _b"> </span>P<span class="_ _5"></span>acker</div><div class="t m0 x6 h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">3/38</div><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:47.076000px;bottom:156.918000px;width:116.095000px;height:14.745000px;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:138.348000px;width:70.790000px;height:11.068000px;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:119.145000px;width:33.374000px;height:10.123000px;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:102.099000px;width:77.930000px;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="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 x7 h2 y1e ff1 fs0 fc0 sc0 ls0 ws0">Bina<span class="_ _d"></span>ry<span class="_ _1"> </span>Size</div><div class="t m0 x7 h2 y1f ff1 fs0 fc0 sc0 ls0 ws0">Intro<span class="_ _0"></span>duction</div><a class="l" href="#pf5" data-dest-detail='[5,"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="#pf5" data-dest-detail='[5,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:120.066000px;width:141.557000px;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="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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P42t8YM+rs/A4MGDr7nmmmeffXbjxo1jx4697bbblFKrVq1KpVIzZszQWo8fP76mpiaK402bN1908UV//4UvtHd03Hb77S+vXPnhhR/5++uvI8We51177bXZbPafvnLT3f/2P4th8cNnf7izs/O+++7bsXOn1vr+++9/8skn3dSC8vLya6655pVXXlm3bl1NTc3nP/95lzXjOJ43b97kyZM9z7vlllsWX3rpM88+e/vXv751+7bFf3PpGWfOj6wJUslEKvmRhQs3NjQ8smxZFMeXXX55pqzsQGPj8qefjo0pFAo/+I8f7ms8sGDBgk984hPZfO4fvvSle3/4g2Kx+KGzz47jOJ1Ovz1r+smE0rpUyGQiX3u93T1NjY3pVHr8+PELFiyYM2fOihUrjkmo7grkxBNPXL169c9//vMNGzYsWrTIzWRIpVLTpk179dVXf/SjH7W1tb3lp1nEpdsh1UOqqga/+IcXl/z0J7t27T37wx+JrVFKnX7GGalM5oknnvz5z38eWzNxwkmpZEYpr7q6+uyzz25sbPzVr371hz/8Yfz48eeccw4joQIcT7XUWNgyWRZRxIp9S2kT1A0dfYauHG2Sg0OdMp4fsbUqEiow5xUXmM17VHFYPBblqqPC1rqtv4lJtJvk359T+/cJZyE27BfIy4nKGs5bFVplrdZ58ooqxZn6IaPnh97wokobzYpiz3rKaiEWxtkGIRWO/SXUfXtBuSOsbaqCppx8ok7T+Ys+9ujTj7ab1hxnU5T2wkTM0ea9DafPnT+hZpImT0RxrObNO1WRN378xDAfR8WISNfVnDhj2kmr33iJSZFNi5jYdq/e8FLF0KqTT/sAJ+24yfVWF4QjYiLpn43+tjTgln7fc8/3n3zyieXLl4vIpEmTGhsbe3p68vn8hg0b3EDz6tffONLaRlb61uswad87acrk3Xv33L/kx08/+8zd//Y/3fosYRpZN3L4iJp9B/aXl5dXV1c3NjYOHz583rx5xzyua95JRJ2dnTt37ozj2FVwu7q6oih67bXXampqZs+eLSKTJ0/euXPnjh07SunKtcRiVmEY3nbbbc8888yvfvUrYcqUl1VUDnp99RuRiU+cMD5dlpkybary9CuvvSpMs2fPttY2NjcNrRne0tKSz+enTJ3i+74wxXE8dOjQefPmMfM999zzn//5n51dna+99lp7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2oF9+8QaIhFjXn3llY6jRzuPHm3YsOHXy5a99NIfRKzve2vXrMn19rYeOry5oeG5Z59d8fvntVJRFDYeOHCkrW3f3r1bNm/et3evGNPS1LR182YbxyyS7enZtnXr5oYGJk4lE3t379m5fUf70aO+1mvXrCZrmw8eXLN69S8ffLC56aC1NorCtrbWXbt2uYpmHMdtba0bN2wIwzCKoi2bNx9qad69c9fmhk0HDxx48YUXjra1dbS3b25oePGFF3737HNugm+p9jlgRF764iYRESulWahYLBzYt+9IW2vgeR3tR19Z+fKOrdtIRDNz334uoogUc+OBAz1dXWStq5cfbmkRY1iku6urq6PDzQPI9vYePHgwn88zc2mRQ3v70Z7uLhbq7ux48fnn2dqDB5uEhJl37tqxZs3qjRs37Ny54+Q5s5saG4+2tZooamluOtLaauN4/969L654vq31sFiD4RuA44WVyPfIGjIUJCunUnJ8rAIh1we7f22T+08UC7MwCbNNigqNl7NSUV9W8cpvPv25K0556bWth7t6DCshn01gtREOSXqIo0h5Q4dWLFowYc3qxjWbmtkGmpKsfaFiwMoavzeZ94QVe8aSUr5I32w2ZZUWj0k0kbJMTDHHNsrb/N4EpeOYRb/XeL/u329PMbu+fkyklbLGsFKGhLhvC0cXxt3/vtsd3vSPX8IPzPucULXGtqjvvxE1oyLFwlaLNcpOObe+utb796//9JZ/vbkjbKkdOTyKpaO7qyvbI1Y86/uF4Lx55111yVUJThpKkEq89vrK+tq60bWjhZkVt3Y1eQl7z0//bc3W9RJQZELFRlRIfhRLUUkmwxWfuuSK+5cuadnVsf/VVmXSsRf6se92r3uzJqqUG70tDZffc889jY2N3/3ud92cRbdayPd9NwPSdYlKJpNuVY0r47mdh0q3dC08S8vPSyPI7iu2f29P19nKjZ6X/snNPWClvCA444wzzj333Nra2paWlptvvtlNZGTmoL+tvVJKa+32X3X9rdwN3PImVyR2dxgEQbFYdPFu4Oor95fSd7mhbdfK3r2o0lN1m1q5Hv6lhfNKKXebUk3a3aEb93czQUvj464a6h6o9Nrd83T7srrv6jsCzKWHcIvDEomE/HF9mkqbpron4+6z9C4cU0cv/RiUtrAqraUrvcwgCNxrD8PQFZLdN7q7DcPQ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P/nkU9PspkTEW/IvfvGLG66/zrEt13UlEkhMp9OWlciJO77vC6T83JxJEydOOPvsPz/80J133qmN8QNPCEEGBCrP85SUQeBLKSzL6tKx0+zZs1uVFgtUmUwmZtvsdvRcl001PXt0KysrGzli5AMPPPDAAw8AgP6BDNK2rCDwicywI4eorM8XELStlBBi8KCBvucqpZSygiZPIuzlFvRjX9CPPczQPzZ9vvVYoi3bdl23rKzMaB23Ha114PuJWLxH9+61tbWZTCYej38bTccf1cgf113//P4SUgZBAER5OTkSQaIgIs/3hAB7t8jp3UgXECIKYYiPfIAYj8cbk0mhZDweI6MtIV9/5ZXi4mL2RDtKWZblZjLsrW9VUnz+5HPHnTa2/4ABBCSlMMYAid0aSyQkBr43cODAp/7yZMyxOT6YjZRaBySMkjhk8MAjBg585ZVXp06dKqSQUmptfD9wYrFMJqMsAWQoCGK2RToAIiVEq6KiYcOGvvrq66EDqsWSSWSUkogwoP/h7du0EU1NQgAgg0DAbSYNAEpJQcQrcBD4CERGo8DmvU77JKkCyFLYrWuPZ556srCwMJFINDY2KimJNBBoY7p06tiudesxJ57YsV27e++9VypJgSHKGpj5ZIsIqI2UEgQkk/XRThkhwnebsaIu2D8Y8a432myvM1rHbIeIHn300fnz589/+2+vv/76ggULpk+f/u9jaiKiVqWl991336JFi95888233nrrrbfeGj58eBAEmUxmXw8uRMZ1k6lUTU2N67oaSFgKEV9/840WZlQpRHFx8c0333z11VcjCt/TQEIHBCTisZzAN4FvEKQUFgGwQ/n888//4x//GIs5nOIWBrlKpaSUUsqDDz74qaeeKigo4HZybBwAGGMcx3FdVylVXV3DmS7XXnvtFVdcwYEBP8TGLFzXZavMsKHDmkejcipVv379SktLw8C4eDz+Q2/xE1utpEymUsqyNn/zDQr0jTYIiNiYbFyzdi1br8MAx/0JWdqNmJefFwZZ2rYtpSSDe/sXJrDz6M2GXCtpjAmCICcWf+SRR4qKinhQMRoaGlAIaoqsIENFRUWPPPJIQUHBt2bpsbTCpEmTZs2alYjnWMrx3ABICFQ6IASJII0GS9lSyjFjxtx1110AwMEqyrL2GlFDlMlkjj322OxM/zbreDqdZtfEscce++Pi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pgum18YYsfcQwFDIMBuuSk3vInCxKXU6FMicPn36+vXrb/3tzRnfV0qlMxnbtpVthbG2KIXWBlEcfHDfu+68s7Ky8v3334dsefHvfoQhQ4YkEolMJqOkNEQzZ84Mtz1E/HzF577nKaWM1kqpQw89tG3bttVVNYhyb4+W8dyautq//e1v8Xjc8zxDFIvFXNd1XXfu3LmDBg3GJitjt+7dsplYtJuN0HGcmpqa119/3RgTaMMxJNxlU6dOXbFiReD5QRDE4gkDplevXlVVVbwrt3h3LBRQXl7OUcUShee6N954o1JqzsvzmIiwksDatWv5fOV5nusF+fn5nuuK3dP+slZqANd1eQjtxioMCYkPP/jQwIEDs6KVSlbu3PngIw+7npefX5DJZNLp9LhxY0tKShAwFo9nMpmVK1c2NDQwR3Fdl2dfJpNZunTppEmTbNvmoJGePXsuWfKR3mch1lCsQJP2jf5o6afLV6y49bb/N2zYsJ9P+vno447LxrYSWMrKeJ5lWfFYfOiQI3MSuc899xwfFPl58/PzOarV930SuOnrTRdefOH6DRsspdLptGVZiURi0YKFubm5iUSCF4R27dqNGzfuzt/fJaU02rBHHkVW4jdbAGIPxi+ECHxfStGC8esmRYI9J2MYSbyn3AHtqtamsvrHxhijcY/zGs9WpVQikXj11Vd79+hl23YmkxkxfARLsCmlYrHYsGHDASDjurbjsDWUQ0U914vHYvuiqohEgEo+99xzYcpgTk5OMplUSs2ZM2fcuHEI2YTRzp06JxIJ1/doj8InsViMh0EQBATgen5NXeWkSZPWrl1LRCFDDaUYoOloFGasRmVRI0SISOpPGJxtyuGYvPSnUinHcXJycg466KAuXboUFBTEYrGioqJYLFZQUOAHPtAucftdyuSB1oaar/68hXu+D5AVzSYylmXl5uTato0CtNaa8I477uDggVARhndHarqLMaa0tJQ3pLq6uhUrVhza7xDO92cmPXPmzJUrV65fv37dunUrPv9i6dJlbH8CAKlkQ0ODZVkERE21vHmnybacABEDHZBBNpCEpUe/T+8xKaqurrZtO3T3246dl5fHJDir1v5tBjmWXC0tLcWmwADf92vrav0gYA4HRNKyKisrHcd59tlnP3jv/WEjhvbq1WvEiBEdOnQIc7/CXZkMpVJpKeX1118/btw4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AWP74hEOh7FJVsCQrsQ8VlFOU86uFi3cEIlEpk6d+tZbb7W+thUaFw3DkBANCcVr6tev37hx4+HDh//6179et36jV3js54x28bZAbpqU0qefesoORzjnUghmGu+99962bdsoo0prpZTWwBgjAOnp6ZRS13YsPO9ClP75kH1MuSWlxASi9K+GQkLUJM9NzjlXrsA45mAgoKSaNGnSuHHjatesTgknhDi2TSjF8JJAIFBSWsoMrkBTSvfu3UspRXZrGgZjTF9BiviO77+/VFCQXqUKN5jruoZhpaWlFRUVmdwoKiySUnp7VzRg5+blVXg727ZNw6hZswbn3JvzWutQaanjOJwxpeSFCxeUUgHDdByHG6xu3broKvFO95eRTkqrV6/upatT0Wojl684cOiFDwQCjnDXr1/fqlUr3BPecMMNSUlJxcXFt956K17GOV+xYgWGZPzt21d03TDOvVSs3izAlKiRSATbrwkkJydTSiv4E4SUDRo0wOdiX2VnZwNAamrqpUuXvO8CgGVY6PdwY9H2SoPWOjk5qaCgwF/jfPjwSeq/MZAiUEp79uw5atQo0zQLCwtN08SkfRcvXrx06VJRUVFpaWlxcXGfXr2F6/5d5sZ45OXlaa2lUtHUhkAx0gsqpYEkMUuqJlBYVIQKHSmSlHLcuHEjR47s369f61atCSFGrAY3U5oobXEjFIq0uOaaPz788MxHHwUARsg/o+vQxmkw9u677z45e7YQUkppmIaUsk2bNjt3fo/BbVf8rm3bHTt2xCyqjFClpGmahw8fZpwRQmzX4byMSpqWpZSyHYdhgUelwpEI9tiPJ04MHjLk4w8/bN+2HS6HaLF2HIdRqmJmy7KpyDmeG8PYhvbt26PBNWBZSiqgFC0xaOMxTVMDUEK1UpwyqRXnXLhOl85dvvzy68pJJSF6sFrXq1//4MGD0UNpcX2PgRCUEAwA1UqXlJREzzWXR7169TD5vIqrSopISkpCp7PrukoBnu27QkyF0hhVaZpmbm7usGHDbu7effSo2zp27Jienu7EMviiVx25YDAYfOKJJ/YOGXb58mUv28NfFXXDMO6444569eoZMV577Mcf582bB5TYESeW5FWh6Obl5UXDcIWglF68dGn33v2/TIIJIYcPH67MFH8OAdNyhYPsM6Nqtfbt21933XX9+vStnpHBGFPSpYTImCWS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EyZN7D9wwOzZs6WUjLKp90696qqrkpOTz5/PW7Tos61btzDGhOtyynwe8m/MoGbOnOn3wj8Wz73wUozLRP/fp2/f0tLSrKwsUv5IY9euXadNm3b06NHXX3tt69at1TIy+vTpc+HChc2bN1NKb7zxxtGjR69evfqjjz7asmVL7969+/bte+jQoaKionbt2l177bX169efN2/eokWLzpw5c+eddx4/fjw3Nxc3u7t27dJKlZSW7t69u1evXp988smHH3xw9uzZaFAgABCgjKWmpvbq1YtSumjRoq+++ooxNnbs2B07doTD4cTExNmzZ+/c+f1HH320cuU3Wutx48b98MMPp0+fHjRokGVZO3bsQJvZgAEDioqKvv/++xo1ajz88B/379//xhtvbN++o2nTpjfd1DUra7NSilICsbi05OTkESNGZGZmbty48eOPP27RskXfvn3btm27cOHCTz/99NSpU5MnT/7hhx9KSkoMwxw9evTy5SvQxUMI6dOnT1pa2urVq7XWDzzwQOfOnZcsWfLBBx/8+OOPbdq06dSp0/r16xMTEzt36dK6dZtFixZ9/vnne/fuHT58uBLy+PHjjDHXcQOWpbQuKCrcv39/7969Dxw48MILL+Sey1Va3dCp04QJE+bOnbtgwYK9e/f27NmzSZMm27dvBwDqDR0BDNLKOXv29ddfX7duXdWqVe+4445Vq1ZFIpHU1NQ//OEP+fn5c+bMycrKqlmr5i233MIYW7t2bVFR0YgRI8aPG5eVlTV37tyTp06NGTumYYOGp06dOnDgAMSfigJo3LRxly5d2rdvv3z58kWLFimlhgwekp6evmPHDqnU0KHDxowZ8/HHCxcsWHD69OmePXumpKTu37+/pKRk4MBBubl5J0+etCwLgNxzz+82bdq0c+fOrl27jR8//osvvvjkk0927Nhx8803/+pXv9q9e3dJSQljbPz48VWrVn333XeXLVuWnZ09fvz4Y8eO5+XlEUJ+//vfU0oXLFiwZMkSwzDuv//+YDC4devW8+fP07jozD179+bl5WVmZk6fPn3Hzh0FBZerVa3WvXv3zp07b9iwYeHChQcOHLjpppuqVq26e/duwzD69Onbq1fvV199deHChWfO5EyZMuXo0aMXLlyIp+oXL108fPjIzTffnJWV9fobb1y+dDkSiTz22GMnT5586623Vq5cmZiYOGrUqNWrV0spU1NTZ86cmZKS8vbbb3/99ddIWLXWO3fu3L17d/fu3Q8fPvzC88/HzwLTsopLS3ARdV135syZP/74o+u6nTt3btCgQSQSmT9//urVq5OSksaOHfvVV18JIZo2bXrfffetWrXqo48++u6772688cbbb7/9m2++yc3NzcnJueGGG7Z8992bb7554cIFL54Y6UvXrl1TU1O/+OILAKCEkv+Pve8Oj6pYG5+ZU7Zl03ujk4SSEJqCdCkWlE8QFSmKUixcAcV7FXtHxAoqSJHeFaP0AIKAgZBQkxBCkk1vpOwm286eMr8/3mRcg/J9H1fv572/zOPDE3fPnpl5523zVowQpRzhCgoKigotCFFRFF966SWbzbZ69erdu3fLsjJt2rSAgICMjExBECZOnNi+ffucnJwtW7ZcvHjR6XTecsstw4YN8/f337Fjx549e6Kjox966CGbzZafny8Iwt13333HHXcsW7bs22+/vXTp0sSJE0VRvHLlCqV08ODBQ4YMqamp2bVr1+nTp+12+2OPPTZixIjPPvvsu+++O3PmzPjx4z0eT1VV1ZUrVwghPj4+77zzzsmTJ91ud4cOHUaMGJGRkVFSUuLn5/fCCy80NDQsW7bsp59+kmX58ccfz8zMrK+v53n+kUceCQoK2rdv37fffmuxWGbMmEEIyc7OFgTh448/CQwMfPvttw8cOIgxfnTatFOnTjU2NoJJEpw/er1+0aJFKT/88Pnnn587d65nz549evQ8fTqdUjp9+vS4uLh169bt3PlNY2Pj7NlPVFZWlpWVIYSeffbZXr16bd++Y/PmzRaLZeTIUX5+frm5uQih2267bejQofv27du1a1dOTs5jjz3Ws2fP48eP79y5s7i4ePLkyQ6Hw1JQ8Iv9RuCvXs0/c+bM4MGDN23e9H1KSkNDg06nmzt3rtFo3Lply/bt261W67hx43p073H8xHGEMWRGaVQjhIuMjrrjjjujoqO2bN26devWoqKihx9+2Ol05uXlYYzHjBkTExPzfUoKWAoVTZ048YGcnJyz58+lnTrVrn27gryrX375ZUlJCYu6Bofb8OHD23fo8O233zY1NYFaryjKfffdl5aW1tDQoGnaHXfckZaWNnLkyJCQkAMHDuh0uqeffvrgwYPZWVngNWoVzdy8WVF88cUXGxoali9ffvjw4eDg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Qkhubu6yZctuueWWI0eO7N69e/HixREREa2trbquDxw4MD8/X9d1i8Xyu9/97quvvtq7dy9CaP369aGhoY899lhtbW15eTkkR27evDkvLw9jbLVaX3jhheDg4NbW1qlTp/bp02fJkiV1dXWYkIa6+ldeffXmPGx7l/3q1asmk6mrq6uoqAjoAB7Nl19+ubW1FSG0a+fOOf+rvTsPr/Ks8wZ+3/eznHOy70AIECCQBUgogVawgNRW2lpH2qr19ep0dBiXvp2K77i07wC2OnrpWDttrZYZtYsDra3debEWKS37mmYjIft+spPt7Oc8y/3+8UseQqioETut/X4u/1BMTs6zf597+d133JGbm1tRUXHrrbdmZGQ88MADZeVvCyFqa2u3b9u+cOHCmpoarijSlJPX0Pb7/c8999wdd9yh67oUlt/vX7psmW3bjY2NztBzl8t1++23v/baa6+++mo4FGppaYmLi7v99tvr6uqcKWU//elPT5w4IaX88Y9//O1vf3vjxo2nT592ps1NuXlmZ2ffeOONO3bsKCsrk1L29vZ+//vf/9znPvfs089MPsqKojQ1NQkhaLsWLVoUiURaWlpaW1spsFqWNX/+/N/97neapi1atCgvL2/r1q3Nzc10at1///233HLLM888Y9t2ampqa2vrww8/HIvFqqurvV7vP/7jP7700kuc8/z8/Jqaml27dnk8nr179zrzNemeQzeEmpoat9s9PDzc2NhId6Fbb721vLz82WefZYw1NjZmZWXdcMMN3d3dwWBQ0zS6k6empgbGxhBR0JL6QSelPHHiRF5e3m233XbFFVckJCTs27evp6fHMIxVV14ZCARmzZq1atUqmuutKMr69esFH2+NoxwjpU1XIwVKVVWXL19++PBhuosJIShG3HzzzU6v6+nTp9nE/C1ngg4NDnPqCTizd03TpDGd9Eju7OzMysqybXvevHnp6enDw8Mf+tCHli9fXlRU1NfXl5eXl56ebk8MG6VPoGZLesDTGICSkpKDBw+GQiH6yVOnTm3evPno0aOJiYkf/ehHW1pavF4v3RD7+/ubmpqWLVumKEpfX59hGHfeeefy5cvnzJlTVVVVUVFBGUjK8/PNTdN0uVzhcNiphDBlIotkTEpZUlLS1NRENyZVVfv6+s6cOfOxj32MHoFOIxx1r43PIZuYJr979+6h4aFl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ACEVAAAAAAAhFQAAAAAQUgEAAAAAEFIBAAAAABBSAQAAAAAhFQAAAAAAIRUAAAAAEFIBAAAAABBSAQAAAAAhFQAAAAAAIRUAAAAAEFIBAAAAABBSAQAAAAAQUgEAAAAAIRUAAAAAACEVAAAAABBSAQAAAAAQUgEAAAAAIRUAAAAAACEVAAAAAAAhFQAAAAAQUgEAAAAAEFIBAAAAACEVAAAAAAAhFQAAAAAQUgEAAAAAEFIBAAAAACEVAAAAAAAhFQAAAAAAIRUAAAAAEFIBAAAAABBSAQAAAAAhFQAAAAAAIRUAAAAAEFIBAAAAABBSAQAAAAAQUgEAAAAAIRUAAAAAACEVAAAAABBSAQAAAAAQUgEAAAAAIRUAAAAAACEVAAAAABBSAQAAAAAQUgEAAAAAEFIBAAAAACEVAAAAAAAhFQAAAAAQUgEAAAAAEFIBAAAAACEVAAAAAAAhFQAAAAAAIRUAAAAAEFIBAAAAABBSAQAAAAAhFQAAAAAAIRUAAAAAEFIBAAAAABBSAQAAAAAhFQAAAAAAIRUAAAAAACEVAAAAABBSAQAAAAAQUgEAAAAAIRUAAAAAACEVAAAAABBSAQAAAAAQUgEAAAAAEFIBAAAAACEVAAAAAAAhFQAAAAAQUgEAAAAAEFIBAAAAACEVAAAAAAAhFQAAAAAQUgEAAAAAEFIBAAAAABBSAQAAAAAhFQAAAAAAIRUAAAAAEFIBAAAAABBSAQAAAAAhFQAAAAAAIRUAAAAAACEVAAAAABBSAQAAAAAQUgEAAAAAIRUAAAAAACEVAAAAABBSAQAAAAAQUgEAAAAAIRUAAAAAACEVAAAAAAAhFQAAAAAQUgEAAAAAEFIBAAAAACEVAAAAAAAhFQAAAAAQUgEAAAAAEFIBAAAAABBSAQAAAAAhFQAAAAAAIRUAAAAAEFIBAAAAABBSAQAAAAAhFQAAAAAAIRUAAAAAEFIBAAAAABBSAQAAAAAQUgEAAAAAIRUAAAAAACEVAAAAABBSAQAAAAAQUgEAAAAAIRUAAAAAACEVAAAAABBSsQsAAAAAACEVAAAAAAAhFQAAAAAQUgEAAAAAEFIBAAAAACEVAAAAAAAhFQAAAAAQUgEAAAAAEFIBAAAAABBSAQAAAAAhFQAAAAAAIRUAAAAAEFIBAAAAABBSAQAAAAAhFQAAAAAAIRUAAAAAEFIBAAAAABBSAQAAAAAuSR37wXzshT9k8LpfYicAAAAAvMsKV1/PebJLjkUZk1JihwAAAADAe8L/B3YwCMUOAtkuAAAAAElFTkSuQmCC"/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Bina<span class="_ _5"></span>ry<span class="_ _8"> </span>Size</div><div class="t m0 x6 h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">4/38</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
|
||
<div id="pf7" class="pf w0 h0" data-page-no="7"><div class="pc pc7 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIf0lEQVR42u3ZsQkCMRiG4YtcsHQGsXICEWvBFSycxyXcwMIZBAuHcAOrqzzTxM5aBOU/eJ4JwpfmJUmzxaoBAIAwbtfLyAoAAEQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAeEulFCsAABBHztlLKgAA4YhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEqgkAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUEwAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgDAf7VDOeij7zfbnQuDYTmfjkYA4AuplGIFAADiyDn77gcAIByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAAxK2+2nVvi1+/pgBACAD82Xm5Qm49o9m6bWahAAAEJ4AfE0HQKizqqTAAAAAElFTkSuQmCC"/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Bina<span class="_ _5"></span>ry<span class="_ _8"> </span>Size<span class="_ _8"> </span>-<span class="_ _8"> </span>Examples</div><div class="t m0 x8 ha y20 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff8">Android<span class="_ _f"> </span>Games<span class="ff4">:<span class="_ _10"> </span><span class="ff9">≤<span class="_ _11"> </span></span>1<span class="_ _11"> </span>GB</span></span></div><div class="t m0 x8 ha y21 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff8">Safari<span class="_ _f"> </span>Browser<span class="ff4">:<span class="_ _10"> </span>1.4<span class="_ _11"> </span>GB<span class="_ _11"> </span>on<span class="_ _11"> </span>Mac</span></span></div><div class="t m0 x8 ha y22 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff8">The<span class="_ _f"> </span>CUDA<span class="_ _f"> </span>Tookit<span class="ff4">:<span class="_ _10"> </span>3<span class="_ _11"> </span>GB+</span></span></div><div class="t m0 x8 ha y23 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff8">Microsoft<span class="_ _f"> </span>Edge<span class="ff4">:<span class="_ _10"> </span>3.6<span class="_ _11"> </span>GB+</span></span></div><div class="t m0 x8 ha y24 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff8">Latex<span class="ff4">:<span class="_ _10"> </span>7<span class="_ _11"> </span>GB+<span class="_ _11"> </span>(T<span class="_ _7"></span>eX<span class="_ _11"> </span>Live)</span></span></div><div class="t m0 x8 ha y25 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff8">Windows<span class="_ _f"> </span>11/macOS<span class="_ _f"> </span>14<span class="ff4">:<span class="_ _10"> </span>20<span class="_ _11"> </span>GB+</span></span></div><div class="t m0 x8 ha y26 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff8">Mathlab<span class="ff4">:<span class="_ _10"> </span>23<span class="_ _11"> </span>GB+<span class="_ _11"> </span>full</span></span></div><div class="t m0 x8 ha y27 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff8">Microsoft<span class="_ _f"> </span>Office<span class="ff4">:<span class="_ _10"> </span>100<span class="_ _11"> </span>GB+<span class="_ _11"> </span>full</span></span></div><div class="t m0 x8 hb y28 ffa fs7 fc3 sc0 ls0 ws0">Unusual<span class="_ _10"> </span>Speed<span class="_ _8"> </span>Boost:<span class="_ _12"> </span>Binary<span class="_ _10"> </span>Size<span class="_ _8"> </span>Matters</div><div class="t m0 x6 h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">5/38</div><a class="l" href="https://webkit.org/blog/2826/unusual-speed-boost-size-matters/"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:4.052000px;width:194.994000px;height:13.445000px;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="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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIXklEQVR42u3YsQ2CQBiG4TvDhdIZCJUTGENt4mYu4TgUDMEGVpRec3bM8EOeZ4SvevPl8T4lAAAIY13mixUAAIhGpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAsMu1VisAABBHKcWTCgBAOCIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRagIAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACLVBAAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAADn0W3vwQpH8X1+jAAAnN7t8cr52rftl1JrzSAAAITwBx8KFAT6jZIPAAAAAElFTkSuQmCC"/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Impact<span class="_ _8"> </span>of<span class="_ _8"> </span>Bina<span class="_ _5"></span>ry<span class="_ _8"> </span>Size</div><div class="t m0 x1 ha y29 ff1 fs6 fc0 sc0 ls0 ws0">Soft<span class="_ _5"></span>w<span class="_ _5"></span>a<span class="_ _5"></span>re<span class="_ _6"> </span>distribution<span class="ff4">:</span></div><div class="t m0 x8 ha y2a ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">Do<span class="_ _5"></span>wnload<span class="_ _11"> </span>time.</span></div><div class="t m0 x8 ha y2b ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">Data<span class="_ _11"> </span>transfer<span class="_ _11"> </span>cost.</span></div><div class="t m0 x8 ha y2c ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">Sto<span class="_ _5"></span>rage<span class="_ _11"> </span>cost.</span></div><div class="t m0 x8 ha y2d ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">The<span class="_ _11"> </span>effects<span class="_ _11"> </span>a<span class="_ _5"></span>re<span class="_ _11"> </span>also<span class="_ _11"> </span>exaggerated<span class="_ _11"> </span>b<span class="_ _5"></span>y<span class="_ _11"> </span>up<span class="_ _c"></span>date<span class="_ _11"> </span>distributions<span class="_ _11"> </span>o<span class="_ _5"></span>r<span class="_ _11"> </span>third-pa<span class="_ _5"></span>rt<span class="_ _5"></span>y<span class="_ _11"> </span>integration.</span></div><div class="t m0 x1 ha y2e ff1 fs6 fc0 sc0 ls0 ws0">P<span class="_ _5"></span>erfo<span class="_ _5"></span>rmance/Resources</div><div class="t m0 x8 ha y2f ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">Compile<span class="_ _11"> </span>and<span class="_ _11"> </span>linking<span class="_ _11"> </span>time.</span></div><div class="t m0 x8 ha y30 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">R<span class="_ _5"></span>un-time<span class="_ _11"> </span>p<span class="_ _c"></span>erformance:<span class="_ _8"> </span>Large<span class="_ _b"> </span>binaries<span class="_ _11"> </span>can<span class="_ _11"> </span>lead<span class="_ _b"> </span>to<span class="_ _11"> </span>p<span class="_ _0"></span>oor<span class="_ _b"> </span>memory<span class="_ _b"> </span>lo<span class="_ _c"></span>cality</span></div><div class="t m0 x5 ha y31 ff4 fs6 fc0 sc0 ls0 ws0">(instruction-cache,<span class="_ _11"> </span>L1/L2/L3<span class="_ _11"> </span>cache<span class="_ _11"> </span>misses,<span class="_ _11"> </span>page<span class="_ _11"> </span>faults).</div><div class="t m0 x8 ha y32 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">Sta<span class="_ _5"></span>rtup<span class="_ _11"> </span>time:<span class="_ _10"> </span>loading<span class="_ _11"> </span>the<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>from<span class="_ _11"> </span>disk.</span></div><div class="t m0 x8 ha y33 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">Disk<span class="_ _11"> </span>and<span class="_ _11"> </span>memo<span class="_ _5"></span>ry<span class="_ _11"> </span>usage,<span class="_ _11"> </span>very<span class="_ _11"> </span>imp<span class="_ _c"></span>o<span class="_ _5"></span>rtant<span class="_ _11"> </span>on<span class="_ _11"> </span>emb<span class="_ _c"></span>edded<span class="_ _11"> </span>systems.</span></div><div class="t m0 x6 h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">6/38</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 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>echniques<span class="_ _8"> </span>to<span class="_ _8"> </span>Reduce<span class="_ _8"> </span>the<span class="_ _8"> </span>Bina<span class="_ _5"></span>ry<span class="_ _8"> </span>Size</div><div class="t m0 x8 ha y34 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffb">Control<span class="_ _11"> </span>compiler<span class="_ _11"> </span>optimizations,<span class="_ _11"> </span>ha<span class="_ _5"></span>rdw<span class="_ _5"></span>ar<span class="_ _5"></span>e<span class="_ _11"> </span>targets<span class="_ _b"> </span>(vectorization),<span class="_ _b"> </span>and<span class="_ _11"> </span>exp<span class="_ _c"></span>orted</span></div><div class="t m0 x5 ha y35 ffb fs6 fc0 sc0 ls0 ws0">symb<span class="_ _c"></span>ols<span class="ff4">.</span></div><div class="t m0 x8 ha y36 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffb">Minimize<span class="_ _11"> </span>C++<span class="_ _11"> </span>co<span class="_ _c"></span>de<span class="_ _11"> </span>generation<span class="ff4">,<span class="_ _11"> </span>e.g.<span class="_ _10"> </span>templates,<span class="_ _11"> </span>inlining,<span class="_ _11"> </span>exceptions,<span class="_ _11"> </span>etc.</span></span></div><div class="t m0 x8 ha y37 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffb">F<span class="_ _5"></span>unctions<span class="_ _11"> </span>and<span class="_ _11"> </span>classes<span class="_ _11"> </span>o<span class="_ _5"></span>rganization<span class="ff4">,<span class="_ _11"> </span>e.g.<span class="_ _10"> </span>external<span class="_ _11"> </span>linkage.</span></span></div><div class="t m0 x8 ha y38 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffb">Dep<span class="_ _c"></span>endencies<span class="_ _11"> </span>management<span class="ff4">,<span class="_ _11"> </span>e.g.<span class="_ _10"> </span>headers,<span class="_ _11"> </span>sha<span class="_ _5"></span>red<span class="_ _11"> </span>lib<span class="_ _5"></span>raries,<span class="_ _b"> </span>raw<span class="_ _b"> </span>data,<span class="_ _11"> </span>etc.</span></span></div><div class="t m0 x8 ha y39 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffb">Just-in-time<span class="_ _11"> </span>compilation<span class="_ _11"> </span><span class="ff4">(advanced).</span></span></div><div class="t m0 x8 ha y3a ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffb">Comp<span class="_ _5"></span>ression<span class="_ _11"> </span><span class="ff4">(advanced).</span></span></div><div class="t m0 x6 h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">7/38</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 x7 h2 y1e ff1 fs0 fc0 sc0 ls0 ws0">Compiler<span class="_ _1"> </span>and<span class="_ _1"> </span>Link<span class="_ _d"></span>er</div><div class="t m0 x7 h2 y1f ff1 fs0 fc0 sc0 ls0 ws0">T<span class="_ _13"></span>echniques</div><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: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="#pfa" data-dest-detail='[10,"XYZ",27.346,256.118,null]'><div class="d m1" style="border-style:none;position:absolute;left:105.775000px;bottom:115.247000px;width:127.771000px;height:24.025000px;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="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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIYElEQVR42u3YsQ3CMBRFURvFSskMUSomQIgaic2yRMZJkSGyAVVK3JiOASKKL3TOCK+6enm83hMAAISxrcvJCgAARCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAD4yrVWKwAAEEcpxZMKAEA4IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJFqAgAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAItUEAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAAP+j26fBChzzesxGAAB+7nJ75nzu2/5OqbVmEAAAQvgAHDsUBD3fP/cAAAAASUVORK5CYII="/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Overview<span class="_ _8"> </span>of<span class="_ _8"> </span>Compiler<span class="_ _8"> </span>and<span class="_ _8"> </span>Link<span class="_ _5"></span>er<span class="_ _8"> </span>T<span class="_ _3"></span>echniques</div><div class="t m0 x1 ha y3b ff4 fs6 fc0 sc0 ls0 ws0">One<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>most<span class="_ _11"> </span>effective<span class="_ _11"> </span>w<span class="_ _5"></span>a<span class="_ _5"></span>ys<span class="_ _11"> </span>to<span class="_ _11"> </span>reduce<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size<span class="_ _11"> </span>with<span class="_ _11"> </span>little<span class="_ _11"> </span>effo<span class="_ _5"></span>rt<span class="_ _11"> </span>is<span class="_ _11"> </span>to<span class="_ _11"> </span>instruct<span class="_ _11"> </span>the</div><div class="t m0 x1 ha y3c ff4 fs6 fc0 sc0 ls0 ws0">compiler<span class="_ _11"> </span>to<span class="_ _11"> </span><span class="ff1">optimize<span class="_ _6"> </span>for<span class="_ _11"> </span>size<span class="_ _11"> </span></span>instead<span class="_ _11"> </span>of<span class="_ _11"> </span>p<span class="_ _c"></span>erformance.</div><div class="t m0 x1 ha y3d ff1 fs6 fc0 sc0 ls0 ws0">R<span class="_ _5"></span>untime<span class="_ _6"> </span>exceptions<span class="_ _11"> </span><span class="ff4">require<span class="_ _11"> </span>the<span class="_ _11"> </span>compiler<span class="_ _11"> </span>to<span class="_ _11"> </span>intro<span class="_ _c"></span>duce<span class="_ _11"> </span>additional<span class="_ _11"> </span>co<span class="_ _c"></span>de<span class="_ _11"> </span>to<span class="_ _11"> </span>handle</span></div><div class="t m0 x1 ha y3e ff4 fs6 fc0 sc0 ls0 ws0">them,<span class="_ _11"> </span><span class="ff8">example<span class="_ _14"> </span><span class="ffc fs8"></span></span>.<span class="_ _11"> </span>The<span class="_ _11"> </span>user<span class="_ _11"> </span>can<span class="_ _11"> </span>control<span class="_ _11"> </span>ho<span class="_ _5"></span>w<span class="_ _11"> </span>the<span class="_ _11"> </span>compiler<span class="_ _11"> </span>treats<span class="_ _11"> </span>exceptions.</div><div class="t m0 x1 ha y3f ff1 fs6 fc0 sc0 ls0 ws0">Link-Time<span class="_ _6"> </span>Optimization<span class="_ _6"> </span>(L<span class="_ _d"></span>TO)<span class="_ _11"> </span><span class="ff4">can<span class="_ _11"> </span>help<span class="_ _11"> </span>reduce<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size,<span class="_ _11"> </span>analyzing<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ffb">entire</span></span></div><div class="t m0 x1 ha y40 ffb fs6 fc0 sc0 ls0 ws0">p<span class="_ _5"></span>rogram<span class="_ _11"> </span><span class="ff4">to<span class="_ _11"> </span>remove<span class="_ _11"> </span>unused<span class="_ _11"> </span>co<span class="_ _c"></span>de<span class="_ _11"> </span>(</span>dead<span class="_ _11"> </span>co<span class="_ _c"></span>de<span class="_ _11"> </span>elimination<span class="_ _c"></span><span class="ff4">),<span class="_ _11"> </span>function<span class="_ _11"> </span></span>inlining<span class="_ _10"> </span><span class="ff4">across</span></div><div class="t m0 x1 ha y41 ff4 fs6 fc0 sc0 ls0 ws0">different<span class="_ _11"> </span>mo<span class="_ _c"></span>dules<span class="_ _11"> </span>to<span class="_ _11"> </span>optimize<span class="_ _11"> </span>co<span class="_ _c"></span>de<span class="_ _11"> </span>usage,<span class="_ _11"> </span>and<span class="_ _11"> </span><span class="ffb">devirtualization<span class="_ _11"> </span></span>to<span class="_ _11"> </span>replace<span class="_ _11"> </span>virtual</div><div class="t m0 x1 ha y42 ff4 fs6 fc0 sc0 ls0 ws0">metho<span class="_ _c"></span>ds<span class="_ _11"> </span>(<span class="ffb">vtable<span class="_ _0"></span></span>)<span class="_ _b"> </span>with<span class="_ _11"> </span>direct<span class="_ _11"> </span>calls<span class="_ _11"> </span>when<span class="_ _11"> </span>p<span class="_ _c"></span>ossible.</div><div class="t m0 x6 h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">8/38</div><a class="l" href="https://godbolt.org/z/MarPhPMTs"><div class="d m1" style="border-style:none;position:absolute;left:57.108000px;bottom:126.290000px;width:51.091000px;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="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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAI0klEQVR42u3csUkEQRTH4R3ZwWiwBjGyAhFj4VowsB6bsAMDaxAMLMIOjI4JPF+yZpsKB8e+db+vABn+m/x4B5arm7sBAADS+Px4P7MCAADZiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAGYlIqwAAEAetVaXVAAA0hGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAwKqMJpj13pO8pLXmcwAAW+aSCgBAOqe6pOa5Sg4OkwAAa+OSCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAACWNZ7o77bWjAsAwHFcUgEASKdEhBUAAMij1uqSCgBAOiIVAACRCgAAfxlNwL/Ue0/yEv/pAgCO4JIKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAJZVIsIKAADkUWt1SQUAIB2RCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgDA5o0mmPXek7ykteZzAABb5pIKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAJZVIsIKAADkUWt1SQUAIB2RCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASDUBAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAA2blzLQ78Ph93Dow8G6/L2+mIEAI5QIsIKAADkUWv1cz8AAOmIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQAglXH/dGkFlvV1/2wEAGB2fbsr5eJ82v8MwzRNBgEAIIVfLVsyJ5yfj44AAAAASUVORK5CYII="/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Optimization<span class="_ _8"> </span>Flags</div><div class="t m0 x9 ha y20 ff6 fs6 fc0 sc0 ls0 ws0">-Os<span class="_ _14"> </span><span class="ff4">,<span class="_ _15"> </span></span>/O1<span class="_ _16"> </span><span class="ffb">Prio<span class="_ _5"></span>ritizes<span class="_ _11"> </span>reducing<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size<span class="_ _11"> </span>over<span class="_ _11"> </span>sp<span class="_ _c"></span>eed<span class="_ _11"> </span>imp<span class="_ _5"></span>rovements<span class="ff4">.</span></span></div><div class="t m0 xa ha y43 ff4 fs6 fc0 sc0 ls0 ws0">Enable<span class="_ _11"> </span>all<span class="_ _15"> </span><span class="ff8">-O2<span class="_ _15"> </span></span>optimizations<span class="_ _11"> </span>that<span class="_ _11"> </span>do<span class="_ _11"> </span>not<span class="_ _11"> </span>increase<span class="_ _11"> </span>co<span class="_ _c"></span>de<span class="_ _11"> </span>size,<span class="_ _11"> </span>e.g.<span class="_ _10"> </span>dead<span class="_ _11"> </span>co<span class="_ _c"></span>de</div><div class="t m0 xa ha y44 ff4 fs6 fc0 sc0 ls0 ws0">elimination,<span class="_ _11"> </span>constant<span class="_ _11"> </span>p<span class="_ _5"></span>ropagation,<span class="_ _11"> </span>exp<span class="_ _5"></span>ression<span class="_ _11"> </span>simplification,<span class="_ _11"> </span>etc.<span class="_ _10"> </span>and<span class="_ _11"> </span>exclude</div><div class="t m0 xa ha y45 ff4 fs6 fc0 sc0 ls0 ws0">techniques<span class="_ _11"> </span>such<span class="_ _11"> </span>as<span class="_ _11"> </span>lo<span class="_ _c"></span>op<span class="_ _11"> </span>unrolling,<span class="_ _11"> </span>strong<span class="_ _11"> </span>function<span class="_ _11"> </span>inlining,<span class="_ _11"> </span>co<span class="_ _c"></span>de<span class="_ _11"> </span>alignment,</div><div class="t m0 xa ha y46 ff4 fs6 fc0 sc0 ls0 ws0">etc.</div><div class="t m0 xb ha y47 ff6 fs6 fc0 sc0 ls0 ws0">-Oz<span class="_ _16"> </span><span class="ffb">Aggressive<span class="_ _11"> </span>size<span class="_ _11"> </span>optimization,<span class="_ _11"> </span>omitting<span class="_ _11"> </span>p<span class="_ _c"></span>erfo<span class="_ _5"></span>rmance<span class="_ _11"> </span>optimizations<span class="ff4">.</span></span></div><div class="t m0 xa ha y48 ff4 fs6 fc0 sc0 ls0 ws0">Supp<span class="_ _c"></span>o<span class="_ _5"></span>rted<span class="_ _11"> </span>b<span class="_ _5"></span>y<span class="_ _11"> </span>Arm<span class="_ _11"> </span>and<span class="_ _11"> </span>p<span class="_ _5"></span>roprieta<span class="_ _5"></span>ry<span class="_ _b"> </span>compilers<span class="_ _11"> </span>but<span class="_ _11"> </span>not<span class="_ _11"> </span>by<span class="_ _b"> </span>GCC/Clang.<span class="_ _10"> </span>Might</div><div class="t m0 xa ha y49 ff4 fs6 fc0 sc0 ls0 ws0">result<span class="_ _b"> </span>in<span class="_ _b"> </span>slow<span class="_ _5"></span>er<span class="_ _b"> </span>co<span class="_ _c"></span>de,<span class="_ _11"> </span>loop<span class="_ _11"> </span>unrolling<span class="_ _b"> </span>and<span class="_ _11"> </span>lo<span class="_ _c"></span>op<span class="_ _b"> </span>vectorization<span class="_ _14"> </span>are<span class="_ _b"> </span>disabled,<span class="_ _b"> </span>lo<span class="_ _c"></span>ops</div><div class="t m0 xa ha y4a ff4 fs6 fc0 sc0 ls0 ws0">a<span class="_ _5"></span>re<span class="_ _11"> </span>generated<span class="_ _11"> </span>as<span class="_ _11"> </span><span class="ff8">while<span class="_ _11"> </span></span>lo<span class="_ _c"></span>ops<span class="_ _11"> </span>instead<span class="_ _11"> </span>of<span class="_ _8"> </span><span class="ff8">do-while<span class="_ _11"> </span></span>lo<span class="_ _c"></span>ops.</div><div class="t m0 x8 hb y4b ffa fs7 fc3 sc0 ls0 ws0">ARM<span class="_ _10"> </span>-<span class="_ _8"> </span>Selecting<span class="_ _10"> </span>optimization<span class="_ _10"> </span>options</div><div class="t m0 x6 h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">9/38</div><a class="l" href="https://developer.arm.com/documentation/100748/0624/Using-Common-Compiler-Options/Selecting-optimization-options"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:3.195000px;width:171.457000px;height:13.445000px;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="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 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Optimization<span class="_ _8"> </span>Flags</div><div class="t m0 x8 ha y20 ff6 fs6 fc0 sc0 ls0 ws0">-Omin<span class="_ _16"> </span><span class="ffb">Smaller<span class="_ _11"> </span>size<span class="_ _11"> </span>than<span class="_ _15"> </span><span class="ff8">-Oz<span class="_ _15"> </span></span>by<span class="_ _11"> </span>exploiting<span class="_ _b"> </span>a<span class="_ _11"> </span>subset<span class="_ _11"> </span>of<span class="_ _11"> </span>L<span class="_ _d"></span>TO<span class="_ _11"> </span>functionalities<span class="ff4">.</span></span></div><div class="t m0 xa ha y43 ff4 fs6 fc0 sc0 ls0 ws0">Relying<span class="_ _11"> </span>on<span class="_ _11"> </span>L<span class="_ _7"></span>TO<span class="_ _11"> </span>to<span class="_ _11"> </span>remove<span class="_ _11"> </span>unused<span class="_ _11"> </span>co<span class="_ _c"></span>de<span class="_ _11"> </span>and<span class="_ _11"> </span>data<span class="_ _11"> </span>and<span class="_ _11"> </span>try<span class="_ _11"> </span>to<span class="_ _11"> </span>eliminate<span class="_ _11"> </span>virtual</div><div class="t m0 xa ha y44 ff4 fs6 fc0 sc0 ls0 ws0">functions.<span class="_ _10"> </span>Not<span class="_ _11"> </span>supp<span class="_ _c"></span>o<span class="_ _5"></span>rted<span class="_ _11"> </span>b<span class="_ _5"></span>y<span class="_ _11"> </span>GCC/Clang.</div><div class="t m0 xc ha y4c ff6 fs6 fc0 sc0 ls0 ws0">-fipa-icf<span class="_ _16"> </span><span class="ff1">I<span class="ff4">nter</span>P<span class="ff4">ro<span class="_ _c"></span>cedural<span class="_ _11"> </span></span>A<span class="ff4">nalysis<span class="_ _11"> </span>-<span class="_ _11"> </span></span>I<span class="ff4">dentical<span class="_ _11"> </span></span>C<span class="ff4">o<span class="_ _c"></span>de<span class="_ _11"> </span></span>F<span class="ff4">olding<span class="_ _11"> </span>detects<span class="_ _11"> </span>and<span class="_ _11"> </span>unifies</span></span></div><div class="t m0 xa ha y24 ff4 fs6 fc0 sc0 ls0 ws0">va<span class="_ _5"></span>riables<span class="_ _11"> </span>with<span class="_ _11"> </span>identical<span class="_ _11"> </span>values<span class="_ _11"> </span>and<span class="_ _11"> </span>functions<span class="_ _11"> </span>with<span class="_ _11"> </span>the<span class="_ _11"> </span>exact<span class="_ _11"> </span>machine<span class="_ _11"> </span>code</div><div class="t m0 xa ha y47 ff4 fs6 fc0 sc0 ls0 ws0">reducing<span class="_ _11"> </span>co<span class="_ _c"></span>de<span class="_ _11"> </span>size<span class="_ _11"> </span>without<span class="_ _11"> </span>changing<span class="_ _11"> </span>observable<span class="_ _11"> </span>b<span class="_ _c"></span>ehavio<span class="_ _5"></span>r</div><div class="t m0 x8 hb y4d ffa fs7 fc3 sc0 ls0 ws0">Safe<span class="_ _10"> </span>ICF:<span class="_ _8"> </span>Pointer<span class="_ _10"> </span>Safe<span class="_ _10"> </span>and<span class="_ _8"> </span>Unwinding<span class="_ _10"> </span>Aware<span class="_ _10"> </span>Identical<span class="_ _10"> </span>Code<span class="_ _8"> </span>Folding<span class="_ _10"> </span>in<span class="_ _10"> </span>Gold<span class="_ _14"> </span>GCC</div><div class="t m0 x1 hb y4e ffa fs7 fc3 sc0 ls0 ws0">Optimization<span class="_ _10"> </span>Options</div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">10/38</div><a class="l" href="https://research.google/pubs/safe-icf-pointer-safe-and-unwinding-aware-identical-code-folding-in-gold/"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:21.840000px;width:345.629000px;height:11.656000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html"><div class="d m1" style="border-style:none;position:absolute;left:381.430000px;bottom:21.840000px;width:44.763000px;height:11.656000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html"><div class="d m1" style="border-style:none;position:absolute;left:27.350000px;bottom:7.449000px;width:96.139000px;height:11.154000px;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="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 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Debugging<span class="_ _8"> </span>and<span class="_ _8"> </span>R<span class="_ _5"></span>untime<span class="_ _8"> </span>Info<span class="_ _5"></span>rmation<span class="_ _8"> </span>Flags</div><div class="t m0 x3 ha y20 ff6 fs6 fc0 sc0 ls0 ws0">-g<span class="_ _14"> </span><span class="ff4">,<span class="_ _15"> </span></span>-g<N><span class="_ _14"> </span><span class="ff4">,<span class="_ _15"> </span></span>/DEBUG<span class="_ _16"> </span><span class="ff4">Generate<span class="_ _11"> </span>debugging<span class="_ _11"> </span>info<span class="_ _5"></span>rmation.<span class="_ _10"> </span>Ensure<span class="_ _11"> </span>the<span class="_ _11"> </span>flag<span class="_ _11"> </span>is<span class="_ _11"> </span>not<span class="_ _11"> </span>p<span class="_ _5"></span>resent.</span></div><div class="t m0 xe ha y43 ff4 fs6 fc0 sc0 ls0 ws0">Debugging<span class="_ _11"> </span>info<span class="_ _5"></span>rmation<span class="_ _11"> </span>could<span class="_ _11"> </span>significantly<span class="_ _11"> </span>increase<span class="_ _11"> </span>the<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size</div><div class="t m0 xe ha y44 ff4 fs6 fc0 sc0 ls0 ws0">up<span class="_ _11"> </span>to<span class="_ _11"> </span>60-80%.<span class="_ _4"> </span><span class="ff8">-g3<span class="_ _15"> </span></span>up<span class="_ _11"> </span>to<span class="_ _11"> </span>120-160%.</div><div class="t m0 xf hc y4f ff6 fs6 fc0 sc0 ls0 ws0">-DNDEBUG</div><div class="t m0 xf hc y50 ff6 fs6 fc0 sc0 ls0 ws0">/DNDEBUG</div><div class="t m0 xe ha y51 ffb fs6 fc0 sc0 ls0 ws0">Remove<span class="_ _11"> </span>assertions<span class="_ _8"> </span><span class="ff4">which<span class="_ _11"> </span>contribute<span class="_ _11"> </span>to<span class="_ _11"> </span>the<span class="_ _11"> </span>binary<span class="_ _b"> </span>size.</span></div><div class="t m0 x10 ha y52 ff6 fs6 fc0 sc0 ls0 ws0">-fno-rtti<span class="_ _14"> </span><span class="ff4">,<span class="_ _15"> </span></span>/GR-<span class="_ _16"> </span><span class="ffb">Disable<span class="_ _11"> </span>R<span class="_ _5"></span>un-Time<span class="_ _11"> </span>T<span class="_ _7"></span>yp<span class="_ _c"></span>e<span class="_ _11"> </span>Information<span class="ff4">,</span></span></div><div class="t m0 xe ha y53 ff4 fs6 fc0 sc0 ls0 ws0">such<span class="_ _11"> </span>as<span class="_ _15"> </span><span class="ff8">typeid<span class="_ _15"> </span></span>and<span class="_ _15"> </span><span class="ff8">dynamic_cast<span class="_ _14"> </span></span>.<span class="_ _10"> </span>The<span class="_ _11"> </span>flag<span class="_ _11"> </span>has<span class="_ _11"> </span>negligible</div><div class="t m0 xe ha y54 ff4 fs6 fc0 sc0 ls0 ws0">impact.</div><div class="t m0 x8 hb y55 ffa fs7 fc3 sc0 ls0 ws0">Binary<span class="_ _10"> </span>sizes<span class="_ _8"> </span>and<span class="_ _10"> </span>RTTI</div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">11/38</div><a class="l" href="https://www.sandordargo.com/blog/2023/03/01/binary-sizes-and-rtti"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:2.734000px;width:100.847000px;height:13.445000px;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="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 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Symb<span class="_ _c"></span>ol<span class="_ _8"> </span>Visibilit<span class="_ _5"></span>y</div><div class="t m0 x1 ha y29 ff1 fs6 fc0 sc0 ls0 ws0">Exp<span class="_ _c"></span>o<span class="_ _5"></span>rted<span class="_ _6"> </span>symb<span class="_ _c"></span>ols<span class="_ _11"> </span><span class="ff4">are<span class="_ _b"> </span>stored<span class="_ _11"> </span>in<span class="_ _b"> </span>the<span class="_ _11"> </span><span class="ffb">symb<span class="_ _0"></span>ol<span class="_ _b"> </span>table<span class="_ _0"></span></span>,<span class="_ _b"> </span>which<span class="_ _11"> </span>includes<span class="_ _11"> </span>their<span class="_ _11"> </span>fully<span class="_ _11"> </span><span class="ffb">mangled</span></span></div><div class="t m0 x1 ha y56 ff4 fs6 fc0 sc0 ls0 ws0">names.<span class="_ _10"> </span>They<span class="_ _b"> </span>are<span class="_ _b"> </span>used<span class="_ _11"> </span>for<span class="_ _b"> </span>debugging<span class="_ _11"> </span>purp<span class="_ _c"></span>oses.<span class="_ _10"> </span>The<span class="_ _b"> </span>asso<span class="_ _0"></span>ciated<span class="_ _b"> </span>names<span class="_ _11"> </span>can<span class="_ _b"> </span>b<span class="_ _c"></span>ecome<span class="_ _11"> </span>very</div><div class="t m0 x1 ha y57 ff4 fs6 fc0 sc0 ls0 ws0">long<span class="_ _11"> </span>due<span class="_ _b"> </span>to<span class="_ _11"> </span>templates<span class="_ _11"> </span>and<span class="_ _11"> </span>namespaces,<span class="_ _11"> </span>leading<span class="_ _b"> </span>to<span class="_ _11"> </span>large<span class="_ _b"> </span>symb<span class="_ _c"></span>ol<span class="_ _11"> </span>tables<span class="_ _11"> </span>and<span class="_ _11"> </span>bloating<span class="_ _b"> </span>the</div><div class="t m0 x1 ha y58 ff4 fs6 fc0 sc0 ls0 ws0">bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size.<span class="_ _10"> </span>This<span class="_ _11"> </span>asp<span class="_ _c"></span>ect<span class="_ _11"> </span>can<span class="_ _11"> </span>b<span class="_ _c"></span>e<span class="_ _11"> </span>controlled<span class="_ _11"> </span>b<span class="_ _5"></span>y<span class="_ _11"> </span>function<span class="_ _11"> </span>attributes<span class="_ _11"> </span>and<span class="_ _11"> </span>compiler<span class="_ _11"> </span>options.</div><div class="t m0 x8 ha y59 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _16"> </span><span class="ff6">-fvisibility=hidden</span></div><div class="t m0 x5 ha y5a ffb fs6 fc0 sc0 ls0 ws0">Sets<span class="_ _11"> </span>the<span class="_ _11"> </span>default<span class="_ _11"> </span>visibilit<span class="_ _5"></span>y<span class="_ _11"> </span>of<span class="_ _11"> </span>symb<span class="_ _c"></span>ols<span class="_ _11"> </span>to<span class="_ _11"> </span>hidden<span class="_ _11"> </span><span class="ff4">(not<span class="_ _11"> </span>exp<span class="_ _c"></span>orted).</span></div><div class="t m0 x5 ha y5b ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span>flag<span class="_ _11"> </span>can<span class="_ _11"> </span>reduce<span class="_ _11"> </span>the<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size<span class="_ _11"> </span>of<span class="_ _11"> </span>dynamic<span class="_ _11"> </span>lib<span class="_ _5"></span>ra<span class="_ _5"></span>ries<span class="_ _11"> </span>b<span class="_ _5"></span>y<span class="_ _11"> </span>5-20%,<span class="_ _11"> </span>up<span class="_ _11"> </span>to<span class="_ _11"> </span>80%<span class="_ _11"> </span>in</div><div class="t m0 x5 ha y5c ff4 fs6 fc0 sc0 ls0 ws0">extreme<span class="_ _11"> </span>cases.<span class="_ _10"> </span>The<span class="_ _11"> </span>exp<span class="_ _c"></span>o<span class="_ _5"></span>rted<span class="_ _11"> </span>functions<span class="_ _11"> </span>need<span class="_ _11"> </span>to<span class="_ _11"> </span>b<span class="_ _c"></span>e<span class="_ _11"> </span>explicitly<span class="_ _11"> </span>ma<span class="_ _5"></span>rk<span class="_ _5"></span>ed<span class="_ _11"> </span>with</div><div class="t m0 x11 ha y5d ff8 fs6 fc0 sc0 ls0 ws0">[[gnu::visibility("default")]]<span class="_ _14"> </span><span class="ff4">/<span class="_ _15"> </span></span>__declspec(dllexport)<span class="_ _14"> </span><span class="ff4">.</span></div><div class="t m0 x8 ha y5e ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _16"> </span><span class="ff6">-fvisibility-inlines-hidden</span></div><div class="t m0 x5 ha y5f ffb fs6 fc0 sc0 ls0 ws0">Sets<span class="_ _11"> </span>the<span class="_ _11"> </span>visibilit<span class="_ _5"></span>y<span class="_ _11"> </span>of<span class="_ _11"> </span>inlined<span class="_ _11"> </span>functions<span class="_ _11"> </span>to<span class="_ _11"> </span>hidden<span class="ff4">.</span></div><div class="t m0 x8 hb y60 ffa fs7 fc3 sc0 ls0 ws0">Why<span class="_ _10"> </span>is<span class="_ _8"> </span>the<span class="_ _10"> </span>new<span class="_ _10"> </span>C++<span class="_ _8"> </span>visibility<span class="_ _10"> </span>support<span class="_ _10"> </span>so<span class="_ _10"> </span>useful?</div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">12/38</div><a class="l" href="https://gcc.gnu.org/wiki/Visibility"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:1.447000px;width:227.945000px;height:13.445000px;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="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 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Exceptions<span class="_ _8"> </span>Flags</div><div class="t m0 x12 ha y61 ff6 fs6 fc0 sc0 ls0 ws0">-fno-exceptions<span class="_ _14"> </span><span class="ff4">,<span class="_ _15"> </span></span>/EHsc<span class="_ _16"> </span><span class="ffb">Remove<span class="_ _11"> </span>exception<span class="_ _11"> </span>handling<span class="_ _11"> </span>co<span class="_ _c"></span>de<span class="ff4">.<span class="_ _10"> </span>The<span class="_ _11"> </span>flag<span class="_ _11"> </span>has<span class="_ _11"> </span>negligible</span></span></div><div class="t m0 x13 ha y62 ff4 fs6 fc0 sc0 ls0 ws0">impact<span class="_ _11"> </span>in<span class="_ _11"> </span>general,<span class="_ _11"> </span>esp<span class="_ _c"></span>ecially<span class="_ _11"> </span>with<span class="_ _11"> </span>optimizations.<span class="_ _10"> </span>Result:</div><div class="t m0 x13 ha y63 ff4 fs6 fc0 sc0 ls0 ws0">exceptions<span class="_ _11"> </span>a<span class="_ _5"></span>re<span class="_ _11"> </span>replaced<span class="_ _11"> </span>b<span class="_ _5"></span>y<span class="_ _15"> </span><span class="ff8">std::abort<span class="_ _14"> </span></span>.</div><div class="t m0 x14 ha y64 ff6 fs6 fc0 sc0 ls0 ws0">-fno-unwind-tables<span class="_ _16"> </span><span class="ffb">Remove<span class="_ _11"> </span>unwind<span class="_ _11"> </span>tables<span class="_ _11"> </span>fo<span class="_ _5"></span>r<span class="_ _11"> </span>exception<span class="_ _11"> </span>handling<span class="ff4">.<span class="_ _10"> </span><span class="ff8">Unwind</span></span></span></div><div class="t m0 x13 ha y65 ff8 fs6 fc0 sc0 ls0 ws0">tables<span class="_ _11"> </span><span class="ff4">a<span class="_ _5"></span>re<span class="_ _11"> </span>metadata<span class="_ _11"> </span>intro<span class="_ _c"></span>duced<span class="_ _11"> </span>in<span class="_ _11"> </span>the<span class="_ _11"> </span>co<span class="_ _c"></span>de<span class="_ _11"> </span>used<span class="_ _11"> </span>to<span class="_ _11"> </span>reverse</span></div><div class="t m0 x13 ha y66 ff4 fs6 fc0 sc0 ls0 ws0">the<span class="_ _11"> </span>effects<span class="_ _11"> </span>of<span class="_ _11"> </span>function<span class="_ _11"> </span>calls<span class="_ _11"> </span>when<span class="_ _11"> </span>an<span class="_ _11"> </span>exception<span class="_ _11"> </span>occurs.</div><div class="t m0 x13 ha y67 ff4 fs6 fc0 sc0 ls0 ws0">Removing<span class="_ _11"> </span>them<span class="_ _11"> </span>could<span class="_ _11"> </span>reduce<span class="_ _11"> </span>the<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size<span class="_ _11"> </span>ab<span class="_ _c"></span>out<span class="_ _11"> </span><span class="ff9">∼</span>10-15%.</div><div class="t m0 x9 hc y68 ff6 fs6 fc0 sc0 ls0 ws0">-D_HAS_EXCEPTIONS=0</div><div class="t m0 x9 hc y69 ff6 fs6 fc0 sc0 ls0 ws0">/D_HAS_EXCEPTIONS=0</div><div class="t m0 x13 ha y6a ffb fs6 fc0 sc0 ls0 ws0">Disable<span class="_ _11"> </span>exceptions<span class="_ _11"> </span>in<span class="_ _11"> </span>the<span class="_ _11"> </span>standa<span class="_ _5"></span>rd<span class="_ _11"> </span>lib<span class="_ _5"></span>ra<span class="_ _5"></span>ry<span class="ff4">.</span></div><div class="t m0 x15 hb y6b ffd fs7 fc3 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffa">Binary<span class="_ _10"> </span>size<span class="_ _8"> </span>and<span class="_ _10"> </span>exceptions</span></div><div class="t m0 x15 hb y6c ffd fs7 fc3 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffa">The<span class="_ _10"> </span>true<span class="_ _8"> </span>cost<span class="_ _10"> </span>of<span class="_ _10"> </span>C++<span class="_ _10"> </span>exceptions</span></div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">13/38</div><a class="l" href="https://www.sandordargo.com/blog/2023/03/29/binary-size-and-exceptions"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:16.624000px;width:124.384000px;height:9.365000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://mmomtchev.medium.com/the-true-cost-of-c-exceptions-7be7614b5d84"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:3.025000px;width:147.920000px;height:9.365000px;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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAJJ0lEQVR42u3ZsW0UQRTH4Ru0T0RP1ICIqABhYiQSB66KJqjCgSsgQK6BDoisiXjy6Ugsp5YOa+/d3vdVMPuf5KfZ8eHTlx0AALTx+9fPN1YAAKAbkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAwLNRVVYAAKCPiPCSCgBAOyIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAAmllMcLQ550V9b2a6dABgHV5SAQAQqQAA8JKz+d2/2r91P7UBAE7OSyoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAbMxyLgfNTLcFAHAhvKQCACBSAQDgJaOqrAAAQB8R4SUVAIB2RCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAA8WUwAcLQ5pxGOkJmG7bk89OElFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAAHhVo6qsAABAHxHhJRUAgHZEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAsKrFBLyWOacR+H+ZaQQAvKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAIDzNqrKCgAA9BERXlIBAGhHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAsBlLq9PMOV1JW5lpBABgHV5SAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAsHVL58M97vdX1zcu6VTu726NAACcxKiqPqeZc7qStjLTCADACiLC734AANoRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBANi6UVVWAACgj4jwkgoAQDsiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQC4KEur08w5XUlbmWkEAGAdXlIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCwdUvnwz3u91fXNy7pVO7vbo0AAJzEqKo+p5lzupK2MtMIAMAKIsLvfgAA2hGpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEA2LpRVVYAAKCPiPCSCgBAOyIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgBAX8vD9/dWgM378/WHEQA4Fx8/fxvj3dvDw9/d7nA4GAQAgBb+AewtUCGVfxS0AAAAAElFTkSuQmCC"/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Link<span class="_ _5"></span>er<span class="_ _8"> </span>Flags<span class="_ _17"> </span>1/3</div><div class="t m0 x14 ha y61 ff6 fs6 fc0 sc0 ls0 ws0">-s<span class="_ _14"> </span><span class="ff4">,<span class="_ _15"> </span><span class="ff8">-Wl,-s<span class="_ _16"> </span></span>[GCC/Clang]<span class="_ _11"> </span><span class="ffb">Remove<span class="_ _11"> </span>all<span class="_ _11"> </span>symb<span class="_ _c"></span>ol<span class="_ _11"> </span>tables<span class="_ _11"> </span>and<span class="_ _11"> </span>relo<span class="_ _c"></span>cation<span class="_ _11"> </span>info<span class="_ _5"></span>rmation<span class="ff4">.</span></span></span></div><div class="t m0 x16 ha y62 ff8 fs6 fc0 sc0 ls0 ws0">Relocation<span class="_ _f"> </span>information<span class="_ _11"> </span><span class="ff4">is<span class="_ _11"> </span>needed<span class="_ _11"> </span>b<span class="_ _5"></span>y<span class="_ _11"> </span>sha<span class="_ _5"></span>red<span class="_ _11"> </span>lib<span class="_ _5"></span>ra<span class="_ _5"></span>ries<span class="_ _11"> </span>and<span class="_ _11"> </span>fo<span class="_ _5"></span>r</span></div><div class="t m0 x16 ha y63 ff4 fs6 fc0 sc0 ls0 ws0">securit<span class="_ _5"></span>y<span class="_ _11"> </span>purp<span class="_ _c"></span>oses.</div><div class="t m0 x16 ha y6d ff4 fs6 fc0 sc0 ls0 ws0">Alternatively<span class="_ _7"></span>,<span class="_ _11"> </span>the<span class="_ _11"> </span>programs<span class="_ _15"> </span><span class="ff8">strip<span class="_ _e"> </span>-s<span class="_ _14"> </span></span>/<span class="_ _14"> </span><span class="ff8">strip.exe<span class="_ _15"> </span></span>can<span class="_ _11"> </span>b<span class="_ _c"></span>e<span class="_ _11"> </span>used<span class="_ _11"> </span>after</div><div class="t m0 x16 ha y6e ff4 fs6 fc0 sc0 ls0 ws0">the<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>is<span class="_ _11"> </span>compiled.<span class="_ _10"> </span>F<span class="_ _5"></span>o<span class="_ _5"></span>r<span class="_ _11"> </span><span class="ffb">sha<span class="_ _5"></span>red<span class="_ _11"> </span>lib<span class="_ _5"></span>raries<span class="_ _8"> </span><span class="ff4">the<span class="_ _b"> </span>to<span class="_ _c"></span>ol<span class="_ _11"> </span>provides<span class="_ _b"> </span>the<span class="_ _11"> </span>flag</span></span></div><div class="t m0 x17 ha y6f ff8 fs6 fc0 sc0 ls0 ws0">--strip-unneeded<span class="_ _15"> </span><span class="ff4">to<span class="_ _11"> </span>remove<span class="_ _11"> </span>all<span class="_ _11"> </span>symb<span class="_ _c"></span>ols<span class="_ _11"> </span>that<span class="_ _11"> </span>a<span class="_ _5"></span>re<span class="_ _11"> </span>not<span class="_ _11"> </span>needed<span class="_ _11"> </span>fo<span class="_ _5"></span>r</span></div><div class="t m0 x16 ha y70 ff4 fs6 fc0 sc0 ls0 ws0">relo<span class="_ _c"></span>cation<span class="_ _11"> </span>in<span class="_ _11"> </span>addition<span class="_ _11"> </span>to<span class="_ _11"> </span>debugging<span class="_ _11"> </span>symb<span class="_ _c"></span>ols.</div><div class="t m0 x18 ha y71 ff6 fs6 fc0 sc0 ls0 ws0">-fpic/-fPIC<span class="_ _16"> </span><span class="ff4">Don’t<span class="_ _b"> </span>use<span class="_ _b"> </span><span class="ff1">P</span>osition-<span class="ff1">I</span>ndep<span class="_ _c"></span>endent<span class="_ _11"> </span><span class="ff1">C</span>o<span class="_ _c"></span>de<span class="_ _b"> </span>if<span class="_ _b"> </span>the<span class="_ _11"> </span>ta<span class="_ _5"></span>rget<span class="_ _b"> </span>is<span class="_ _b"> </span>not<span class="_ _b"> </span>a<span class="_ _11"> </span>sha<span class="_ _5"></span>re<span class="_ _b"> </span>libra<span class="_ _5"></span>ry<span class="_ _7"></span>.</span></div><div class="t m0 x18 ha y72 ff6 fs6 fc0 sc0 ls0 ws0">-fpie/-fPIE<span class="_ _16"> </span><span class="ff4">Don’t<span class="_ _11"> </span>use<span class="_ _11"> </span><span class="ff1">P</span>osition-<span class="ff1">I</span>ndep<span class="_ _c"></span>endent<span class="_ _11"> </span><span class="ff1">E</span>xecutable<span class="_ _11"> </span>if<span class="_ _11"> </span>securit<span class="_ _5"></span>y<span class="_ _11"> </span>features<span class="_ _11"> </span>lik<span class="_ _5"></span>e</span></div><div class="t m0 x16 ha y73 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _5"></span>ddress<span class="_ _11"> </span>Space<span class="_ _11"> </span>La<span class="_ _5"></span>y<span class="_ _5"></span>out<span class="_ _11"> </span>Randomization<span class="_ _11"> </span>(ASLR)<span class="_ _11"> </span>a<span class="_ _5"></span>re<span class="_ _11"> </span>not<span class="_ _11"> </span>needed.</div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">14/38</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
|
||
<div id="pf12" class="pf w0 h0" data-page-no="12"><div class="pc pc12 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Link<span class="_ _5"></span>er<span class="_ _8"> </span>T<span class="_ _3"></span>echniques<span class="_ _18"> </span>2/3</div><div class="t m0 x8 ha y74 ff6 fs6 fc0 sc0 ls0 ws0">-Wl,--gc-sections<span class="_ _16"> </span><span class="ffb">P<span class="_ _5"></span>erfo<span class="_ _5"></span>rm<span class="_ _11"> </span>ga<span class="_ _5"></span>rbage<span class="_ _11"> </span>collection<span class="_ _11"> </span>on<span class="_ _11"> </span>sections<span class="_ _8"> </span><span class="ff4">(functions<span class="_ _11"> </span>or<span class="_ _b"> </span>data)</span></span></div><div class="t m0 x13 ha y75 ff4 fs6 fc0 sc0 ls0 ws0">that<span class="_ _11"> </span>a<span class="_ _5"></span>re<span class="_ _11"> </span>not<span class="_ _11"> </span>referenced<span class="_ _11"> </span>anywhere<span class="_ _11"> </span>in<span class="_ _11"> </span>the<span class="_ _11"> </span>whole<span class="_ _11"> </span>p<span class="_ _5"></span>rogram.<span class="_ _10"> </span>T<span class="_ _7"></span>o</div><div class="t m0 x13 ha y76 ff4 fs6 fc0 sc0 ls0 ws0">b<span class="_ _c"></span>e<span class="_ _11"> </span>effective,<span class="_ _11"> </span>the<span class="_ _11"> </span>link<span class="_ _5"></span>er<span class="_ _11"> </span>flag<span class="_ _11"> </span>should<span class="_ _11"> </span>b<span class="_ _c"></span>e<span class="_ _11"> </span>also<span class="_ _11"> </span>combined<span class="_ _11"> </span>with<span class="_ _11"> </span>the</div><div class="t m0 x13 ha y77 ff4 fs6 fc0 sc0 ls0 ws0">compiler<span class="_ _11"> </span>flags<span class="_ _15"> </span><span class="ff8">-ffunction-sections<span class="_ _15"> </span></span>and</div><div class="t m0 x19 ha y78 ff8 fs6 fc0 sc0 ls0 ws0">-fdata-sections<span class="_ _14"> </span><span class="ff4">.<span class="_ _10"> </span>The<span class="_ _11"> </span>flags<span class="_ _11"> </span>place<span class="_ _11"> </span>global/static<span class="_ _11"> </span>va<span class="_ _5"></span>riables</span></div><div class="t m0 x13 ha y79 ff4 fs6 fc0 sc0 ls0 ws0">and<span class="_ _11"> </span>functions<span class="_ _11"> </span>into<span class="_ _11"> </span>its<span class="_ _11"> </span>o<span class="_ _5"></span>wn<span class="_ _11"> </span>section<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>object<span class="_ _11"> </span>file<span class="_ _11"> </span>to<span class="_ _11"> </span>help</div><div class="t m0 x13 ha y7a ff4 fs6 fc0 sc0 ls0 ws0">the<span class="_ _11"> </span>link<span class="_ _5"></span>er.</div><div class="t m0 x1a ha y7b ff6 fs6 fc0 sc0 ls0 ws0">-Wl,--exclude-libs,ALL<span class="_ _16"> </span><span class="ffb">Don’t<span class="_ _11"> </span>exp<span class="_ _c"></span>o<span class="_ _5"></span>rt<span class="_ _11"> </span>symb<span class="_ _c"></span>ols<span class="_ _11"> </span>of<span class="_ _11"> </span>static<span class="_ _11"> </span>lib<span class="_ _5"></span>ra<span class="_ _5"></span>ries<span class="_ _11"> </span>that<span class="_ _11"> </span>are<span class="_ _b"> </span>linked<span class="_ _b"> </span>when</span></div><div class="t m0 x13 ha y7c ffb fs6 fc0 sc0 ls0 ws0">creating<span class="_ _11"> </span>sha<span class="_ _5"></span>red<span class="_ _11"> </span>lib<span class="_ _5"></span>ra<span class="_ _5"></span>ries<span class="ff4">.</span></div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">15/38</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 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Link<span class="_ _5"></span>er<span class="_ _8"> </span>T<span class="_ _3"></span>echniques<span class="_ _18"> </span>3/3</div><div class="t m0 x1b ha y7d ff6 fs6 fc0 sc0 ls0 ws0">-Wl,-nmagic<span class="_ _16"> </span><span class="ffb">T<span class="_ _7"></span>urn<span class="_ _11"> </span>off<span class="_ _11"> </span>page<span class="_ _11"> </span>memory<span class="_ _b"> </span>alignment<span class="_ _11"> </span>of<span class="_ _11"> </span>sections<span class="ff4">.</span></span></div><div class="t m0 x3 ha y7e ff6 fs6 fc0 sc0 ls0 ws0">-Wl,–pack-dyn-relocs=relr<span class="_ _16"> </span><span class="ff4">Dynamic<span class="_ _11"> </span>relo<span class="_ _c"></span>cations<span class="_ _11"> </span>a<span class="_ _5"></span>re<span class="_ _11"> </span>info<span class="_ _5"></span>rmation<span class="_ _11"> </span>sto<span class="_ _5"></span>red<span class="_ _11"> </span>in<span class="_ _11"> </span>sha<span class="_ _5"></span>red</span></div><div class="t m0 x1c ha y7f ff4 fs6 fc0 sc0 ls0 ws0">lib<span class="_ _5"></span>ra<span class="_ _5"></span>ry<span class="_ _11"> </span>used<span class="_ _11"> </span>b<span class="_ _5"></span>y<span class="_ _11"> </span>the<span class="_ _11"> </span>runtime<span class="_ _11"> </span>loader<span class="_ _11"> </span>resolves<span class="_ _11"> </span>to<span class="_ _11"> </span>map<span class="_ _11"> </span>the</div><div class="t m0 x1c ha y80 ff4 fs6 fc0 sc0 ls0 ws0">co<span class="_ _c"></span>de<span class="_ _11"> </span>into<span class="_ _b"> </span>memory<span class="_ _7"></span>.<span class="_ _10"> </span><span class="ffb">The<span class="_ _11"> </span>flag<span class="_ _11"> </span>packs<span class="_ _b"> </span>dynamic<span class="_ _11"> </span>relo<span class="_ _c"></span>cations<span class="_ _11"> </span>to</span></div><div class="t m0 x1c ha y81 ffb fs6 fc0 sc0 ls0 ws0">reduce<span class="_ _11"> </span>their<span class="_ _11"> </span>size<span class="_ _8"> </span><span class="ff4">in<span class="_ _b"> </span>the<span class="_ _11"> </span>final<span class="_ _11"> </span>ELF<span class="_ _11"> </span>by<span class="_ _b"> </span>using<span class="_ _11"> </span>more<span class="_ _b"> </span>compact</span></div><div class="t m0 x1c ha y82 ff4 fs6 fc0 sc0 ls0 ws0">enco<span class="_ _c"></span>dings.</div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">16/38</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAImklEQVR42u3ZsU3DUBSGUT/kKyqLGVAqJkARNVJWoGAelmADisyAlCJDsEGqyEXCbUyXjoaGa+ecCfx+u/j03FaPTx0AAJTxtd/dWAEAgGpEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAFy0zrQAAQB0R4SYVAIByRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAABf9Ug82juOSjjMMg48VALgeblIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAwP9qmWkFAADqiAg3qQAAlCNSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqSYAAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAACL0s/lQU/n8+bl1QuDefncfhgBgD9omWkFAADqiAi/+wEAKEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQDgN/3x7d4KwEwdnt+NALA8D+tNa3e30/G766ZpMggAACX8AP71IwDExz2aAAAAAElFTkSuQmCC"/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Link-Time<span class="_ _8"> </span>Optimization<span class="_ _8"> </span>(L<span class="_ _7"></span>TO)</div><div class="t m0 x1d ha y83 ff6 fs6 fc0 sc0 ls0 ws0">-flto<span class="_ _16"> </span><span class="ffb">Enable<span class="_ _11"> </span>Link<span class="_ _11"> </span>Time<span class="_ _11"> </span>Optimizations<span class="ff4">.</span></span></div><div class="t m0 x1e ha y84 ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span>flag<span class="_ _11"> </span>must<span class="_ _11"> </span>b<span class="_ _c"></span>e<span class="_ _11"> </span>used<span class="_ _11"> </span>in<span class="_ _11"> </span>b<span class="_ _c"></span>oth<span class="_ _11"> </span>compile<span class="_ _11"> </span>and<span class="_ _11"> </span>link<span class="_ _11"> </span>stages.<span class="_ _10"> </span>It<span class="_ _11"> </span>could<span class="_ _11"> </span>reduce<span class="_ _11"> </span>the</div><div class="t m0 x1e ha y22 ff4 fs6 fc0 sc0 ls0 ws0">bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size<span class="_ _11"> </span>b<span class="_ _5"></span>y<span class="_ _11"> </span>30%,<span class="_ _11"> </span>esp<span class="_ _c"></span>ecially<span class="_ _11"> </span>if<span class="_ _11"> </span>combined<span class="_ _11"> </span>with<span class="_ _11"> </span>optimization<span class="_ _11"> </span>flags<span class="_ _11"> </span>that</div><div class="t m0 x1e ha y85 ff4 fs6 fc0 sc0 ls0 ws0">do<span class="_ _c"></span>esn’t<span class="_ _11"> </span>increase<span class="_ _11"> </span>the<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size.<span class="_ _10"> </span>In<span class="_ _11"> </span>other<span class="_ _11"> </span>cases,<span class="_ _11"> </span>the<span class="_ _11"> </span>flag<span class="_ _11"> </span>could<span class="_ _11"> </span>have<span class="_ _11"> </span>the</div><div class="t m0 x1e ha y86 ff4 fs6 fc0 sc0 ls0 ws0">opp<span class="_ _c"></span>osite<span class="_ _11"> </span>result,<span class="_ _11"> </span>increasing<span class="_ _11"> </span>the<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size.</div><div class="t m0 x15 hb y87 ffd fs7 fc3 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffa">Link-Time<span class="_ _10"> </span>Optimizations:<span class="_ _1"> </span>New<span class="_ _10"> </span>Way<span class="_ _10"> </span>to<span class="_ _10"> </span>Do<span class="_ _8"> </span>Compiler<span class="_ _10"> </span>Optimizations</span></div><div class="t m0 x15 hb y88 ffd fs7 fc3 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffa">Linktime<span class="_ _10"> </span>optimization<span class="_ _8"> </span>in<span class="_ _10"> </span>GCC,<span class="_ _10"> </span>part<span class="_ _10"> </span>3<span class="_ _8"> </span>-<span class="_ _10"> </span>LibreOffice</span></div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">17/38</div><a class="l" href="https://johnnysswlab.com/link-time-optimizations-new-way-to-do-compiler-optimizations/"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:20.834000px;width:293.848000px;height:9.365000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://hubicka.blogspot.com/2014/09/linktime-optimization-in-gcc-part-3.html"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:6.239000px;width:237.360000px;height:9.365000px;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="pf15" class="pf w0 h0" data-page-no="15"><div class="pc pc15 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIjElEQVR42u3YsWkDQRCG0Vtxg6LFNQhHrsAIxwJ15iZUjgIV4Q4ciY08ySlTbGQwc+i9CpZ/k49pr+8fEwAAlPF1OW+sAABANSIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAIC7lplWAACgjohwSQUAoByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAAappX9NYxhg8DAHhM731Fr3VJBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQDgz1pmWgEAgDoiwiUVAIByRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAA/LN5RW8dY/gwAIDH9N5X9FqXVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAA+KWWmVYAAKCOiHBJBQCgHJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAMDTm6+fOysAT+77cDICQB1v+2NrL9vl+jNNy7IYBACAEm4/RSAAN9gkwgAAAABJRU5ErkJggg=="/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">CMak<span class="_ _5"></span>e<span class="_ _8"> </span>Supp<span class="_ _c"></span>o<span class="_ _5"></span>rt</div><div class="t m0 x1 hb y89 ffa fs7 fc4 sc0 ls0 ws0">set_target_properties<span class="fc0">(<span class="fc5">my_program<span class="_ _10"> </span>PROPERTIES</span></span></div><div class="t m0 xb hb y8a ffa fs7 fc5 sc0 ls0 ws0">C_VISIBILITY_PRESET<span class="_ _19"> </span>hidden</div><div class="t m0 xb hb y8b ffa fs7 fc5 sc0 ls0 ws0">CXX_VISIBILITY_PRESET<span class="_ _1a"> </span>hidden</div><div class="t m0 xb hb y8c ffa fs7 fc5 sc0 ls0 ws0">VISIBILITY_INLINES_HIDDEN<span class="_ _10"> </span>YES</div><div class="t m0 x1 hb y8d ffa fs7 fc0 sc0 ls0 ws0">)</div><div class="t m0 x1 hb y8e ffa fs7 fc4 sc0 ls0 ws0">set_property<span class="fc0">(<span class="fc5">TARGET<span class="_ _10"> </span>my_program<span class="_ _8"> </span>PROPERTY</span></span></div><div class="t m0 xb hb y8f ffa fs7 fc5 sc0 ls0 ws0">INTERPROCEDURAL_OPTIMIZATION<span class="_ _10"> </span>ON<span class="_ _1"> </span><span class="ffe fc6">#<span class="_ _10"> </span>LTO</span></div><div class="t m0 x1 hb y90 ffa fs7 fc0 sc0 ls0 ws0">)</div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">18/38</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIX0lEQVR42u3YsQ3CMBRFURvFSskMUSomQIgaic2yRMZJkSGyAVVK3JiOBULxhc4Z4VVXL4/XewIAgDC2dTlZAQCAaEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAABfudZqBQAA4iileFIBAAhHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFJNAACASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApJoAAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUA4H90+zRYAeAnXo/ZCADHXW7PnM99298ptdYMAgBACB+SJRQE5EpRbgAAAABJRU5ErkJggg=="/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">References</div><div class="t m0 x8 ha y91 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff8">Trying<span class="_ _f"> </span>to<span class="_ _f"> </span>minimize<span class="_ _f"> </span>C/C++<span class="_ _e"> </span>binary<span class="_ _f"> </span>size<span class="_ _f"> </span>as<span class="_ _f"> </span>much<span class="_ _f"> </span>as<span class="_ _f"> </span>possible<span class="_ _14"> </span><span class="ffc fs8"></span></span></div><div class="t m0 x8 ha y92 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff8">How<span class="_ _f"> </span>to<span class="_ _f"> </span>make<span class="_ _f"> </span>smaller<span class="_ _e"> </span>C<span class="_ _f"> </span>and<span class="_ _f"> </span>C++<span class="_ _f"> </span>binaries<span class="_ _14"> </span><span class="ffc fs8"></span></span></div><div class="t m0 x8 ha y93 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff8">How<span class="_ _f"> </span>to<span class="_ _f"> </span>minimize<span class="_ _f"> </span>Rust<span class="_ _e"> </span>binary<span class="_ _f"> </span>size<span class="_ _14"> </span><span class="ffc fs8"></span></span></div><div class="t m0 x8 ha y94 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff8">State<span class="_ _f"> </span>of<span class="_ _f"> </span>the<span class="_ _f"> </span>art<span class="_ _e"> </span>for<span class="_ _f"> </span>reducing<span class="_ _f"> </span>executable<span class="_ _f"> </span>size<span class="_ _f"> </span>with<span class="_ _f"> </span>heavily</span></div><div class="t m0 x5 hd y95 ff8 fs6 fc0 sc0 ls0 ws0">optimized<span class="_ _f"> </span>program<span class="_ _14"> </span><span class="ffc fs8"></span></div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">19/38</div><a class="l" href="https://www.reddit.com/r/cpp_questions/comments/ljrzvg/trying_to_minimize_cc_binary_size_as_much_as/"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:165.949000px;width:331.727000px;height:11.993000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://ptspts.blogspot.com/2013/12/how-to-make-smaller-c-and-c-binaries.html"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:140.837000px;width:228.637000px;height:8.528000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://github.com/johnthagen/min-sized-rust"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:110.876000px;width:194.273000px;height:10.952000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://discourse.llvm.org/t/state-of-the-art-for-reducing-executable-size-with-heavily-optimized-program/87952"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:83.339000px;width:377.025000px;height:10.952000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://discourse.llvm.org/t/state-of-the-art-for-reducing-executable-size-with-heavily-optimized-program/87952"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:67.758000px;width:108.364000px;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 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 x7 h2 y96 ff1 fs0 fc0 sc0 ls0 ws0">Co<span class="_ _0"></span>ding<span class="_ _1"> </span>Asp<span class="_ _0"></span>ects</div><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:105.775000px;bottom:132.432000px;width:179.226000px;height:24.026000px;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="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 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>Inlining</div><div class="t m0 x1 ha y29 ff1 fs6 fc0 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _6"> </span>inlining<span class="_ _11"> </span><span class="ff4">do<span class="_ _c"></span>esn’t<span class="_ _11"> </span>automatically<span class="_ _11"> </span>translate<span class="_ _11"> </span>in<span class="_ _11"> </span>larger<span class="_ _b"> </span>binary<span class="_ _b"> </span>size:</span></div><div class="t m0 x8 ha y97 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffb">Inlining<span class="_ _10"> </span><span class="ff4">can<span class="_ _b"> </span>reduce<span class="_ _11"> </span>co<span class="_ _c"></span>de<span class="_ _11"> </span>size<span class="_ _11"> </span>if<span class="_ _11"> </span>the<span class="_ _11"> </span>function<span class="_ _11"> </span>b<span class="_ _c"></span>o<span class="_ _c"></span>dy<span class="_ _11"> </span>is<span class="_ _11"> </span>smaller<span class="_ _11"> </span>than<span class="_ _11"> </span>the<span class="_ _11"> </span>overhead<span class="_ _11"> </span>of</span></span></div><div class="t m0 x5 ha y98 ff4 fs6 fc0 sc0 ls0 ws0">a<span class="_ _11"> </span>function<span class="_ _11"> </span>call<span class="_ _11"> </span>(pa<span class="_ _5"></span>rameters,<span class="_ _11"> </span>returning<span class="_ _11"> </span>values,<span class="_ _11"> </span>function<span class="_ _11"> </span>call/jump).</div><div class="t m0 x8 ha y99 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffb">Inlining<span class="_ _10"> </span><span class="ff4">increases<span class="_ _b"> </span>co<span class="_ _c"></span>de<span class="_ _11"> </span>size<span class="_ _11"> </span>for<span class="_ _b"> </span>non-trivial<span class="_ _11"> </span>functions<span class="_ _11"> </span>due<span class="_ _11"> </span>to<span class="_ _11"> </span>duplicating<span class="_ _11"> </span>the</span></span></div><div class="t m0 x5 ha y9a ff4 fs6 fc0 sc0 ls0 ws0">function<span class="_ _11"> </span>b<span class="_ _c"></span>o<span class="_ _c"></span>dy<span class="_ _11"> </span>at<span class="_ _11"> </span>each<span class="_ _11"> </span>call<span class="_ _11"> </span>site.</div><div class="t m0 x8 ha y9b ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffb">Inlining<span class="_ _10"> </span><span class="ff4">is<span class="_ _b"> </span>controlled<span class="_ _11"> </span>by</span></span></div><div class="t m0 xf ha y9c ff7 fs6 fc0 sc0 ls0 ws0">◦<span class="_ _e"> </span><span class="ff4">Compiler<span class="_ _11"> </span>optimization<span class="_ _11"> </span>flags,<span class="_ _11"> </span>e.g.<span class="_ _4"> </span><span class="ff8">-O3<span class="_ _14"> </span></span>,<span class="_ _15"> </span><span class="ff8">-finline-functions<span class="_ _14"> </span></span>.</span></div><div class="t m0 xf ha y9d ff7 fs6 fc0 sc0 ls0 ws0">◦<span class="_ _e"> </span><span class="ff4">F<span class="_ _5"></span>unction<span class="_ _11"> </span>size<span class="_ _11"> </span>and<span class="_ _11"> </span>inlining<span class="_ _11"> </span>depth.</span></div><div class="t m0 xf ha y9e ff7 fs6 fc0 sc0 ls0 ws0">◦<span class="_ _e"> </span><span class="ff4">F<span class="_ _5"></span>unction<span class="_ _b"> </span>decorato<span class="_ _5"></span>rs:<span class="_ _4"> </span><span class="ff8">inline<span class="_ _1b"> </span></span>(increase<span class="_ _b"> </span>inlining<span class="_ _b"> </span>heuristic),<span class="_ _15"> </span><span class="ff8">__forceinline<span class="_ _14"> </span></span>,</span></div><div class="t m0 x1f ha y9f ff8 fs6 fc0 sc0 ls0 ws0">[[gnu::always_inline]]<span class="_ _14"> </span><span class="ff4">.</span></div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">20/38</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
|
||
<div id="pf19" class="pf w0 h0" data-page-no="19"><div class="pc pc19 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">F<span class="_ _5"></span>unction<span class="_ _8"> </span>Visibilit<span class="_ _5"></span>y</div><div class="t m0 x1 ha ya0 ff4 fs6 fc0 sc0 ls0 ws0">All<span class="_ _11"> </span>functions<span class="_ _11"> </span>that<span class="_ _11"> </span>a<span class="_ _5"></span>re<span class="_ _11"> </span>not<span class="_ _11"> </span>pa<span class="_ _5"></span>rt<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ffb">public<span class="_ _11"> </span>interface<span class="_ _8"> </span></span>should<span class="_ _b"> </span>b<span class="_ _c"></span>e<span class="_ _11"> </span>declared<span class="_ _b"> </span>with<span class="_ _11"> </span><span class="ffb">hidden</span></div><div class="t m0 x1 ha ya1 ffb fs6 fc0 sc0 ls0 ws0">visibilit<span class="_ _5"></span>y<span class="_ _4"> </span><span class="ff8">[[gnu::visibility("hidden")]]<span class="_ _15"> </span><span class="ff4">to<span class="_ _11"> </span>avoid<span class="_ _11"> </span>exp<span class="_ _c"></span>o<span class="_ _5"></span>rting<span class="_ _11"> </span>the<span class="_ _11"> </span>asso<span class="_ _c"></span>ciated</span></span></div><div class="t m0 x1 ha ya2 ff4 fs6 fc0 sc0 ls0 ws0">symb<span class="_ _c"></span>ols.</div><div class="t m0 x1 hb ya3 ffa fs7 fc0 sc0 ls0 ws0">[[gnu<span class="fc7">::</span>visibility(<span class="fc5">"hidden"</span>)]]</div><div class="t m0 x1 hb ya4 ff6 fs7 fc8 sc0 ls0 ws0">void<span class="_"> </span><span class="ffa fc0">private_function()<span class="_ _10"> </span>{<span class="_ _8"> </span>...<span class="_ _10"> </span>};</span></div><div class="t m0 x1 hb ya5 ff6 fs7 fc8 sc0 ls0 ws0">void<span class="_"> </span><span class="ffa fc9">public_function<span class="fc0">()<span class="_ _10"> </span>{<span class="_ _8"> </span>private_function();<span class="_ _10"> </span>}</span></span></div><div class="t m0 x1 hb ya6 ffe fs7 fc6 sc0 ls0 ws0">//<span class="_ _10"> </span>-fvisibility=hidden</div><div class="t m0 x1 hb ya7 ff6 fs7 fc8 sc0 ls0 ws0">void<span class="_"> </span><span class="ffa fc9">private_function<span class="fc0">()<span class="_ _10"> </span>{<span class="_ _8"> </span>...<span class="_ _10"> </span>};</span></span></div><div class="t m0 x1 hb ya8 ffa fs7 fc0 sc0 ls0 ws0">[[gnu<span class="fc7">::</span>visibility(<span class="fc5">"default"</span>)]]</div><div class="t m0 x1 hb ya9 ff6 fs7 fc8 sc0 ls0 ws0">void<span class="_"> </span><span class="ffa fc0">public_function()<span class="_ _10"> </span>{<span class="_ _8"> </span>private_function();<span class="_ _10"> </span>}</span></div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">21/38</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIfklEQVR42u3ZsQkCMQCG0UQuWDqDWDmBiLVwK1g4j0u4gYUzCBYO4QZWV3mmiZ2djYjk5L0Jwp/mI4mzxSoAAEA1rpfzyAoAANRGpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAA8BJzzlYAAKAeKSUvqQAAVEekAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUk0AAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAA8H3NUA567/t2s3VhMCyn48EIAHwg5pytAABAPVJKvvsBAKiOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUA4G803W5qBQDeua33RgB+bL5sY5yMS/cIoZRiEAAAqvAEiQkdAlnzAy8AAAAASUVORK5CYII="/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplates<span class="_ _8"> </span>Intro<span class="_ _c"></span>duction</div><div class="t m0 x1 ha yaa ff1 fs6 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>emplates<span class="_ _11"> </span><span class="ff4">allow<span class="_ _b"> </span>creating<span class="_ _11"> </span><span class="ffb">generalized<span class="_ _10"> </span></span>versions<span class="_ _b"> </span>of<span class="_ _11"> </span>functions,<span class="_ _11"> </span>classes,<span class="_ _11"> </span>and<span class="_ _11"> </span>variables<span class="_ _b"> </span>that</span></div><div class="t m0 x1 ha yab ff4 fs6 fc0 sc0 ls0 ws0">w<span class="_ _5"></span>o<span class="_ _5"></span>rk<span class="_ _11"> </span>with<span class="_ _11"> </span>different<span class="_ _11"> </span>data<span class="_ _11"> </span>t<span class="_ _5"></span>yp<span class="_ _c"></span>es<span class="_ _11"> </span>o<span class="_ _5"></span>r<span class="_ _11"> </span>compile-time<span class="_ _11"> </span>constants.</div><div class="t m0 x1 ha yac ff4 fs6 fc0 sc0 ls0 ws0">Even<span class="_ _11"> </span>minimal<span class="_ _11"> </span>template<span class="_ _11"> </span>instantiation,<span class="_ _11"> </span>lik<span class="_ _5"></span>e<span class="_ _11"> </span>t<span class="_ _5"></span>yp<span class="_ _c"></span>e<span class="_ _11"> </span>traits,<span class="_ _11"> </span>costs<span class="_ _11"> </span>1KB<span class="_ _11"> </span>of<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size.</div><div class="t m0 x1 ha yad ffb fs6 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _11"> </span>co<span class="_ _c"></span>de<span class="_ _8"> </span><span class="ff4">can<span class="_ _11"> </span>have<span class="_ _11"> </span>a<span class="_ _11"> </span>la<span class="_ _5"></span>rge<span class="_ _11"> </span>impact<span class="_ _11"> </span>on<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size<span class="_ _11"> </span>b<span class="_ _c"></span>ecause<span class="_ _11"> </span>the<span class="_ _11"> </span>compiler<span class="_ _11"> </span>generates</span></div><div class="t m0 x1 ha yae ff4 fs6 fc0 sc0 ls0 ws0">co<span class="_ _c"></span>de<span class="_ _11"> </span>fo<span class="_ _5"></span>r<span class="_ _11"> </span><span class="ffb">each<span class="_ _11"> </span>instantiation</span>.</div><div class="t m0 x1 ha yaf ff4 fs6 fc0 sc0 ls0 ws0">Because<span class="_ _11"> </span>the<span class="_ _11"> </span>generation<span class="_ _11"> </span>p<span class="_ _5"></span>ro<span class="_ _c"></span>cess<span class="_ _11"> </span>is<span class="_ _11"> </span><span class="ffb">automatic<span class="_ _11"> </span>and<span class="_ _11"> </span>implicit</span>,<span class="_ _11"> </span>it<span class="_ _11"> </span>is<span class="_ _11"> </span>often<span class="_ _11"> </span>difficult<span class="_ _11"> </span>to<span class="_ _11"> </span>k<span class="_ _5"></span>eep</div><div class="t m0 x1 ha yb0 ff4 fs6 fc0 sc0 ls0 ws0">track<span class="_ _11"> </span>of<span class="_ _11"> </span>all<span class="_ _11"> </span>instantiations,<span class="_ _11"> </span>causing<span class="_ _11"> </span>the<span class="_ _11"> </span>size<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>to<span class="_ _11"> </span>gro<span class="_ _5"></span>w<span class="_ _11"> </span>rapidly<span class="_ _7"></span>.<span class="_ _10"> </span>The<span class="_ _11"> </span>problem</div><div class="t m0 x1 ha yb1 ff4 fs6 fc0 sc0 ls0 ws0">is<span class="_ _11"> </span>exacerbated<span class="_ _11"> </span>b<span class="_ _5"></span>y<span class="_ _11"> </span>multiple<span class="_ _11"> </span>template<span class="_ _11"> </span>entities,<span class="_ _11"> </span>nested<span class="_ _11"> </span>calls,<span class="_ _11"> </span>and<span class="_ _11"> </span>metap<span class="_ _5"></span>rogramming.</div><div class="t m0 x15 hb yb2 ffd fs7 fc3 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffa">2024<span class="_ _10"> </span>LLVM<span class="_ _8"> </span>Dev<span class="_ _10"> </span>Mtg<span class="_ _10"> </span>-<span class="_ _10"> </span>Generic<span class="_ _8"> </span>implementation<span class="_ _10"> </span>strategies<span class="_ _10"> </span>in<span class="_ _8"> </span>Carbon<span class="_ _10"> </span>and<span class="_ _10"> </span>Clang<span class="_ _1c"> </span><span class="ffc fs8"></span></span></div><div class="t m0 x15 hb yb3 ffd fs7 fc3 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffa">Factoid:<span class="_ _12"> </span>Each<span class="_ _8"> </span>class<span class="_ _10"> </span>template<span class="_ _10"> </span>instantiation<span class="_ _8"> </span>costs<span class="_ _10"> </span>1KiB<span class="_ _1c"> </span><span class="ffc fs8"></span></span></div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">22/38</div><a class="l" href="https://www.youtube.com/watch?v=j0BL52NdjAU"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:22.483000px;width:354.166000px;height:9.365000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://discourse.llvm.org/t/factoid-each-class-template-instantiation-costs-1kib/86189/6"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:7.888000px;width:264.727000px;height:9.365000px;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="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,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"/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Instantiation<span class="_ _1d"> </span>1/4</div><div class="t m0 x1 ha yaa ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _15"> </span><span class="ff6">template<span class="_ _15"> </span><span class="ff1">class/function<span class="_ _11"> </span></span></span>is<span class="_ _11"> </span><span class="ff1">instantiated<span class="_ _11"> </span></span>in<span class="_ _11"> </span>the<span class="_ _11"> </span>following<span class="_ _b"> </span>cases:</div><div class="t m0 x9 ha yb4 ff1 fs6 fc0 sc0 ls0 ws0">Class/F<span class="_ _5"></span>unction<span class="_ _e"> </span><span class="ff4">F<span class="_ _5"></span>ull<span class="_ _11"> </span>sp<span class="_ _c"></span>ecialization.</span></div><div class="t m0 x9 ha yb5 ff1 fs6 fc0 sc0 ls0 ws0">Class/F<span class="_ _5"></span>unction<span class="_ _e"> </span><span class="ff4">Explicit<span class="_ _11"> </span>instantiation.</span></div><div class="t m0 x9 ha yb6 ff1 fs6 fc0 sc0 ls0 ws0">Class/F<span class="_ _5"></span>unction<span class="_ _e"> </span><span class="ff4">The<span class="_ _15"> </span><span class="ff8">template<span class="_ _15"> </span></span>is<span class="_ _11"> </span>defined/called<span class="_ _11"> </span>within<span class="_ _11"> </span>the<span class="_ _11"> </span>b<span class="_ _c"></span>o<span class="_ _c"></span>dy<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span>fully</span></div><div class="t m0 x16 ha yb7 ff4 fs6 fc0 sc0 ls0 ws0">sp<span class="_ _c"></span>ecialized/non-template<span class="_ _11"> </span>function<span class="_ _11"> </span>o<span class="_ _5"></span>r<span class="_ _11"> </span>class.</div><div class="t m0 x20 ha yb8 ff1 fs6 fc0 sc0 ls0 ws0">Class<span class="_ _e"> </span><span class="ff4">A<span class="_ _11"> </span>function<span class="_ _11"> </span>has<span class="_ _11"> </span>a<span class="_ _11"> </span>sp<span class="_ _c"></span>ecialized<span class="_ _15"> </span><span class="ff8">template<span class="_ _15"> </span></span>class<span class="_ _11"> </span><span class="ffb">return<span class="_ _11"> </span>type<span class="_ _8"> </span></span>and<span class="_ _11"> </span>the</span></div><div class="t m0 x16 ha yb9 ff4 fs6 fc0 sc0 ls0 ws0">function<span class="_ _11"> </span>is<span class="_ _11"> </span>defined<span class="_ _11"> </span>(b<span class="_ _c"></span>o<span class="_ _c"></span>dy)<span class="_ _11"> </span>o<span class="_ _5"></span>r<span class="_ _11"> </span>called.</div><div class="t m0 x8 hb yba ffa fs7 fc3 sc0 ls0 ws0">Build<span class="_ _10"> </span>Throughput<span class="_ _8"> </span>Series:<span class="_ _12"> </span>Template<span class="_ _10"> </span>Metaprogramming<span class="_ _8"> </span>Fundamentals</div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">23/38</div><a class="l" href="https://devblogs.microsoft.com/cppblog/build-throughput-series-template-metaprogramming-fundamentals/"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:1.398000px;width:298.555000px;height:13.445000px;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="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 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Instantiation<span class="_ _1d"> </span>2/4</div><div class="t m0 x1 ha ybb ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _15"> </span><span class="ff6">template<span class="_ _15"> </span></span>is<span class="_ _11"> </span><span class="ff1">not<span class="_ _6"> </span>instantiated<span class="_ _11"> </span></span>in<span class="_ _11"> </span>the<span class="_ _11"> </span>following<span class="_ _b"> </span>cases:</div><div class="t m0 x8 ha ybc ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">A<span class="_ _11"> </span><span class="ffb">p<span class="_ _c"></span>ointer<span class="_ _10"> </span></span>to<span class="_ _11"> </span>a<span class="_ _11"> </span>sp<span class="_ _c"></span>ecialized<span class="_ _15"> </span><span class="ff8">template<span class="_ _15"> </span></span>class.</span></div><div class="t m0 x8 ha ybd ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">A<span class="_ _11"> </span><span class="ffb">t<span class="_ _5"></span>yp<span class="_ _c"></span>e<span class="_ _11"> </span>declaration<span class="ff4">.</span></span></span></div><div class="t m0 x8 ha ybe ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">The<span class="_ _15"> </span><span class="ff8">template<span class="_ _15"> </span></span>class/function<span class="_ _11"> </span>is<span class="_ _11"> </span>defined<span class="_ _11"> </span>within<span class="_ _11"> </span>the<span class="_ _11"> </span>b<span class="_ _c"></span>o<span class="_ _c"></span>dy<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span>non-fully</span></div><div class="t m0 x5 ha ybf ff4 fs6 fc0 sc0 ls0 ws0">sp<span class="_ _c"></span>ecialized<span class="_ _11"> </span>function<span class="_ _11"> </span>o<span class="_ _5"></span>r<span class="_ _11"> </span>class,<span class="_ _11"> </span>and<span class="_ _11"> </span>dep<span class="_ _c"></span>ends<span class="_ _11"> </span>on<span class="_ _11"> </span>their<span class="_ _11"> </span>template<span class="_ _11"> </span>pa<span class="_ _5"></span>rameters.</div><div class="t m0 x1 ha yc0 ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span>compiler<span class="_ _11"> </span>do<span class="_ _c"></span>esn’t<span class="_ _11"> </span>generate<span class="_ _11"> </span>the<span class="_ _11"> </span>co<span class="_ _c"></span>de<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _15"> </span><span class="ff6">template<span class="_ _15"> </span><span class="ff1">class/functions<span class="_ _11"> </span></span></span>if<span class="_ _11"> </span>it<span class="_ _11"> </span>has</div><div class="t m0 x1 ha yc1 ff4 fs6 fc0 sc0 ls0 ws0">already<span class="_ _11"> </span>b<span class="_ _c"></span>een<span class="_ _11"> </span><span class="ffb">instantiated<span class="_ _10"> </span></span>before<span class="_ _b"> </span>in<span class="_ _11"> </span>the<span class="_ _11"> </span>same<span class="_ _11"> </span>translation<span class="_ _11"> </span>unit.</div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">24/38</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 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Instantiation<span class="_ _1d"> </span>3/4</div><div class="t m0 x1 hb yc2 ff6 fs7 fc8 sc0 ls0 ws0">void<span class="_"> </span><span class="ffa fc9">f<span class="fc0">()<span class="_ _10"> </span>{<span class="_ _8"> </span>std<span class="fc7">::</span>array<span class="fc7"><</span></span></span>int<span class="ffa fc0">,<span class="_ _10"> </span><span class="fc7">2><span class="_ _10"> </span></span>array;<span class="_ _8"> </span>}<span class="_ _12"> </span><span class="ffe fc6">//<span class="_ _10"> </span>first<span class="_ _8"> </span>instantiation</span></span></div><div class="t m0 x1 hb yc3 ff6 fs7 fc4 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc9">A<span class="_"> </span><span class="ffa fc0">{</span></span></div><div class="t m0 xb hb yc4 ffa fs7 fc0 sc0 ls0 ws0">std<span class="fc7">::</span>array<span class="fc7"><<span class="ff6 fc8">float</span></span>,<span class="_ _10"> </span><span class="fc7">2><span class="_ _8"> </span></span>array;<span class="_ _10"> </span><span class="ffe fc6">//<span class="_ _10"> </span>second<span class="_ _8"> </span>instantiation</span></div><div class="t m0 x1 hb yc5 ffa fs7 fc0 sc0 ls0 ws0"><span class="fca sc0">};</span></div><div class="t m0 x1 hb yc6 ff6 fs7 fc8 sc0 ls0 ws0">void<span class="_"> </span><span class="ffa fc9">f<span class="fc0">(std<span class="fc7">::</span>array<span class="fc7"><</span></span></span>int<span class="ffa fc0">,<span class="_ _10"> </span><span class="fc7">2>*<span class="_ _8"> </span></span>array);<span class="_ _10"> </span><span class="ffe fc6">//<span class="_ _10"> </span>not<span class="_ _8"> </span>instantiated</span></span></div><div class="t m0 x1 hb yc7 ff6 fs7 fc8 sc0 ls0 ws0">void<span class="_"> </span><span class="ffa fc9">f<span class="fc0">(std<span class="fc7">::</span>array<span class="fc7"><</span></span></span>int<span class="ffa fc0">,<span class="_ _10"> </span><span class="fc7">2>&<span class="_ _8"> </span></span>array);<span class="_ _10"> </span><span class="ffe fc6">//<span class="_ _10"> </span>instantiated</span></span></div><div class="t m0 x1 hb yc8 ff6 fs7 fc4 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc9">A<span class="_"> </span><span class="ffa fc0">{</span></span></div><div class="t m0 xb hb yc9 ffa fs7 fc0 sc0 ls0 ws0">std<span class="fc7">::</span>array<span class="fc7"><<span class="ff6 fc8">float</span></span>,<span class="_ _10"> </span><span class="fc7">2>*<span class="_ _8"> </span></span>array1;<span class="_ _10"> </span><span class="ffe fc6">//<span class="_ _10"> </span>not<span class="_ _8"> </span>instantiated</span></div><div class="t m0 xb hb yca ffa fs7 fc0 sc0 ls0 ws0">std<span class="fc7">::</span>array<span class="fc7"><<span class="ff6 fc8">float</span></span>,<span class="_ _10"> </span><span class="fc7">2>&<span class="_ _8"> </span></span>array2;<span class="_ _10"> </span><span class="ffe fc6">//<span class="_ _10"> </span>instantiated</span></div><div class="t m0 x1 hb ycb ffa fs7 fc0 sc0 ls0 ws0"><span class="fca sc0">};</span></div><div class="t m0 x1 hb ycc ffa fs7 fc0 sc0 ls0 ws0">std<span class="fc7">::</span>array<span class="fc7"><<span class="ff6 fc8">int</span></span>,<span class="_ _10"> </span><span class="fc7">2><span class="_ _8"> </span></span>f();<span class="_ _10"> </span><span class="ffe fc6">//<span class="_ _10"> </span>not<span class="_ _8"> </span>instantiated</span></div><div class="t m0 x1 hb ycd ffa fs7 fc0 sc0 ls0 ws0">f();<span class="_ _1e"> </span><span class="ffe fc6">//<span class="_ _10"> </span>std::array<int,<span class="_ _8"> </span>2><span class="_ _10"> </span>instantiated</span></div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">25/38</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 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>Instantiation<span class="_ _1d"> </span>4/4</div><div class="t m0 x1 hb yce ff6 fs7 fc4 sc0 ls0 ws0">template<span class="ffa fc7"><</span>typename<span class="_"> </span><span class="fc9">T<span class="ffa fc0">,<span class="_ _10"> </span></span><span class="fc8">int<span class="_"> </span><span class="ffa fc0">N<span class="fc7">></span></span></span></span></div><div class="t m0 x1 hb ycf ff6 fs7 fc8 sc0 ls0 ws0">void<span class="_"> </span><span class="ffa fc0">f()<span class="_ _10"> </span>{<span class="_ _8"> </span>std<span class="fc7">::</span>array<span class="fc7"><</span>T,<span class="_ _10"> </span>N<span class="fc7">><span class="_ _10"> </span></span>array;<span class="_ _8"> </span>}<span class="_ _12"> </span><span class="ffe fc6">//<span class="_ _10"> </span>not<span class="_ _8"> </span>instantiated</span></span></div><div class="t m0 x1 hb yd0 ffa fs7 fc0 sc0 ls0 ws0">f<span class="fc7"><<span class="ff6 fc8">int</span></span>,<span class="_ _10"> </span><span class="fc7">4></span>();<span class="_ _1f"> </span><span class="ffe fc6">//<span class="_ _10"> </span>std::array<int,<span class="_ _8"> </span>4><span class="_ _10"> </span>instantiated</span></div><div class="t m0 x1 hb yd1 ff6 fs7 fc4 sc0 ls0 ws0">template<span class="ffa fc7"><</span>typename<span class="_"> </span><span class="fc9">T<span class="ffa fc0">,<span class="_ _10"> </span></span><span class="fc8">int<span class="_"> </span><span class="ffa fc0">N<span class="fc7">></span></span></span></span></div><div class="t m0 x1 hb yd2 ff6 fs7 fc4 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc9">A<span class="_"> </span><span class="ffa fc0">{</span></span></div><div class="t m0 xb hb yd3 ffa fs7 fc0 sc0 ls0 ws0">std<span class="fc7">::</span>array<span class="fc7"><</span>T,<span class="_ _10"> </span>N<span class="fc7">><span class="_ _8"> </span></span>array;<span class="_ _20"> </span><span class="ffe fc6">//<span class="_ _10"> </span>not<span class="_ _8"> </span>instantiated</span></div><div class="t m0 x1 hb yd4 ffa fs7 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 hb yd5 ff6 fs7 fc4 sc0 ls0 ws0">template<span class="ffa fc7"><</span>typename<span class="_"> </span><span class="fc9">T<span class="ffa fc7">></span></span></div><div class="t m0 x1 hb yd6 ff6 fs7 fc4 sc0 ls0 ws0">struct<span class="_"> </span><span class="fc9">A<span class="ffa fc7"><<span class="fc0">T,<span class="_ _10"> </span></span>3><span class="_ _8"> </span><span class="fc0">{</span></span></span></div><div class="t m0 xb hb yd7 ffa fs7 fc0 sc0 ls0 ws0">std<span class="fc7">::</span>array<span class="fc7"><</span>T,<span class="_ _10"> </span><span class="fc7">3><span class="_ _8"> </span></span>array;<span class="_ _20"> </span><span class="ffe fc6">//<span class="_ _10"> </span>not<span class="_ _8"> </span>instantiated</span></div><div class="t m0 x1 hb yd8 ffa fs7 fc0 sc0 ls0 ws0">};</div><div class="t m0 x1 hb yd9 ff6 fs7 fc4 sc0 ls0 ws0">template<span class="_"> </span>struct<span class="_"> </span><span class="fc9">A<span class="ffa fc7"><</span><span class="fc8">int<span class="ffa fc0">,<span class="_ _10"> </span><span class="fc7">3></span>;<span class="_ _21"> </span><span class="ffe fc6">//<span class="_ _10"> </span>std::array<int,<span class="_ _8"> </span>3><span class="_ _10"> </span>instantiated</span></span></span></span></div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">26/38</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 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">T<span class="_ _7"></span>emplate<span class="_ _8"> </span>-<span class="_ _8"> </span>T<span class="_ _7"></span>yp<span class="_ _c"></span>e<span class="_ _8"> </span>Erasure</div><div class="t m0 x1 ha yda ff4 fs6 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>emplates<span class="_ _11"> </span>are<span class="_ _b"> </span>often<span class="_ _11"> </span>overutilized<span class="_ _11"> </span>even<span class="_ _11"> </span>for<span class="_ _b"> </span>simple<span class="_ _11"> </span>functionalities.<span class="_ _10"> </span><span class="ff1">T<span class="_ _d"></span>yp<span class="_ _c"></span>e<span class="_ _6"> </span>erasure<span class="_ _11"> </span><span class="ff4">can<span class="_ _11"> </span>b<span class="_ _c"></span>e</span></span></div><div class="t m0 x1 ha ydb ff4 fs6 fc0 sc0 ls0 ws0">useful<span class="_ _11"> </span>fo<span class="_ _5"></span>r<span class="_ _11"> </span>reducing<span class="_ _11"> </span>the<span class="_ _11"> </span>numb<span class="_ _c"></span>er<span class="_ _11"> </span>of<span class="_ _11"> </span>template<span class="_ _11"> </span>instantiations.</div><div class="t m0 x1 hb ydc ff6 fs7 fc4 sc0 ls0 ws0">template<span class="ffa fc7"><</span>typename<span class="_"> </span><span class="fc9">T<span class="ffa fc7">></span></span></div><div class="t m0 x1 hb ydd ffa fs7 fc0 sc0 ls0 ws0">T<span class="fc7">*<span class="_ _10"> </span></span>align1(T<span class="fc7">*<span class="_ _8"> </span></span>ptr,<span class="_ _10"> </span><span class="ff6 fc8">size_t<span class="_"> </span></span>align_size)<span class="_ _10"> </span>{</div><div class="t m0 xb hb yde ff6 fs7 fc4 sc0 ls0 ws0">return<span class="_"> </span><span class="ffa fc0">ptr<span class="_ _10"> </span><span class="fc7">+<span class="_ _8"> </span></span>(align_size<span class="_ _10"> </span><span class="fc7">-<span class="_ _10"> </span></span>reiterpret_cast<span class="fc7"><</span></span><span class="fc8">uintptr_t<span class="ffa fc7">><span class="fc0">(ptr)<span class="_ _8"> </span></span>%<span class="_ _10"> </span><span class="fc0">align_size);</span></span></span></div><div class="t m0 x1 hb ydf ffa fs7 fc0 sc0 ls0 ws0">}<span class="_ _10"> </span><span class="ffe fc6">//<span class="_ _8"> </span>one<span class="_ _10"> </span>instantiation<span class="_ _10"> </span>for<span class="_ _8"> </span>each<span class="_ _10"> </span>type</span></div><div class="t m0 x1 hb ye0 ff6 fs7 fc4 sc0 ls0 ws0">const<span class="_"> </span><span class="fc8">void<span class="ffa fc7">*<span class="_ _10"> </span><span class="fc0">align2(</span></span></span>const<span class="_"> </span><span class="fc8">void<span class="ffa fc7">*<span class="_ _8"> </span><span class="fc0">ptr,<span class="_ _10"> </span></span></span>size_t<span class="_"> </span><span class="ffa fc0">align_size)<span class="_ _10"> </span>{</span></span></div><div class="t m0 xb hb ye1 ff6 fs7 fc4 sc0 ls0 ws0">return<span class="_"> </span><span class="ffa fc0">ptr<span class="_ _10"> </span><span class="fc7">+<span class="_ _8"> </span></span>(align_size<span class="_ _10"> </span><span class="fc7">-<span class="_ _10"> </span></span>reiterpret_cast<span class="fc7"><</span></span><span class="fc8">uintptr_t<span class="ffa fc7">><span class="fc0">(ptr)<span class="_ _8"> </span></span>%<span class="_ _10"> </span><span class="fc0">align_size);</span></span></span></div><div class="t m0 x1 hb ye2 ffa fs7 fc0 sc0 ls0 ws0">}</div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">27/38</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 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Static<span class="_ _8"> </span>Sto<span class="_ _5"></span>rage<span class="_ _8"> </span>Duration</div><div class="t m0 x1 ha ye3 ff1 fs6 fc0 sc0 ls0 ws0">Global<span class="_ _11"> </span>variables<span class="_ _b"> </span><span class="ff4">and<span class="_ _b"> </span></span>lo<span class="_ _c"></span>cal<span class="_ _6"> </span>scop<span class="_ _c"></span>e<span class="_ _22"> </span><span class="ff6">static<span class="_ _15"> </span></span>variables<span class="_ _b"> </span><span class="ff4">have<span class="_ _b"> </span><span class="ffb">static<span class="_ _11"> </span>storage<span class="_ _b"> </span>duration<span class="_ _11"> </span></span>and</span></div><div class="t m0 x1 ha ye4 ff4 fs6 fc0 sc0 ls0 ws0">p<span class="_ _c"></span>ersist<span class="_ _11"> </span>fo<span class="_ _5"></span>r<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ffb">p<span class="_ _5"></span>rogram<span class="_ _11"> </span>lifetime<span class="ff4">.<span class="_ _10"> </span>They<span class="_ _11"> </span>directly<span class="_ _11"> </span>contribute<span class="_ _11"> </span>to<span class="_ _11"> </span>the<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size,<span class="_ _11"> </span>requiring</span></span></div><div class="t m0 x1 ha ye5 ff4 fs6 fc0 sc0 ls0 ws0">space<span class="_ _11"> </span>in<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ffb">data<span class="_ _11"> </span>segment<span class="_ _8"> </span></span>(initialized)<span class="_ _11"> </span>and<span class="_ _11"> </span><span class="ffb">BSS<span class="_ _8"> </span></span>(Blo<span class="_ _c"></span>ck<span class="_ _11"> </span>Started<span class="_ _b"> </span>by<span class="_ _b"> </span>Symb<span class="_ _c"></span>ol,</div><div class="t m0 x1 ha ye6 ff4 fs6 fc0 sc0 ls0 ws0">uninitialized).</div><div class="t m0 x1 ha ye7 ff4 fs6 fc0 sc0 ls0 ws0">If<span class="_ _11"> </span><span class="ffb">multiple<span class="_ _11"> </span>translation<span class="_ _11"> </span>units<span class="_ _8"> </span></span>need<span class="_ _11"> </span>the<span class="_ _11"> </span>same<span class="_ _11"> </span>global<span class="_ _11"> </span>variable,<span class="_ _b"> </span>it<span class="_ _11"> </span>should<span class="_ _11"> </span>b<span class="_ _c"></span>e:</div><div class="t m0 x8 ha ye8 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">decla<span class="_ _5"></span>red<span class="_ _15"> </span><span class="ff6">extern<span class="_ _15"> </span></span>in<span class="_ _11"> </span>each<span class="_ _11"> </span>translation<span class="_ _11"> </span>unit<span class="_ _11"> </span>and<span class="_ _11"> </span>defined<span class="_ _11"> </span>in<span class="_ _11"> </span>a<span class="_ _11"> </span>single<span class="_ _11"> </span>source<span class="_ _11"> </span>file.</span></div><div class="t m0 x8 ha ye9 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">defined<span class="_ _15"> </span><span class="ff6">inline<span class="_ _15"> </span></span>in<span class="_ _11"> </span>a<span class="_ _11"> </span>single<span class="_ _11"> </span>header<span class="_ _11"> </span>to<span class="_ _11"> </span>include<span class="_ _11"> </span>in<span class="_ _11"> </span>each<span class="_ _11"> </span>translation<span class="_ _11"> </span>unit.</span></div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">28/38</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 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Linkage</div><div class="t m0 x8 ha yea ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">Entities<span class="_ _11"> </span>with<span class="_ _b"> </span><span class="ff1">internal<span class="_ _6"> </span>linkage<span class="_ _11"> </span></span>(<span class="_ _14"> </span><span class="ff8">static<span class="_ _14"> </span></span>,<span class="_ _b"> </span><span class="ffb">anonymous<span class="_ _11"> </span>namespace<span class="_ _0"></span></span>)<span class="_ _b"> </span>should<span class="_ _11"> </span>never<span class="_ _b"> </span>b<span class="_ _c"></span>e</span></div><div class="t m0 x5 ha yeb ff4 fs6 fc0 sc0 ls0 ws0">decla<span class="_ _5"></span>red<span class="_ _b"> </span>in<span class="_ _11"> </span>headers<span class="_ _b"> </span>to<span class="_ _b"> </span>avoid<span class="_ _11"> </span>duplication<span class="_ _b"> </span>in<span class="_ _b"> </span>any<span class="_ _11"> </span>translation<span class="_ _b"> </span>units<span class="_ _11"> </span>that<span class="_ _b"> </span>include<span class="_ _b"> </span>them.</div><div class="t m0 x8 ha yec ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">Entities<span class="_ _11"> </span>that<span class="_ _11"> </span>a<span class="_ _5"></span>re<span class="_ _11"> </span>intended<span class="_ _11"> </span>to<span class="_ _11"> </span>b<span class="_ _c"></span>e<span class="_ _11"> </span>used<span class="_ _11"> </span>only<span class="_ _11"> </span>within<span class="_ _11"> </span>a<span class="_ _11"> </span>single<span class="_ _11"> </span>translation<span class="_ _11"> </span>unit<span class="_ _11"> </span>should</span></div><div class="t m0 x5 ha yed ff4 fs6 fc0 sc0 ls0 ws0">have<span class="_ _11"> </span><span class="ff1">internal<span class="_ _6"> </span>linkage<span class="_ _11"> </span></span>to<span class="_ _11"> </span>avoid<span class="_ _11"> </span>exp<span class="_ _c"></span>orting<span class="_ _b"> </span>the<span class="_ _11"> </span>symb<span class="_ _c"></span>ol<span class="_ _11"> </span>and<span class="_ _11"> </span>save<span class="_ _11"> </span>space.</div><div class="t m0 x5 ha yee ff4 fs6 fc0 sc0 ls0 ws0">In<span class="_ _11"> </span>addition,<span class="_ _11"> </span><span class="ffb">internal<span class="_ _11"> </span>linkage<span class="_ _8"> </span></span>often<span class="_ _b"> </span>enables<span class="_ _11"> </span>optimizations,<span class="_ _11"> </span>such<span class="_ _11"> </span>as<span class="_ _11"> </span>dead<span class="_ _11"> </span>co<span class="_ _c"></span>de</div><div class="t m0 x5 ha yef ff4 fs6 fc0 sc0 ls0 ws0">elimination<span class="_ _11"> </span>and<span class="_ _11"> </span>function<span class="_ _11"> </span>removal,<span class="_ _11"> </span>which<span class="_ _11"> </span>can<span class="_ _11"> </span>further<span class="_ _11"> </span>reduce<span class="_ _11"> </span>the<span class="_ _b"> </span>binary<span class="_ _11"> </span>size<span class="_ _11"> </span>when</div><div class="t m0 x5 ha yf0 ff4 fs6 fc0 sc0 ls0 ws0">combined<span class="_ _11"> </span>with<span class="_ _11"> </span>the<span class="_ _15"> </span><span class="ff8">--gc-sections<span class="_ _15"> </span></span>flag.</div><div class="t m0 x8 ha yf1 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff1">Global<span class="_ _22"> </span><span class="ff6">const<span class="_ _14"> </span></span>/<span class="_ _14"> </span><span class="ff6">constexpr<span class="_ _22"> </span></span>va<span class="_ _5"></span>riables<span class="_ _b"> </span><span class="ff4">have<span class="_ _11"> </span></span>internal<span class="_ _8"> </span>linkage<span class="ff4">,<span class="_ _b"> </span>as<span class="_ _15"> </span><span class="ff8">static</span></span></span></div><div class="t m0 x5 ha yf2 ff4 fs6 fc0 sc0 ls0 ws0">va<span class="_ _5"></span>riables.<span class="_ _10"> </span>When<span class="_ _11"> </span>decla<span class="_ _5"></span>red<span class="_ _11"> </span>in<span class="_ _11"> </span>headers,<span class="_ _11"> </span>they<span class="_ _11"> </span>should<span class="_ _11"> </span>b<span class="_ _c"></span>e<span class="_ _11"> </span>ma<span class="_ _5"></span>rk<span class="_ _5"></span>ed<span class="_ _15"> </span><span class="ff8">inline<span class="_ _15"> </span></span>to<span class="_ _11"> </span>allow<span class="_ _b"> </span>the</div><div class="t m0 x5 ha yf3 ff4 fs6 fc0 sc0 ls0 ws0">link<span class="_ _5"></span>er<span class="_ _11"> </span>to<span class="_ _11"> </span>remove<span class="_ _11"> </span>duplicate<span class="_ _11"> </span>copies.</div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">29/38</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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIrklEQVR42u3ZsUkEQRTH4R3Zh9FwNYiRFYgYC9eCgfXYhB0YWINgYBF2YHRM4N1L1uwCTWS542bx+ypY/pP8eFsur28HAADoxsf725kVAADojUgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAGCvZKYVAADoR0S4pAIA0B2RCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAgKUaTQAAzNBaM8JvtVYjHIRLKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAA4rZKZVgAAoB8R4ZIKAEB3RCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQCA5RlNAADH0Fozwg+1ViPwRy6pAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAOC0SmZaAQCAfkSESyoAAN0RqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQTAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQDgnxuX8qFf2+36/sGDwbK8vjwbAYAZSmZaAQCAfkSE3/0AAHRHpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAACOadw8XlgBADi4z7snIzDP1c26lNX5tNkNwzRNBgEAoAvfBwMo/pNOCsEAAAAASUVORK5CYII="/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">P<span class="_ _5"></span>olymo<span class="_ _5"></span>rphic<span class="_ _8"> </span>classes</div><div class="t m0 x1 ha yf4 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _11"> </span><span class="ff1">p<span class="_ _c"></span>olymo<span class="_ _5"></span>rphic<span class="_ _6"> </span>class<span class="_ _11"> </span><span class="ff4">is<span class="_ _11"> </span>any<span class="_ _11"> </span>class<span class="_ _11"> </span>that<span class="_ _11"> </span>declares<span class="_ _b"> </span>or<span class="_ _b"> </span>inherits<span class="_ _11"> </span>at<span class="_ _11"> </span>least<span class="_ _11"> </span>one<span class="_ _15"> </span><span class="ff8">virtual</span></span></span></div><div class="t m0 x1 ha yf5 ff4 fs6 fc0 sc0 ls0 ws0">metho<span class="_ _c"></span>d.<span class="_ _10"> </span>The<span class="_ _11"> </span>run-time<span class="_ _11"> </span>dispatch<span class="_ _11"> </span>mechanism<span class="_ _11"> </span>relies<span class="_ _11"> </span>on<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ff1">virtual<span class="_ _6"> </span>table<span class="_ _11"> </span></span>(<span class="ff6">vTable</span>).</div><div class="t m0 x1 ha yf6 ff4 fs6 fc0 sc0 ls0 ws0">A<span class="_ _11"> </span><span class="ffb">p<span class="_ _c"></span>olymo<span class="_ _5"></span>rphic<span class="_ _11"> </span>class<span class="_ _8"> </span><span class="ff4">increases<span class="_ _11"> </span>binary<span class="_ _b"> </span>size<span class="_ _11"> </span>significantly<span class="_ _d"></span>,<span class="_ _11"> </span>up<span class="_ _11"> </span>to<span class="_ _11"> </span>10<span class="_ _11"> </span>times,<span class="_ _11"> </span>compa<span class="_ _5"></span>red<span class="_ _11"> </span>to<span class="_ _11"> </span>a</span></span></div><div class="t m0 x1 ha yf7 ff4 fs6 fc0 sc0 ls0 ws0">non-virtual<span class="_ _11"> </span>class<span class="_ _11"> </span>due<span class="_ _11"> </span>to<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ff8">vtable<span class="_ _11"> </span></span>and<span class="_ _11"> </span>asso<span class="_ _c"></span>ciated<span class="_ _11"> </span>metadata.</div><div class="t m0 x1 ha yf8 ff4 fs6 fc0 sc0 ls0 ws0">Most<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>overhead<span class="_ _11"> </span>comes<span class="_ _11"> </span>from<span class="_ _11"> </span>the<span class="_ _11"> </span>intro<span class="_ _c"></span>duction<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>first<span class="_ _15"> </span><span class="ff8">virtual<span class="_ _15"> </span></span>metho<span class="_ _c"></span>d,</div><div class="t m0 x1 ha yf9 ff4 fs6 fc0 sc0 ls0 ws0">while<span class="_ _11"> </span>the<span class="_ _11"> </span>next<span class="_ _11"> </span>ones<span class="_ _11"> </span>have<span class="_ _11"> </span>a<span class="_ _11"> </span>negligible<span class="_ _11"> </span>impact.</div><div class="t m0 x8 hb yfa ffa fs7 fc3 sc0 ls0 ws0">Special<span class="_ _10"> </span>functions<span class="_ _8"> </span>and<span class="_ _10"> </span>binary<span class="_ _10"> </span>sizes</div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">30/38</div><a class="l" href="https://www.sandordargo.com/blog/2023/02/01/special-functions-and-binary-sizes"><div class="d m1" style="border-style:none;position:absolute;left:34.722000px;bottom:5.631000px;width:162.043000px;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="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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAItElEQVR42u3aMU7DMBiG4RjFYrJ6hoqJmQEhZhDqxbhE78IAAzdg4QZMlSWqekk31pKK4Td5nhNYXzK8cpKubu8HAAAI4/P97cIKAABEI1IBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAPiRWmtWAAAgjpyzm1QAAMIRqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCAPBPjB2dtdbqgc1VSjECANAdN6kAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCwMKMJAAD+3Pd+f/O4iXaqj9eXXgZMrbVezlpr9cbPVUoxAgDQl5yzz/0AAIQjUgEAEKkAAHBKT/+kAgCwBP5JBQAgIpEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAACWaTTB79VajXCGUooRAIBZ3KQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAIC+pdaaFQAAiCPn7CYVAIBwRCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACLVBAAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAA407h7XlsBAAjr62FrhKW5vntKaXU57Q7DME2TQQAACOEIqIQr/pp25aQAAAAASUVORK5CYII="/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Exceptions</div><div class="t m0 x14 ha yfb ff6 fs6 fc0 sc0 ls0 ws0">noexcept<span class="_ _1b"> </span><span class="ff4">informs<span class="_ _b"> </span>the<span class="_ _b"> </span>compiler<span class="_ _b"> </span>that<span class="_ _11"> </span>a<span class="_ _b"> </span>function<span class="_ _b"> </span>will<span class="_ _11"> </span>not<span class="_ _b"> </span>throw<span class="_ _14"> </span>exceptions,<span class="_ _11"> </span>which<span class="_ _b"> </span>could</span></div><div class="t m0 x1 ha yfc ff4 fs6 fc0 sc0 ls0 ws0">p<span class="_ _c"></span>otentially<span class="_ _11"> </span>reduce<span class="_ _11"> </span>the<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size:</div><div class="t m0 x8 ha yfd ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">The<span class="_ _11"> </span>compiler<span class="_ _11"> </span>avoids<span class="_ _11"> </span>exception<span class="_ _11"> </span>handling<span class="_ _11"> </span>co<span class="_ _c"></span>de<span class="_ _11"> </span>and<span class="_ _11"> </span>metadata<span class="_ _11"> </span>generation.</span></div><div class="t m0 x8 ha yfe ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _16"> </span><span class="ff8">noexcept<span class="_ _15"> </span><span class="ff4">is<span class="_ _11"> </span>pa<span class="_ _5"></span>rticula<span class="_ _5"></span>rly<span class="_ _11"> </span>useful<span class="_ _11"> </span>for<span class="_ _b"> </span>cross-translation-unit<span class="_ _11"> </span>(L<span class="_ _d"></span>TO)<span class="_ _11"> </span>optimizations,</span></span></div><div class="t m0 x5 ha yff ff4 fs6 fc0 sc0 ls0 ws0">b<span class="_ _c"></span>ecause<span class="_ _11"> </span>the<span class="_ _11"> </span>link<span class="_ _5"></span>er<span class="_ _11"> </span>can<span class="_ _11"> </span>mak<span class="_ _5"></span>e<span class="_ _11"> </span>strong<span class="_ _11"> </span>assumptions<span class="_ _11"> </span>ab<span class="_ _c"></span>out<span class="_ _11"> </span>function<span class="_ _11"> </span>b<span class="_ _c"></span>ehavio<span class="_ _5"></span>r.</div><div class="t m0 x8 ha y100 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff4">F<span class="_ _5"></span>unctions<span class="_ _11"> </span>without<span class="_ _11"> </span>exceptions<span class="_ _11"> </span>a<span class="_ _5"></span>re<span class="_ _11"> </span>mo<span class="_ _5"></span>re<span class="_ _11"> </span>likely<span class="_ _b"> </span>to<span class="_ _11"> </span>b<span class="_ _c"></span>e<span class="_ _11"> </span>inlined.</span></div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">31/38</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
|
||
<div id="pf24" class="pf w0 h0" data-page-no="24"><div class="pc pc24 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIXklEQVR42u3YsQ2CQBiG4TvDhdIZCJUTGENt4mYu4TgUDMEGVpRec3bM8EOeZ4SvevPl8T4lAAAIY13mixUAAIhGpAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAsMu1VisAABBHKcWTCgBAOCIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRagIAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACLVBAAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAADn0W3vwQoAwOl9nx8jHMXt8cr52rftl1JrzSAAAITwBwqzFATbMjsDAAAAAElFTkSuQmCC"/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Header<span class="_ _8"> </span>Inclusion<span class="_ _23"> </span>1/4</div><div class="t m0 x1 ha y29 ff4 fs6 fc0 sc0 ls0 ws0">Merely<span class="_ _11"> </span>including<span class="_ _11"> </span>headers<span class="_ _11"> </span>in<span class="_ _11"> </span>source<span class="_ _11"> </span>files,<span class="_ _11"> </span>even<span class="_ _11"> </span>la<span class="_ _5"></span>rge<span class="_ _11"> </span>ones,<span class="_ _11"> </span>doesn’t<span class="_ _11"> </span>directly<span class="_ _11"> </span>increase<span class="_ _11"> </span>the</div><div class="t m0 x1 ha y56 ff4 fs6 fc0 sc0 ls0 ws0">size<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _7"></span>.<span class="_ _10"> </span>On<span class="_ _11"> </span>the<span class="_ _11"> </span>other<span class="_ _11"> </span>hand,<span class="_ _11"> </span>they<span class="_ _11"> </span>do<span class="_ _11"> </span>affect<span class="_ _11"> </span>binary<span class="_ _b"> </span>size,<span class="_ _11"> </span>dep<span class="_ _c"></span>ending<span class="_ _11"> </span>on<span class="_ _11"> </span>their</div><div class="t m0 x1 ha y57 ff4 fs6 fc0 sc0 ls0 ws0">content<span class="_ _11"> </span>and<span class="_ _11"> </span>ho<span class="_ _5"></span>w<span class="_ _11"> </span>they<span class="_ _11"> </span>a<span class="_ _5"></span>re<span class="_ _11"> </span>used.</div><div class="t m0 x1 ha y101 ff4 fs6 fc0 sc0 ls0 ws0">Contribution<span class="_ _11"> </span>to<span class="_ _11"> </span>the<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size:</div><div class="t m0 x8 ha y102 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff1">Symb<span class="_ _c"></span>ols<span class="_ _6"> </span>with<span class="_ _8"> </span>internal<span class="_ _11"> </span>linkage<span class="ff4">:<span class="_ _10"> </span>each<span class="_ _11"> </span>translation<span class="_ _11"> </span>unit<span class="_ _11"> </span>gets<span class="_ _11"> </span>its<span class="_ _11"> </span>own<span class="_ _b"> </span>copy<span class="_ _7"></span>.</span></span></div><div class="t m0 x5 ha y103 ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span>compiler<span class="_ _11"> </span>is<span class="_ _11"> </span>able<span class="_ _11"> </span>to<span class="_ _11"> </span>remove<span class="_ _11"> </span>unused<span class="_ _11"> </span>symb<span class="_ _c"></span>ols<span class="_ _11"> </span>(<span class="ffb">dead<span class="_ _11"> </span>co<span class="_ _c"></span>de<span class="_ _11"> </span>elimitation</span>).</div><div class="t m0 x8 ha y104 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff1">Inline<span class="_ _6"> </span>functions<span class="_ _6"> </span>and<span class="_ _8"> </span>va<span class="_ _5"></span>riables<span class="ff4">:<span class="_ _10"> </span>code<span class="_ _11"> </span>generation,<span class="_ _11"> </span>inlining,<span class="_ _11"> </span>and<span class="_ _11"> </span>symb<span class="_ _c"></span>ol<span class="_ _11"> </span>table.</span></span></div><div class="t m0 x5 ha y105 ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span>link<span class="_ _5"></span>er<span class="_ _11"> </span>is<span class="_ _11"> </span>able<span class="_ _11"> </span>to<span class="_ _11"> </span>remove<span class="_ _11"> </span>duplicate<span class="_ _11"> </span>symb<span class="_ _c"></span>ols.</div><div class="t m0 x8 ha y106 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff1">T<span class="_ _7"></span>emplates<span class="ff4">:<span class="_ _10"> </span>contribute<span class="_ _11"> </span>in<span class="_ _11"> </span>the<span class="_ _11"> </span>same<span class="_ _11"> </span>wa<span class="_ _5"></span>y<span class="_ _b"> </span>of<span class="_ _11"> </span>regular<span class="_ _b"> </span>classes,<span class="_ _11"> </span>functions,<span class="_ _11"> </span>and</span></span></div><div class="t m0 x5 ha y107 ff4 fs6 fc0 sc0 ls0 ws0">va<span class="_ _5"></span>riables,<span class="_ _11"> </span>but<span class="_ _11"> </span>only<span class="_ _11"> </span>if<span class="_ _11"> </span>they<span class="_ _11"> </span>a<span class="_ _5"></span>re<span class="_ _11"> </span>instantiated.</div><div class="t m0 x5 ha y108 ff4 fs6 fc0 sc0 ls0 ws0">The<span class="_ _11"> </span>link<span class="_ _5"></span>er<span class="_ _11"> </span>is<span class="_ _11"> </span>able<span class="_ _11"> </span>to<span class="_ _11"> </span>remove<span class="_ _11"> </span>identical<span class="_ _11"> </span>template<span class="_ _11"> </span>instantiations.</div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">32/38</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/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIrElEQVR42u3ZsUkEQRTH4R3Zh9FiDWJ0FYiIgYFwLRhYj03YgYEliGhgByZ2cNGxgedL1sxAEEQ4fXt8XwXDf5IfM+3o+LQDAIAyXp+f9qwAAEA1IhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAgE8tM60AAEAdEeElFQCAckQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAi1QQAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAOyK3gQAwB8Yx9EIXwzDYITveEkFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAAP+rZaYVANiqxdm5EWbh5fHeCFQQESIVAIBykeq7HwCAckQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAi1QQAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQDYcf1cDvq22Swvr1wYzMvD3a0RAPiFlplWAACgjojw3Q8AQDkiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgDAfPXr60MrAAD80OrixgjbtjhZtnawP63fu26aJoMAAFDCB7diKPzHdjp9AAAAAElFTkSuQmCC"/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Header<span class="_ _8"> </span>Inclusion<span class="_ _8"> </span>and<span class="_ _8"> </span>P<span class="_ _5"></span>olymo<span class="_ _5"></span>rphic<span class="_ _8"> </span>Classes<span class="_ _24"> </span>2/4</div><div class="t m0 x1 ha y109 ff4 fs6 fc0 sc0 ls0 ws0">When<span class="_ _11"> </span>a<span class="_ _11"> </span><span class="ff1">p<span class="_ _c"></span>olymo<span class="_ _5"></span>rphic<span class="_ _6"> </span>class<span class="_ _11"> </span><span class="ff4">is<span class="_ _11"> </span>defined<span class="_ _11"> </span>in<span class="_ _11"> </span>a<span class="_ _11"> </span>header,<span class="_ _11"> </span>the<span class="_ _11"> </span>compiler<span class="_ _11"> </span>maintains<span class="_ _11"> </span>a<span class="_ _11"> </span>copy<span class="_ _b"> </span>of</span></span></div><div class="t m0 x1 ha y10a ff4 fs6 fc0 sc0 ls0 ws0">the<span class="_ _11"> </span><span class="ff8">vTable<span class="_ _11"> </span></span>and<span class="_ _11"> </span><span class="ff8">RTTI<span class="_ _11"> </span></span>data<span class="_ _11"> </span>fo<span class="_ _5"></span>r<span class="_ _11"> </span>each<span class="_ _11"> </span>translation<span class="_ _11"> </span>unit.</div><div class="t m0 x1 ha y10b ff4 fs6 fc0 sc0 ls0 ws0">Mo<span class="_ _c"></span>dern<span class="_ _11"> </span>compilers<span class="_ _11"> </span>emit<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ff8">vTables<span class="_ _11"> </span></span>in<span class="_ _11"> </span>a<span class="_ _11"> </span>sp<span class="_ _c"></span>ecial<span class="_ _11"> </span>section<span class="_ _11"> </span>called<span class="_ _11"> </span><span class="ff8">COMDAT</span>.<span class="_ _11"> </span>Link<span class="_ _5"></span>ers<span class="_ _11"> </span>that</div><div class="t m0 x1 ha y10c ff4 fs6 fc0 sc0 ls0 ws0">supp<span class="_ _c"></span>o<span class="_ _5"></span>rt<span class="_ _11"> </span>this<span class="_ _11"> </span>feature<span class="_ _11"> </span>a<span class="_ _5"></span>re<span class="_ _11"> </span>able<span class="_ _11"> </span>to<span class="_ _11"> </span>remove<span class="_ _11"> </span>duplicate<span class="_ _11"> </span>copies<span class="_ _11"> </span>in<span class="_ _11"> </span>the<span class="_ _11"> </span>final<span class="_ _11"> </span>p<span class="_ _5"></span>rogram.</div><div class="t m0 x1 ha y10d ff4 fs6 fc0 sc0 ls0 ws0">Another<span class="_ _11"> </span>solution<span class="_ _11"> </span>to<span class="_ _11"> </span>reduce<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size<span class="_ _11"> </span>is<span class="_ _11"> </span>to<span class="_ _11"> </span>move<span class="_ _11"> </span>the<span class="_ _11"> </span>implementation<span class="_ _11"> </span>of<span class="_ _15"> </span><span class="ff8">virtual</span></div><div class="t m0 x1 ha y10e ff4 fs6 fc0 sc0 ls0 ws0">metho<span class="_ _c"></span>ds<span class="_ _11"> </span>into<span class="_ _11"> </span>a<span class="_ _11"> </span>dedicated<span class="_ _11"> </span>source<span class="_ _11"> </span>file,<span class="_ _11"> </span>since<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ff8">vTables<span class="_ _11"> </span></span>and<span class="_ _11"> </span>metadata<span class="_ _11"> </span>a<span class="_ _5"></span>re<span class="_ _11"> </span>generated</div><div class="t m0 x1 ha y10f ff4 fs6 fc0 sc0 ls0 ws0">only<span class="_ _11"> </span>once,<span class="_ _11"> </span>not<span class="_ _11"> </span>p<span class="_ _c"></span>er<span class="_ _11"> </span>translation<span class="_ _11"> </span>unit.</div><div class="t m0 x15 hb y110 ffd fs7 fc3 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffa">GCC<span class="_ _10"> </span>ld:<span class="_ _1"> </span>Vague<span class="_ _10"> </span>Linkage</span></div><div class="t m0 x15 hb y111 ffd fs7 fc3 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ffa">LLVM<span class="_ _10"> </span>ldd:<span class="_ _1"> </span>Missing<span class="_ _10"> </span>Key<span class="_ _10"> </span>Function</span></div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">33/38</div><a class="l" href="https://gcc.gnu.org/onlinedocs/gcc/Vague-Linkage.html"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:17.616000px;width:105.554000px;height:9.365000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://lld.llvm.org/missingkeyfunction.html"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:5.013000px;width:147.920000px;height:9.366000px;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="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,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIX0lEQVR42u3YsQ3CMBRFURvFSskMUSomQIgaic2yRMZJkSGyAVVK3JiOLi36QueM8Kqrl8frPQEAQBjbupysAABANCIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAICvXGu1AgAAcZRSPKkAAIQjUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkmAABApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUk0AAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIA8D+6fRqsAADwY6/HbIQjl9sz53Pf9ndKrTWDAAAQwgcH5BQEbi6rXwAAAABJRU5ErkJggg=="/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Header<span class="_ _8"> </span>Inclusion<span class="_ _8"> </span>and<span class="_ _8"> </span>Soft<span class="_ _5"></span>w<span class="_ _5"></span>a<span class="_ _5"></span>re<span class="_ _8"> </span>Distribution<span class="_ _25"> </span>3/4</div><div class="t m0 x1 ha y112 ff4 fs6 fc0 sc0 ls0 ws0">It<span class="_ _11"> </span>is<span class="_ _11"> </span>imp<span class="_ _c"></span>o<span class="_ _5"></span>rtant<span class="_ _11"> </span>to<span class="_ _11"> </span>note<span class="_ _11"> </span>that<span class="_ _11"> </span>the<span class="_ _11"> </span>p<span class="_ _5"></span>rogram<span class="_ _11"> </span>is<span class="_ _11"> </span>often<span class="_ _11"> </span>distributed<span class="_ _11"> </span>as<span class="_ _11"> </span>a<span class="_ _11"> </span><span class="ffb">header<span class="_ _11"> </span>lib<span class="_ _5"></span>ra<span class="_ _5"></span>ry<span class="_ _10"> </span><span class="ff4">o<span class="_ _5"></span>r<span class="_ _11"> </span>as<span class="_ _11"> </span>a</span></span></div><div class="t m0 x1 ha y113 ffb fs6 fc0 sc0 ls0 ws0">static<span class="_ _11"> </span>lib<span class="_ _5"></span>ra<span class="_ _5"></span>ry<span class="ff4">,<span class="_ _11"> </span>namely<span class="_ _11"> </span>a<span class="_ _11"> </span>collection<span class="_ _11"> </span>of<span class="_ _11"> </span>object<span class="_ _11"> </span>files.<span class="_ _10"> </span>In<span class="_ _11"> </span>these<span class="_ _11"> </span>cases,<span class="_ _11"> </span>the<span class="_ _11"> </span>b<span class="_ _c"></span>ehavio<span class="_ _5"></span>r<span class="_ _11"> </span>of<span class="_ _11"> </span>the</span></div><div class="t m0 x1 ha y114 ff4 fs6 fc0 sc0 ls0 ws0">link<span class="_ _5"></span>er<span class="_ _11"> </span>is<span class="_ _11"> </span>b<span class="_ _c"></span>ey<span class="_ _5"></span>ond<span class="_ _11"> </span>the<span class="_ _11"> </span>control<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>develop<span class="_ _c"></span>er,<span class="_ _11"> </span>and<span class="_ _11"> </span>the<span class="_ _11"> </span>final<span class="_ _11"> </span>p<span class="_ _5"></span>rogram<span class="_ _11"> </span>cannot<span class="_ _11"> </span>rely<span class="_ _11"> </span>on</div><div class="t m0 x1 ha y115 ff4 fs6 fc0 sc0 ls0 ws0">link<span class="_ _5"></span>er<span class="_ _11"> </span>techniques<span class="_ _11"> </span>to<span class="_ _11"> </span>reduce<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>size.<span class="_ _10"> </span>Asp<span class="_ _c"></span>ects<span class="_ _11"> </span>such<span class="_ _11"> </span>as<span class="_ _11"> </span><span class="ffb">internal<span class="_ _11"> </span>linkage</span>,<span class="_ _11"> </span><span class="ffb">exp<span class="_ _c"></span>o<span class="_ _5"></span>rted</span></div><div class="t m0 x1 ha y116 ffb fs6 fc0 sc0 ls0 ws0">symb<span class="_ _c"></span>ols<span class="ff4">,<span class="_ _11"> </span>and<span class="_ _11"> </span></span>p<span class="_ _c"></span>olymo<span class="_ _5"></span>rphic<span class="_ _11"> </span>classes<span class="_ _8"> </span><span class="ff4">must<span class="_ _11"> </span>b<span class="_ _c"></span>e<span class="_ _11"> </span>addressed<span class="_ _11"> </span>directly<span class="_ _d"></span>.</span></div><div class="t m0 x1 ha y117 ff4 fs6 fc0 sc0 ls0 ws0">Secondly<span class="_ _7"></span>,<span class="_ _11"> </span>even<span class="_ _11"> </span>if<span class="_ _11"> </span>the<span class="_ _11"> </span>linker<span class="_ _b"> </span>is<span class="_ _11"> </span>involved<span class="_ _11"> </span>in<span class="_ _11"> </span>program<span class="_ _b"> </span>generation,<span class="_ _11"> </span>the<span class="_ _11"> </span>size<span class="_ _11"> </span>of<span class="_ _11"> </span>object<span class="_ _11"> </span>files</div><div class="t m0 x1 ha y118 ff4 fs6 fc0 sc0 ls0 ws0">can<span class="_ _11"> </span>still<span class="_ _11"> </span>affect<span class="_ _11"> </span>intermediate<span class="_ _11"> </span>compilation<span class="_ _11"> </span>steps,<span class="_ _11"> </span>affecting<span class="_ _11"> </span>their<span class="_ _11"> </span>load<span class="_ _11"> </span>time,<span class="_ _b"> </span>disk<span class="_ _11"> </span>size,<span class="_ _11"> </span>and</div><div class="t m0 x1 ha y119 ff4 fs6 fc0 sc0 ls0 ws0">memo<span class="_ _5"></span>ry<span class="_ _11"> </span>fo<span class="_ _c"></span>otp<span class="_ _5"></span>rint.</div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">34/38</div></div><div class="pi" data-data='{"ctm":[1.000000,0.000000,0.000000,1.000000,0.000000,0.000000]}'></div></div>
|
||
<div id="pf27" class="pf w0 h0" data-page-no="27"><div class="pc pc27 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,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"/><div class="t m0 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Header<span class="_ _8"> </span>Inclusion<span class="_ _8"> </span>-<span class="_ _8"> </span>The<span class="_ _8"> </span>Standa<span class="_ _5"></span>rd<span class="_ _8"> </span>Lib<span class="_ _5"></span>ra<span class="_ _5"></span>ry<span class="_ _26"> </span>4/4</div><div class="t m0 x1 ha y11a ff4 fs6 fc0 sc0 ls0 ws0">T<span class="_ _7"></span>o<span class="_ _c"></span>ols<span class="_ _11"> </span>like<span class="_ _b"> </span><span class="ff6">C++<span class="_"> </span>Compile<span class="_"> </span>Health<span class="_"> </span>Watchdog<span class="_ _14"> </span><span class="ffc fs8"><span class="_ _11"> </span></span></span>and<span class="_ _11"> </span><span class="ff6">STL<span class="_"> </span>Explorer<span class="_ _14"> </span><span class="ffc fs8"><span class="_ _11"> </span></span></span>show<span class="_ _b"> </span>the<span class="_ _11"> </span>impact</div><div class="t m0 x1 ha y11b ff4 fs6 fc0 sc0 ls0 ws0">of<span class="_ _b"> </span>including<span class="_ _11"> </span>the<span class="_ _11"> </span><span class="ff8">standard<span class="_ _f"> </span>library<span class="_ _b"> </span></span>headers,<span class="_ _11"> </span>in<span class="_ _b"> </span>terms<span class="_ _11"> </span>of<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _b"> </span>size<span class="_ _11"> </span>and<span class="_ _11"> </span>dep<span class="_ _c"></span>endencies,</div><div class="t m0 x1 ha y11c ff4 fs6 fc0 sc0 ls0 ws0">resp<span class="_ _c"></span>ectively<span class="_ _7"></span>.</div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">35/38</div><a class="l" href="https://artificial-mind.net/projects/compile-health/"><div class="d m1" style="border-style:none;position:absolute;left:74.229000px;bottom:188.803000px;width:156.629000px;height:12.694000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://s9w.github.io/stl_explorer/explorer.html"><div class="d m1" style="border-style:none;position:absolute;left:261.661000px;bottom:188.803000px;width:70.720000px;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="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 x7 h2 y96 ff1 fs0 fc0 sc0 ls0 ws0">Bina<span class="_ _d"></span>ry<span class="_ _1"> </span>Size<span class="_ _1"> </span>T<span class="_ _13"></span>o<span class="_ _0"></span>ols</div><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:105.775000px;bottom:132.432000px;width:199.137000px;height:24.026000px;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="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 x3 h6 y6 ff6 fs2 fc1 sc0 ls0 ws0">nm<span class="_ _8"> </span><span class="ff1">and<span class="_ _8"> </span></span>objdump</div><div class="t m0 x1 ha y11d ff6 fs6 fc0 sc0 ls0 ws0">nm<span class="_ _14"> </span><span class="ffc fs8"><span class="_ _11"> </span></span><span class="ff4">and<span class="_ _11"> </span></span>objdump<span class="_ _14"> </span><span class="ffc fs8"><span class="_ _11"> </span></span><span class="ff4">a<span class="_ _5"></span>re<span class="_ _11"> </span>standa<span class="_ _5"></span>rd<span class="_ _11"> </span>to<span class="_ _c"></span>ols<span class="_ _11"> </span>available<span class="_ _11"> </span>on<span class="_ _11"> </span>Linux<span class="_ _11"> </span>systems<span class="_ _11"> </span>fo<span class="_ _5"></span>r<span class="_ _11"> </span>analyzing<span class="_ _11"> </span>bina<span class="_ _5"></span>ry</span></div><div class="t m0 x1 ha y11e ff4 fs6 fc0 sc0 ls0 ws0">size.</div><div class="t m0 x1 ha y11f ff6 fs6 fc0 sc0 ls0 ws0">nm<span class="_ _11"> </span><span class="ff4">can<span class="_ _11"> </span>list<span class="_ _11"> </span>non-stripp<span class="_ _c"></span>ed<span class="_ _11"> </span>symb<span class="_ _c"></span>ols<span class="_ _11"> </span>in<span class="_ _11"> </span>a<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>and<span class="_ _11"> </span>their<span class="_ _11"> </span>asso<span class="_ _c"></span>ciated<span class="_ _11"> </span>sizes:</span></div><div class="t m0 x21 hb y120 ffa fs7 fc9 sc0 ls0 ws0">nm<span class="_ _10"> </span><span class="fc7">--<span class="fc0">print</span>-<span class="fc0">size<span class="_ _8"> </span></span>--<span class="fc0">size</span>-<span class="fc0">sort<span class="_ _10"> </span></span><<span class="fc0">binary</span>></span></div><div class="t m0 x1 ha y121 ff6 fs6 fc0 sc0 ls0 ws0">objdump<span class="_ _11"> </span><span class="ff4">can<span class="_ _11"> </span>p<span class="_ _5"></span>rovide<span class="_ _11"> </span>info<span class="_ _5"></span>rmation<span class="_ _11"> </span>related<span class="_ _11"> </span>to<span class="_ _11"> </span>each<span class="_ _11"> </span>section<span class="_ _11"> </span>of<span class="_ _11"> </span>the<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>which<span class="_ _11"> </span>is<span class="_ _11"> </span>useful</span></div><div class="t m0 x1 ha y122 ff4 fs6 fc0 sc0 ls0 ws0">fo<span class="_ _5"></span>r<span class="_ _11"> </span>understanding<span class="_ _11"> </span>ho<span class="_ _5"></span>w<span class="_ _11"> </span>much<span class="_ _11"> </span>space<span class="_ _11"> </span>co<span class="_ _c"></span>de,<span class="_ _11"> </span>data,<span class="_ _11"> </span>and<span class="_ _11"> </span>other<span class="_ _11"> </span>sections<span class="_ _11"> </span>o<span class="_ _c"></span>ccup<span class="_ _5"></span>y<span class="_ _7"></span>.</div><div class="t m0 x21 hb y123 ffa fs7 fc9 sc0 ls0 ws0">objdump<span class="_ _10"> </span><span class="fc7">--<span class="fc0">headers<span class="_ _8"> </span></span><<span class="fc0">binary</span>></span></div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">36/38</div><a class="l" href="https://man7.org/linux/man-pages/man1/nm.1.html"><div class="d m1" style="border-style:none;position:absolute;left:27.350000px;bottom:190.466000px;width:13.447000px;height:12.694000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://man7.org/linux/man-pages/man1/objdump.1.html"><div class="d m1" style="border-style:none;position:absolute;left:71.600000px;bottom:190.466000px;width:42.084000px;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="pf2a" class="pf w0 h0" data-page-no="2a"><div class="pc pc2a w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAH/CAIAAACTgcSzAAAACXBIWXMAABYlAAAWJQFJUiTwAAAIlUlEQVR42u3ZsW3CUBSGUT/kq1QWM0RUTBChiIICKZtlieySghRsQJMNqJCr3MbpqFIBxXV0zgDW028Xn57b6uW1AwCAMr6PXwsrAABQjUgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAOCqZaYVAACoIyLcpAIAUI5IBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQDgqp/LQdfb3T+b/nT49P0BAPypZaYVAACoIyL87gcAoByRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAAPAA/YzOOo6jFwYAcJthGGZ0WjepAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAIFIBAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAIFIBABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVBMAACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAACBSAQAoq2WmFQAAqCMi3KQCAFCOSAUAQKQCAIBIBQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQAAkQoAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgAAIhUAAJEKAAAiFQAAkQoAACIVAACRCgAAIhUAAEQqAAAiFQAARCoAACIVAABEKgAAIhUAAEQqAAAiFQAARCoAAIhUAABEKgAAiFQAAEQqAACIVAAARCoAAIhUAAAQqQAAiFQAABCpAACIVAAAEKkAAIhUAAAQqQAAiFQAABCpAAAgUgEAEKkAACBSAQAQqQAAIFIBABCpAAAgUgEAQKQCACBSAQBApAIAIFIBAECkAgAgUgEAQKQCACBSAQBApAIAgEgFAECkAgCASAUAQKQCAIBIBQBApAIAgEgFAACRCgCASAUAAJEKAIBIBQAAkQoAgEgFAACRCgCASAUAgCL6y/uzFQAAuN95//GQ56w3b60tn6bLT9dN02RYAABK+AWSHSAAU8kcJQAAAABJRU5ErkJggg=="/><div class="t m0 x3 he y6 ff6 fs2 fc1 sc0 ls0 ws0">Bloaty</div><div class="t m0 x1 ha y124 ff6 fs6 fc0 sc0 ls0 ws0">Bloaty<span class="_ _14"> </span><span class="ffc fs8"><span class="_ _11"> </span></span><span class="ff4">is<span class="_ _11"> </span>an<span class="_ _11"> </span>advanced<span class="_ _11"> </span>to<span class="_ _c"></span>ol<span class="_ _11"> </span>fo<span class="_ _5"></span>r<span class="_ _11"> </span>p<span class="_ _c"></span>erfo<span class="_ _5"></span>rming<span class="_ _11"> </span>deep<span class="_ _11"> </span>analysis<span class="_ _11"> </span>of<span class="_ _11"> </span>a<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _7"></span>.<span class="_ _10"> </span>The<span class="_ _11"> </span>to<span class="_ _c"></span>ol<span class="_ _11"> </span>allows</span></div><div class="t m0 x1 ha y125 ff4 fs6 fc0 sc0 ls0 ws0">to<span class="_ _11"> </span>analyze<span class="_ _11"> </span>multiple<span class="_ _11"> </span>object<span class="_ _11"> </span>files<span class="_ _11"> </span>in<span class="_ _11"> </span>a<span class="_ _11"> </span>simple<span class="_ _11"> </span>w<span class="_ _5"></span>a<span class="_ _5"></span>y<span class="_ _7"></span>,<span class="_ _11"> </span>filter<span class="_ _11"> </span>binary<span class="_ _b"> </span>information<span class="_ _b"> </span>dep<span class="_ _c"></span>ending<span class="_ _11"> </span>on</div><div class="t m0 x1 ha y126 ff4 fs6 fc0 sc0 ls0 ws0">its<span class="_ _11"> </span>sections<span class="_ _11"> </span>o<span class="_ _5"></span>r<span class="_ _11"> </span>debugging<span class="_ _11"> </span>symb<span class="_ _c"></span>ols,<span class="_ _11"> </span>and<span class="_ _11"> </span>even<span class="_ _11"> </span>track<span class="_ _11"> </span>bina<span class="_ _5"></span>ry<span class="_ _11"> </span>gro<span class="_ _5"></span>wth<span class="_ _11"> </span>over<span class="_ _11"> </span>time<span class="_ _11"> </span>fo<span class="_ _5"></span>r<span class="_ _11"> </span>CI</div><div class="t m0 x1 ha y127 ff4 fs6 fc0 sc0 ls0 ws0">testing.</div><div class="t m0 x1 hf y128 fff fs5 fc0 sc0 ls0 ws0">$<span class="_ _8"> </span>./bloaty<span class="_ _6"> </span>bloaty<span class="_ _8"> </span>-d<span class="_ _8"> </span>compileunits</div><div class="t m0 x22 hf y129 fff fs5 fc0 sc0 ls0 ws0">FILE<span class="_ _8"> </span>SIZE<span class="_ _27"> </span>VM<span class="_ _8"> </span>SIZE</div><div class="t m0 x21 hf y12a fff fs5 fc0 sc0 ls0 ws0">--------------<span class="_ _16"> </span>--------------</div><div class="t m0 x8 hf y12b fff fs5 fc0 sc0 ls0 ws0">34.8%<span class="_ _16"> </span>10.2Mi<span class="_ _16"> </span>43.4%<span class="_ _16"> </span>2.91Mi<span class="_ _28"> </span>[163<span class="_ _8"> </span>Others]</div><div class="t m0 x8 hf y12c fff fs5 fc0 sc0 ls0 ws0">17.2%<span class="_ _16"> </span>5.08Mi<span class="_ _29"> </span>4.3%<span class="_ _29"> </span>295Ki<span class="_ _28"> </span>third_party/protobuf/src/google/protobuf/descriptor.cc</div><div class="t m0 x23 hf y12d fff fs5 fc0 sc0 ls0 ws0">7.3%<span class="_ _16"> </span>2.14Mi<span class="_ _29"> </span>2.6%<span class="_ _29"> </span>179Ki<span class="_ _28"> </span>third_party/protobuf/src/google/protobuf/descriptor.pb.cc</div><div class="t m0 x23 hf y12e fff fs5 fc0 sc0 ls0 ws0">4.6%<span class="_ _16"> </span>1.36Mi<span class="_ _29"> </span>1.1%<span class="_ _16"> </span>78.4Ki<span class="_ _28"> </span>third_party/protobuf/src/google/protobuf/text_format.cc</div><div class="t m0 x23 hf y12f fff fs5 fc0 sc0 ls0 ws0">3.7%<span class="_ _16"> </span>1.10Mi<span class="_ _29"> </span>4.5%<span class="_ _29"> </span>311Ki<span class="_ _28"> </span>third_party/capstone/arch/ARM/ARMDisassembler.c</div><div class="t m0 x23 hf y130 fff fs5 fc0 sc0 ls0 ws0">1.3%<span class="_ _29"> </span>399Ki<span class="_ _16"> </span>15.9%<span class="_ _16"> </span>1.07Mi<span class="_ _28"> </span>third_party/capstone/arch/M68K/M68KDisassembler.c</div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">37/38</div><a class="l" href="https://github.com/google/bloaty"><div class="d m1" style="border-style:none;position:absolute;left:27.350000px;bottom:194.639000px;width:36.356000px;height:12.695000px;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="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 x3 h6 y6 ff1 fs2 fc1 sc0 ls0 ws0">Executable<span class="_ _8"> </span>P<span class="_ _5"></span>ack<span class="_ _5"></span>er</div><div class="t m0 x1 ha y131 ff4 fs6 fc0 sc0 ls0 ws0">An<span class="_ _11"> </span><span class="ff1">executable<span class="_ _6"> </span>Pack<span class="_ _5"></span>er<span class="_ _b"> </span><span class="ff4">is<span class="_ _11"> </span>a<span class="_ _11"> </span>to<span class="_ _c"></span>ol<span class="_ _11"> </span>for<span class="_ _b"> </span><span class="ffb">compressing<span class="_ _8"> </span></span>executable<span class="_ _11"> </span>binaries<span class="_ _b"> </span>and<span class="_ _11"> </span>shared</span></span></div><div class="t m0 x1 ha y132 ff4 fs6 fc0 sc0 ls0 ws0">lib<span class="_ _5"></span>ra<span class="_ _5"></span>ries<span class="_ _11"> </span>to<span class="_ _11"> </span>reduce<span class="_ _11"> </span>their<span class="_ _11"> </span>size<span class="_ _11"> </span>without<span class="_ _11"> </span>changing<span class="_ _11"> </span>their<span class="_ _11"> </span>functionalit<span class="_ _5"></span>y<span class="_ _7"></span>.<span class="_ _10"> </span>The<span class="_ _11"> </span>binary<span class="_ _b"> </span>is</div><div class="t m0 x1 ha y133 ff4 fs6 fc0 sc0 ls0 ws0">comp<span class="_ _5"></span>ressed<span class="_ _11"> </span>offline,<span class="_ _11"> </span>then<span class="_ _11"> </span>the<span class="_ _11"> </span>emb<span class="_ _c"></span>edded<span class="_ _11"> </span>decomp<span class="_ _5"></span>ression<span class="_ _11"> </span>routine<span class="_ _11"> </span>rebuilds<span class="_ _11"> </span>the<span class="_ _11"> </span>o<span class="_ _5"></span>riginal</div><div class="t m0 x1 ha y134 ff4 fs6 fc0 sc0 ls0 ws0">co<span class="_ _c"></span>de<span class="_ _11"> </span>at<span class="_ _11"> </span>runtime<span class="_ _11"> </span>b<span class="_ _c"></span>efo<span class="_ _5"></span>re<span class="_ _11"> </span>actual<span class="_ _11"> </span>execution.<span class="_ _10"> </span>Bina<span class="_ _5"></span>ry<span class="_ _11"> </span>comp<span class="_ _5"></span>ression<span class="_ _11"> </span>aims<span class="_ _11"> </span>at<span class="_ _11"> </span>reducing</div><div class="t m0 x1 ha y135 ff4 fs6 fc0 sc0 ls0 ws0">distribution<span class="_ _11"> </span>and<span class="_ _11"> </span>sto<span class="_ _5"></span>rage<span class="_ _11"> </span>costs.</div><div class="t m0 x8 ha y136 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff6">UPX<span class="_ _14"> </span><span class="ffc fs8"><span class="_ _b"> </span></span><span class="ff4">is<span class="_ _11"> </span>the<span class="_ _b"> </span>most<span class="_ _b"> </span>p<span class="_ _c"></span>opular<span class="_ _b"> </span>executable<span class="_ _b"> </span>packer.<span class="_ _8"> </span>UPX<span class="_ _11"> </span>t<span class="_ _5"></span>ypically<span class="_ _b"> </span>reduces<span class="_ _11"> </span>the<span class="_ _b"> </span>file<span class="_ _b"> </span>size<span class="_ _11"> </span>of</span></span></div><div class="t m0 x5 ha y137 ff4 fs6 fc0 sc0 ls0 ws0">p<span class="_ _5"></span>rograms<span class="_ _11"> </span>and<span class="_ _11"> </span>DLLs<span class="_ _11"> </span>b<span class="_ _5"></span>y<span class="_ _11"> </span>a<span class="_ _5"></span>round<span class="_ _11"> </span>50%-70%.<span class="_ _10"> </span>It<span class="_ _11"> </span>is<span class="_ _11"> </span>op<span class="_ _c"></span>en-source,<span class="_ _11"> </span>actively<span class="_ _11"> </span>maintained,</div><div class="t m0 x5 ha y138 ff4 fs6 fc0 sc0 ls0 ws0">and<span class="_ _11"> </span>offer<span class="_ _11"> </span>fast<span class="_ _11"> </span>decomp<span class="_ _5"></span>ression.</div><div class="t m0 x8 ha y139 ff7 fs6 fc0 sc0 ls0 ws0">•<span class="_ _e"> </span><span class="ff6">MPRESS<span class="_ _14"> </span><span class="ffc fs8"><span class="_ _11"> </span></span><span class="ff4">is<span class="_ _11"> </span>an<span class="_ _11"> </span>alternative<span class="_ _11"> </span>to<span class="_ _11"> </span>UPX.<span class="_ _11"> </span>The<span class="_ _11"> </span>to<span class="_ _c"></span>ol<span class="_ _11"> </span>is<span class="_ _11"> </span>based<span class="_ _11"> </span>on<span class="_ _11"> </span>the<span class="_ _11"> </span>LZMA<span class="_ _11"> </span>comp<span class="_ _5"></span>ression</span></span></div><div class="t m0 x5 ha y13a ff4 fs6 fc0 sc0 ls0 ws0">algo<span class="_ _5"></span>rithm<span class="_ _11"> </span>and<span class="_ _11"> </span>could<span class="_ _11"> </span>p<span class="_ _5"></span>rovide<span class="_ _11"> </span>a<span class="_ _11"> </span>b<span class="_ _c"></span>etter<span class="_ _11"> </span>comp<span class="_ _5"></span>ression<span class="_ _11"> </span>ratio.<span class="_ _10"> </span>On<span class="_ _11"> </span>the<span class="_ _11"> </span>other<span class="_ _11"> </span>hand,<span class="_ _11"> </span>it<span class="_ _11"> </span>is</div><div class="t m0 x5 ha y13b ff4 fs6 fc0 sc0 ls0 ws0">less<span class="_ _11"> </span>p<span class="_ _c"></span>opula<span class="_ _5"></span>r<span class="_ _11"> </span>than<span class="_ _11"> </span>UPX<span class="_ _11"> </span>and<span class="_ _11"> </span>no<span class="_ _11"> </span>mo<span class="_ _5"></span>re<span class="_ _11"> </span>maintained.</div><div class="t m0 xd h8 y10 ff5 fs5 fc0 sc0 ls0 ws0">38/38</div><a class="l" href="https://upx.github.io/"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:116.262000px;width:19.175000px;height:12.694000px;background-color:rgba(255,255,255,0.000001);"></div></a><a class="l" href="https://www.autohotkey.com/mpress/mpress_web.htm"><div class="d m1" style="border-style:none;position:absolute;left:49.168000px;bottom:63.540000px;width:36.356000px;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>
|
||
<div class="loading-indicator">
|
||
<img alt="" src="data:image/png;base64,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"/>
|
||
</div>
|
||
</body>
|
||
</html>
|