我的博客:www.while0.com

我的博客:www.shishangguan.net

-fomit-frame-pointer选项是发布产品时经常会用到的优化选项,它可以优化汇编函数中用edp协助获取堆栈中函数参数的部分,不使用edp,而是通过计算,全部使用esp来完成。看下边的例子就明白了:

把一下文件保存为test.c

 int b(int c){
int d = c;
return 0;
}

通过一下命令编译:

gcc -o test.s -S test.c                 不优化,编译为test.s

gcc -o test1.s -S -fomit-frame-pointer test.c     优化编译,编译为test1.s

以下是两个汇编文件内容的比较:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAAGQCAIAAAAIhcA6AAAAA3NCSVQICAjb4U/gAAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3dzZqiPLcAUPo83w3WzEtk1rd4Br5NYUI2AQkGWevpQRVRwGhXtvnZ+TOO4wAA0NL/ffoGAIDv97+qR/19DMMw/GR9Ic/ji0Uk/j4uV0v/3t3hwPt+PB7zX5MOthZXjG6mfKHHibcBcAcVPRx/H9Hxn/Fy7egHlOqwb4e/r89oY/xneI0/5m38CfV1ybcE4LLWAo7VaAOO1sOnauzjNgC+xtqQyjOkuOYX9C7Mqy6J0oJfp58XB62St6N92Hf++ML8WnnPx5gVLY7FJJ/acen44ksrjezEJyzdBgDDu5NG/z5+/7FoPuRUP/w0hR3TU6Yano9knRUOHj7M8Xg8kskcj+yHGtONjdlNTkFAXjTvvVjsyVh8k+ITlm4DgKe6SaMl82/nF5wUeWGnR3jPr+/BLMtDzj+0PD8AH/RewMGniO0AuBR5OHhLPjiyibxzADehh+NQq4t3Dl/dc83lQufHGcF4jZQbACf4s/KnP58rkKyqyI/fWdD816w3Geqq98SaL63L+H3Av9QatScsJP6aH124yqyotFBlKBRVnnbxeFIUnDC4DQCG9YCD08SLZru0NdoA4LYMqfThCuFFTqgBQCUBx+fUDJpYbAzAVzCkAgA0Z1ksANCcgAMAaK5uDkc+pXExtfbabANbWwHAPVUEHMG2HaWkEQWjTa0A4JbWAo5SJNFs6YTUDgDwfdbmcNTvqL7FQ1cHANzJEXk4tietCvY617cBAN/n7VUqe1NkznedAAC+23sBxzUTcgMAJ+suD8fj8Ug2FAUArq67gAMA+D5blsUeN4ASZAAzaRQAvo/N2wCA5gypAADNCTgAgOYEHABAcwIO1lmrDMCbBBwAQHN1q1QWF8QmG8nKN7pRsDa48gEnSDo2Fj4tz/L8Fnu4ewC6UdHDsbhD/RSCTNvJljayp2C1If54S/2MNsZ/hiz+KO6FM0UhH38NAPRhLeAQRvBP2r2xGm0cJJ9BYkIJwOWsZRrVe1EnqaDx9fiY/Zw/9xJ9AS8xx4c2/E2Dj9fSsaJoqnDDPgCnMYfjAEnEUAoy8sAiafk6jEX2zOHIQ5BDezvmt1FZ85seCUALaz0cJUkI8vcx/H3cNuZ4RgyPf43WjlpIztCPeYTxHNqozYU/b9sPemFJtPF7vHD9N98UAA60N+Dg1dS8Ddq2NkrRxlCucG8KQD/k4TjM+NpF/wXazc3cmkksiDZi3/emAFyUgOMAjyGdfvg1zVsP60HSeRvlYGX+RnzxmwJwRWuTRvP1KfN5G4vHb6lmrUQ+OTR4VlL6qcqNJo0Gk0PjF7axxyKZOLI4b3TxUvuKAGihbpUK97Z7ROOEs+28h2EYxBkAJzJplLOJcQFuSA8Ht9PDWBXA3ejh4HYEGQDns0oFAGhOwAEANFc3pGIvlU/oYmux95aWfnxBysdvAICnih6Oxa1ipxDk+a/0MN7w+UZyWjyaJ+wMiqaHdNDYP6/eQ/oygJtbCziEEXc27o96FqONPEnoCaHAUTHHR24e4GusDanovaiwmEJ7NetmsFt9j4Kb2/vpSNvv19Ka0Zvpps4fftp38/Hb3fUHAOA9e5fF/oz/bUnPzOP158Vc5h3uQb/uoGhjNUP5YkUFRWP2yHbVu+/m4+PBywT4Mm/k4ZjPEhV5vIYXX1Udq9HG9hdcmt6xeJoxCzI+a9PNB8eH2UubfgX4VhJ/EVr93r29kQwmk5ZONm+YP9sqb735+T0H4VTp6QBfQx6Ojykt++jIudFGrLwaZr9gp/vS44ej1908sh8AvtIRAcdilg4qzGceDL1FG7nHhlZxcW1IOvWh3N4/XlvixWm5lY6KEvbd/Mo5h2FoE0sB9GZtSGU+OSMJLOZFoo2CMWt+xqUH5MeH1xa3o9xfT6svbBjGcXy2yvPGvtTwB+eruFRxGsSxfRJv3nw8SzQpBfgydovl2nZ3DvWQlwzgPkwa5aaEGgBnMmmUCzPjEuAq9HBwYfooAK5CDwcA0JyAAwBobsuy2CFMZ25l7NFkvN5gcbFKsKPa9JBPr1X5+A0AnCPs4ZgSbzz/DbMgIyjiIJqgWosfvXlSrUJerR4a+8UMaQDfJww4pmCCW8qTafbYLpbuaFwJ2RajjY+8ZDEHcAfVq1SC/OW379tYTLw9ZqXD0vF5hXae4DxtiV9L8xdSOn7wS67JCr73Mvte8rD0LhsgA26uLuAQbdR5vP6cpy2/Vu7q+bf/dCeR5wOm0tfXFRwPcnu3suUy+15yUJS/5At9AAAOVBFwrEYbP6OwY3gNL76sOkpzHUovM3j5ybYjXUUbL8/b8pLHLMgAIFG3SiWYyWGSx7cLZlYuvvfzJj5onktPP9LR0UZwsmSTNgASdatUSkQbb0ia5D7bqhbrOOJ85MG273suc2i0EbPLPEBgS+Kvvw9DJ8eaj+sP3UcbQSjwqG5l54tVhzPb5uwWF9eG7HvJ+SDRptfVw+pcgNaq53AknvM25kV6O5aMWUs3Lj0gPz68tmefqtxSKxi8rmRwIZhcmZTu9Mh+DlaPvBrH8RlSzF/mmy85KcpvJE1OJtoA7uGPv3T04ytb3z67rwBOZrdYOvJloQYAE5u3QUPxDFmA+9DDAQ3psQF40sPBusOWqgJwVwIOAKC5tVUqyZrYfO3ranIw9uphu6+kY+Pl0xJsZQYAr8KAIwkm8thiCkcEHG18dkVlngXr99d8v7JBzAFAUTik8jNGkYSsozfTdM1qPk3ErBGAb1K9SiXv3nj+LOwopLUes9Jh6XieFbPnboLlmKPBRyANPpLbKBTFldl/9QJ8sbpMozU71N9YqcHN05bnO6l23kYW53DMU5f/Fh950d+hnNdzx5ngS7X38ZoEuLnqvVTuHVLUGAut8KXN49F825EWL7iU3bx0heDKyRYnPsEAH7QWcIg2iB360Qj2Ulm8Tt6HkT9L3wZAD8JJo6KNlpJmssN2cX3aZny79ZvWzy537NRUmcUBOrEl8VeyHz1vm2KODqONp9OWiuRLcEuXrg9jploNukAAOEf1HI74uL6QgjFrIMelB+THh9dv5x+p2XEck4b/t/th9YXtutzy8fKlxtdw7TGrq0fhkT6jAB9Rt0qFe9sz2NFtpw0An2C3WNoQagAwo4cDAGjObrEAQHMCDtYFa0YAoIaAAwBobm0OR7ImdnFv+ryITJBgu1TUQ07u4l4qv494FuTPnJ5z/F0BcDlhwJFk15j/GhRRECwUrd+Q7Ex5Mq4hiTniWMnHAYB/wiGVn7EYQwRFfKk0No23Uzvu05HPIDGhBOByqvNw2KE+FKfcDJrHa7WcLzHHhxKGp8HHa2m+PX1elO9xe+vPLsAp6vJwiDaq5V/vk+atsqh0tpPtmcORhyCH9nbMbyO5eL557GJR/EgAWqjeS0W0EdoxvHCJdm4eYTyHNmozxc3b9oO2MCllWA82pp+u3Hk9A3y9tYBDtFEh/7rM4YL9XEofwWRrNwA+KJw0Ktq4t3ZzM7dmEtuze9wwDPamB+jGlsRffx/RVvWlIq6sh/Ug+erc0l3Nd7Gf/yzmAPi4ijwciXkejsWiW5q3bYvzE7cWDa8N5GdTcfzexmISjt/iQlE+03RLj0UycWRx3ujipfYVAdCC3WJZt3tE44Sz7byHYRjEGQAnqs7DAQcR4wLckB4ObqeHsSqAu9HDwe0IMgDOZ3t6AKA5AQcA0FxdptHJfOFrUMQWByX+BoB+1WUanTajn4KMoIgt1BoAdxD2cASdFvozAIBq1atUbJ5SluwyP9QltXxkj1G5AHyrujwcpWhjPoxy71iklKR8MZd5Ho7cuu4AuIGKHo6gb2M6+Ny87d4xx1COG0zUAODm6lap3D6S2CSvLNUHwM3VrVIBAHjDlsRfz3GT/GeqPcrDK0ERAFxdOGl0MaSYz9tYPH4/8WZgpVUq+QPuW4MAfDu7xQIAzdlLBQBoTsABADQn4AAAmhNwAADNCTgAgObqMo1OFte+yg/2pl4rsJP1up3cBgDvqMs0+vw3LGXmkP7re3XSwHdyGwC8I+zhWP3OLdo4RH99GwBwrIrdYp/ybv/piLAjFg9LTaV53SY+l+P1eb2Ph0Wd3AYAO9RNGg2iDWKrw1JBHU5PGbJoIx7nOtrz2h+PKzu5DQB2qEhtvhhbxF/BmVsNzoIHlEK9RLOan3cqtO5geDzSlzZ9OM+8DQBaqFulkrdnejvqPUeddtRS8JRvrG3b+gB8sbpVKrxpx/DHRSr/8XjkPRMAkNiS+Gv6mk5JXkXzI/UxRxJtBDV/zTdFmAJwNxWrVOL2bCr9++j/6/gHzMdTpiNzQQWWpmvEJ2ygk9RbndwGADtUTBqFgmcvhY8QAKsEHABAczZvAwCaE3AAAM0JOACA5gQcRObrV61lBXrjb9SF1GUanZT2D0tKya3mLy+V7rvWKe/F/EMwHlH01s0sLZlZvNaj/GtQFFyl+haz0x37rMW/tDueONYVzR8QvMf1Jzz8WhWSNzSvwk3n27Rye/XDtvr0nf99rvg5tCbuK9RlGg02Hpv/Y59jq+6sPGDT3598T7V9RW/dTDnaKF1r36Wfl9jzLWrf9XY8a5y95vpLjEs1FRQFt7fvhIdfq0L+sRlnP+z4iJ72R3D/f5wrfg6fJbv/69GNMOAQRhzompWZNOGLu6kNr39V9hX9PmZ7p2gcbUTX2nSZ6VQ7/vCd81d+09/3N581lG+vxW0ce63nKW/4jfnin8PF/3qlv1F0qCLT6NNFtvboVDBoEuQsn8u3p8/POX/Kce/X9B84/p8clO0rOtyBMcc2U+yz6WL7nvWmoNu8NNgQ396mEwaO7RDbKx69OfbuSiOPi/2FG854ic/hRpV/o/i4uoCj1Hqdm2D7wubxwVwePSTHp1+naRlTavNpkGtelD/3ak77k3HSn9DW4+UHnuGo4OCdE+6b4NNgWlA+GyOfcvFYKt1aVUHfzeKF5qHXhtd6lc9hg7eSflTvpZI0YPmuH/ZS2Wo1MrjCrmz9/30I7vC8r23J19LKmtr3rKFNtLH7m/GmE5aa2di+Z62dMpg0snhw32WTkCW+0Ls6+BzmY5Ev3zEavJX0o26VikjiI65Q7X10dUfiO2wecwRzWA5/1r7H1zzl8G/GF/ho//fZSFq9c258Xn/HfD67+Rwa9bizulUq8IbgL2ZeZCX92UQbwCm2JP6a74qe7JDOU6Nq2Xfalu9R8N0rKcpHNBaL3rqZxbnrh15i7vDVDftirFaR2aPB7MeaE+677ht3++Yyy8PraZ8Db+PDn8OKV3LHhUXfJdwtNs7uVVpGcWdbZ9fOV5rkE0Xn8mcFU0QPzyRWMJ9Y91jqf51KF5+VF711M2Hir/kd5rP/8l9Ld7j/T175ZUfn3PGsd6bp5dcKqqM0A+OoE9ZcK35WhVLir+CjEt/gWP0OVH4OSydMbrVWt5/DYeWtFG18AdvTAwDN2UsFAGhOwAEANCfgAACaE3AAAM0JOIDezddeJuswgyKgK3WZRicfWn7JgiCXvIxtn3Jsgv/F1dSLy6cX10gf9zE4Ksf0zpWcDcQ7jp50D9PV1x5TShD/8WqETeoyjU5bqy/uR6phO5+sax069k1J/n8tbu93igOv1Mlfiimjw9OQxR/neKc2/P/nisKAIwgmfIfumSjw6pL/X4vv5p2CzqQHYv5rUPQFxm6iNHhf3fb0gwjjDas5QzcVLXYyLV6udHzxhFOq0/yJtxLXxr435ZCcvC1jjlKCx0f2mB3JZPPS4JyBKZLIQ4qgaKvplvLxjqBoCF9yZc7Q/NZXLxS/KYvnhA+qyzS6+jd0uHcrFdg34r46GB/Hf6uPr7/0DZVqY9+bsm9eRfCwPCSqv8MlcYLtxSObzlD6dUfm66NMQyrzkZQku3mc2nyseFheFNRtHHNUHl99K+GzKno4gj9b8z9tx06X+xrPhmGqnHibleAkXNrurojSLjxDFnOsyacpPJvY8d+2Wc+z13/UKq9dmvC46VpdaXHbybtwyEkuWr18sbpVKhq8d0wxx7BUk+r2Dna/y4szRuel1TFH0Jc5NVRDdSuVf3G/mz7/3+54K+E0datUeFNprQH0YTw3egiudXgujZoTftNU05PfSqi3JfHX9DWdkryK5kfimCOo3n1FrGpUe1vfr/zgieHpY3iZmjCUG6rHrjas9KweGsX5ytiLmldv/VsJHxFOGl38e7c4M3/QETIMw9qykac3V6nkDwgut+laN5w0ujrNc3Ea5qTyTal8Vny2aRpQzfzf4FpLkv/nW5dL5HMeSydcbA7TmY//ZnTG91xv8YRB4q/Vmx/CKsofsK+o/or1J4TPqlulAtDeOdHGylOGYWjTVJtawc1V5+EAaOzw7z8f/0IlyICJzdsA/vPIfnjTNHgk8gA9HAD/aZRjAwAAAAD4Cn+mn5KdBd4XnPCDW0ID0KHKpcs7Go4dLU7wlPu0X/mc6611mDz+/0rnfVOUR/nT88YB6MrUik+ZYectxbx035mPesqt2q+pthfflNjiI8+eNHqrdwuAGkEk8U6PgmijK/9bjCKTI5OaoviE+xL7xF1tAHyNo8YspvNsy/xWbqQOT0x3aTtigP/Na3BxzGx+lmlIJigKTvjOq1q8FgDfpNR2vKSfr/j7f5+ZFifIJ9DsiwHWh1RKgV5+gUbOvBYAnxJECfu+cybfthe/hSfnJzfFEG9+218POEpnn+KA4DFHOfNaAJzv2L/w+QSAfHCfk72V2nzHzNVLXAuAM70ZbUzfSOlZGnAEb9u8aP5zHAds/Rzkj6+/FgBfQADxNeZv5Uvir+cPb65S2XTC/InB9NXgWgBcV7AqJC8tNTdBnq7SE2vu5LYzP+LXuy8GAICr0h0CAAAAAADA1/hj6AsAaO2tPBwAADXWMo3+fV3N8jNWFZH7+7hcFU1v8IH3vbLgucEVo5spX+hx4m0A3EHYw/EMKX7G//4NsyAjKCJ3zco5vLmdJ+RfSDY8u+gJ9XXJtwTgssIejuAb+dW+rHMhYwfRgM83wLHWN2/7z9SlsamIed9GUlHBr9PP09M/Oph1/vjC/Fp5z8eYFS2OxSRRy7h0fPGllUZ24hOWbgOAoXbSqGhjt2nIKfl59VnDv2kfHQxmHT7MMW3F93sk+6HGdGNjdpNTEJAXjbOAYFwKDhbfpPiEpdsA4Kmih0O00aHTJ4U8v74HsywPOf/Q8vwAfFDdKhXRRm9UOwCXUrdKZVMRd5IPjmwi7xzATVRPGh3EHxVW6+HwirpmzZ8fZwTjNVJuAJwgTG2+OFEgmKh4tWbveKsx2RCuNxmyRSv58bjoaKV1Gb8P+Jdao/aEhcRf86MLV5kVlRaqDIWiytMuHk+KghMGtwHAYC+VjsSLZru0NdoA4La2DKnQzhXCi5xQA4BKAo7PqRk0ueAOLACQM6QCADRne3oAoDkBBwDQXF2m0cl7izNtbQUA91SXafSgLcTEGQBwT2EPR9Bp0WzphNQOAPB9qudwHJoo4mH/bgC4k7plsaVoYz6MUheLTFmfpX8GgPuo6OEI+jY2zuGYm+86AQB8t7WA45optwGArtStUjnR4/FINhQFAK5uS+Kvv4+XZbEbx1AAgNsKJ40uhhTJ/un58VByRkM1AHAHNm8DAJqzlwoA0JyAAwBoTsABADQn4AAAmhNwAADNhbvFDnVrX2UjPdpU6aU6XX3AB/V8bwB8Sl2m0WDDFOm/Glhtqntuy3u+NwA+JQw4pjijRLTx1fI087LOA7DP2pDKJB83mY7cPux4vv5xaTThMfv18Vo01OVdzZ/1KWnw8Vqa32Hp9S5WFADfrW7SaBBtMIsnxtfYIja1vsGzHltOeLhxHKdEtM9o4/fX5wPCm8+P76soAL5ARcARxBbJdm5skbS449LX/U4CuiTa+D3+71+JqAKAp7pVKnm0obfjCOOswe62+krRxtDxPQPQm7pVKjTT+eBCEG0AQL0tib/mAyi87ZHNneytctN5G9mild9H9nfzAHSlYpVKHGTM53Dcvi8kX3yRDJo8ZvNAx6ydTta21Fzo0Xhco9S3Edz8JFiKYpUKwN380Vt+iM7nYfRDRQHck71UAIDmBBwHeGQ/sEhFAdxWdaZRygwQVFJRALelhwMAaE7AAQA0V5dpdDItfF1cK3v7ZbHHsna0ERULcL4w4EgyjT4Tf82jChFGS6PJlW2oWIDzhUMqP6OQ4s7y1KKlTKOf0v8dAvBUvUrFviplixnKS2lDk+PzCu08KVbatL+W5i8kL5pnXM2f9b76O0zuJz9i2AXgWHWZRvNoI5/DceNYpPSdeiwEH4txSeWRT0n3VRmGoe51baqBc+5wyAKLUp33U/8AV1e9l0oSTyS/5tM77mdc+n78HUp7xi6+zHzLmBNsusO55G4BaKRulcq9I4mbC3aoL30ski3rWttxhwCcLJw0KtpoKdmSvs/e+6Atj43ZC6y/4qaJn7vvEIAzbUn89Rw3yX9mr6lJvkS0EYQCj9fIaXEWbT93CMD5qudwJH7GNObQEbJkzJq6cekB+fHhtQn/VOWWeg6C17X6kodD14DsuMOa27BKBeBYdatU4CBxX04P4yN99jYBXJ3dYumI8BfgW9m8jfM8sh960/8dAlyUHg7O03/3Rf93CHBRejhYt3WpKgAkBBwAQHNrq1SSNbF5RvPF41RYXXjZw8rMpGNj4dOyuqjXRwOAlYAjyTQa/8p2qyswP7tEM0+rNSQxRymqsLQUgFfhkMrPWIwnRBv3k8ampUkdR0cb+QwSE0oALqd6lYoII5Q0gJt2Y79Qd8BLzNE6b3lBGny8luYbzedF+aa+l6h8gEuryzSaRxt5vvMbxyJJxFAKMvLAImn5OoxF9szhyEOQQ3s75rdRWfObHglAC9V7qSzGE/P5HH8ft405pm07xn+/vnmGfswjjOfQRm0y0HnbftALKyU+X+xkef9NAeBAawGHkZQ6863CVFYLwTYrpQr3pgD0I5w0KtrYYvzYrIZW2s3N3JpJbPembt/3pgBc1JbEX8l+9Pwz3wb9y5q3HtaD5KtzS3c1fyO++E0BuKKKPByJJA9HfvyWatZK5JNDg2clpZ9NxfF7G4tJOH6LC0X5TNMtPRbJxJHFeaOLl9pXBEALdatUuLfdIxonnG3nPQzDIM4AOJHdYjmbGBfghvRwcDs9jFUB3I0eDm5HkAFwPtvTAwDNCTgAgObqMo1OSmtik1KO0MXWYhXrRw9ZdfLOi+1h2QsAsbpMo9M+9Xn8EWxhz3s+X63T4tFyws6jGvt3nv+8eg85ygAoCQOOIJgQZ1CINvJMoCeEAkfFHB+5eYA7qF6lYl+VssUU2qtZN4Pd6r9J2n6/luYvNqiW88eY6m++tNT2Ju8ywKq6gCOONsQi/zxef17MZd7hHvRF8+1WpyOrT1pLQx7XxpgdT440rcPdNx8cT25+uNAHAOA4FQGHaKPOPLz4kl7498Kl0vSO1crJY47zbb354EUlYZv/KsA91a1SEW2wUTCZtP+Py9abnwdmi5FH3tcFcDd1q1RoIGmfvqlB6mqdarCdfenxw9E3/8h+ALibLYm//j6W02+w13xSwnDBaGNxbUg69aHc3j+Oa4CPihJa3Px8cfEg5gDuqiLgeMYZQo1d5iHFYlSRzzqcfP5r8erdF2KOUsNfcb49Rcf2Sey4+Xw2a6njSswB3JbdYrmA3T1AXQ3uANyZ3WL5ZkINgE7YvI3efX5oCYC36eGgd/ooAL6AHg4AoDkBBwDQXF2m0ck8CVhQxBEkwz5MeZXLIctY3nmnrKMBbqIu0+i0Gf0UZARFHEQTdIzyB/Ooxv6d5y8mMgH4PmHAMQUT3FKeZ/N67eLGaOMjL1nMAdxB9SoV+6qUJT3q+R6rc8nxeYV2nuA8bYlfS/MXUjp+3kt+e/fe+pecXDC4hW7fX4Cm6gKOPNr4GdN852KR1wbpsbRH6Md3Xd9k/u0/3WTk+YCp9PV1Bcfz/N/No40tdr/k4V/p6ku+0AcA4EAVAcdi30Zy8Bl83DvmGA/4Rt2p0lyH0ssMXv7UAE+/HnJvL5eY32ceA245bf1L/r26qAJgSd0qlXtHEjcXzKxc/FjMewIWm+e84+cdxSmfb4zcbH3JAKyqW6VCA/G2op1osWgzTlUe7Ah/DutUAVrYkvjLJvVHm4/rD91HG0Eo8KgeRZpe6cc3al9cG9LiJa8S4gB3UBFwPOOMxTRf8yIdIUvmIcViVJFPtJz0sGlZqRUMXlc+O7LUi3NSzFGux8WYY8dLnl9qa5FoA7iJP/7S0Y+vbH377L4COJndYunIl4UaAExs3gYN9TAuBtADPRzQkB4bgCc9HKz7+FJVAK5OwAEANLe2SmVxNexqEUfoYbuvaMno6lZmAPBPGHDkG6YMswwcpSKO89kVlXkWrN9f863MBjEHAEXhkMrPKIZg0nTNaj5NxKwRgG9SvUpFH0ZZMvax+OV/eH1M/rDFI71ZjjkaBAZp8JHcRqEorsz+qxfgi9VlGg12qJ+7azhSanDzbVHznVQ7byOLczimOys1+G9f9Hco5/XcQe7woVx7H69JgJur6OEo9W0EE0hvaSy0wpc2j0efox4L80YPfcGl7OalKwRXHl+3WBNtAHzQWsBhJIXYoR+NYC+VxevkfRj5s/RtAPQgnDQq2mgp3km1B+vTNuPb3biDe4ud22QWB+jElsRf+Sb10/FBXLLHfMfzobNo4+m0pSL5EtzSpevDmKlWgy4QAM5RPYcjPi7aKBizBnJcekB+fHj9dv6R+h3HMWn4f7sfVl/YrsstHy9fanwN1x6zunoUHumTCvARdatUuLc9gx3ddtoA8Al2i6UNoQYAM3o4AIDm7BYLADQn4AAAmhNwAADN1WUanQTpzG+/MlYKbQAoqcs0Ou1TPwUZQdFdiTMAoCTs4bh9pwUAcIgj8nDcvm8jltROvn966Xi80/riExzCEUMAAARPSURBVAGgTxtTm+d9HqKNUBI6JNm1S8d3nxAA+lQRcExBxnPztnze6M8o7IiVamd3raluAK7l7SEV8zwqLNZRMEqy74QA0K338nCINtpIohD7oAFwdWvLYo2VHOpR3ZkxxRxxtFF/QgD4oLXN2yT+qhYvOYmLxkJgERxcPCEA9MlusQBAc0fk4bi9YFBDNAcAg83bAIAT6OE4gG4MAIjp4QAAmhNwAADNrQ2prK59nbKbs5fNUAD4emuJv4Zh+Bn/+zdk8Ye0YG9TgwDcQdjDEfdbiDYAgDpvrFJZ7PO4pSkf6DxzaFI6ZEWP7DEGVgD4VhUBxzykMFdjyfi66cljNi0jiSTmRYsPAICvVBFwTEHGcy83MUdZsMUaANyZxF/Hy8MOMRoANycPBwDQ3NqyWHNCD/UoD68ERQBwdWvb0weJv/JY5K7TO+YVkVdBaZVK/oCbVh8AN7AWcAAAvM0cDgCgOQEHANCcgAMAaE7AAQA0J+AAAJpbyzRavyz2rmtiD/Csyf4qsJP1up3cBgDvWEv8NQzDz/jfv2EWZARFfItOGvhObgOAd4Q9HMF37v6+jl+YygTg2x2xeVuvIwK9iMeeptI4i+vwum1vcMIGntf7+BvcyW0AsEPFpNHnjiqlqEK0EVsde4q7kabSJNo4dzDree2Pj5l1chsA7LAltXkeW4g2aqzWUvCAUp0nmr0F806F1h0Mj0f60qYP55m3AUALbwypiDYq/YxRF1EgeMo3VrttfQC+2N48HKKNTXYMf1ykhh+PR94zAQCJtWWxlQ1k/SO/W14P8yP1MUcSbQTVe82aF6YA3M3astikPSutsKCkvg7/Pqqqd/WEDXSSequT2wBghy2TRuHVs5fCRwiAVQIOAKA5m7cBAM0JOAAAAAAAAFb9mX4ax/HY1AiHnxCAb5WsYJg3H0HRvhMe/qxvtVobzwdU1tKfHc+pcfgJAfhWSZMx/zUo2nfCw5/1rVZr43e7q7oqOmJ7egB4w+GN+m2jhNOUcmosxiXPX/83f04QvzzVFMUnrL97HxcA5vYljrp5R0UjlYkf5w+IhlTe6ePa+gbryAK4uXnjlDcHi6WV59z6+Lk7t0SrtRFXb1K6HnCULrbpMjUEGQAMS99vn6awY1PHeWmq49ziCbVKczUdE3HR+hyOUl0/3/gD34/DTwjA19jaLgStiSamtcXKfyvT6LTJ+FEbshx+QgC+QBwiTF9W50dWn0UjpcpPA478bVssmv8chwiLJ1z8cFSeEIAvEzQ9nzq/kGWuvjbyGZlTzf9JHpSc8Z1MLMEK3ZopI95mgPt4v7kJnlJ6YnwbmqGgNkrzYMbXnJ/iNgC+ROveEQAAAAAAADjNH0NfAEBrb+XhAACoIeAAAJoTcAAAzQk4AIDmBBwAQHMCDgCgOQEHANCcgAMAaE7AAQA0J+AAAJoTcAAAzQk4AIDmBBwAQHMCDgCgOQEHANDc/wO3gJCKvW2v3gAAAABJRU5ErkJggg==" alt="" />

可以发现,在test1.s中,没有了%ebp入栈,保存旧%esp来读取函数参数的过程,而是完全通过%esp的相对内存位置来操作栈

GCC优化选项-fomit-frame-pointer对于esp和ebp优化的作用的更多相关文章

  1. ESP、EBP、CALL 指令与局部变量浅析

    概述 函数调用是计算机程序中一个最重要的概念之一,从汇编的角度看,能更加直观地理解函数调用的原理,理解 CALL 指令调用过程中 ESP.EBP 寄存器的作用. 我们先从一段简陋的 C 语言代码说起, ...

  2. gcc 优化选项 -O1 -O2 -O3 -Os 优先级

    http://hi.baidu.com/xiaole10368/item/7cea9b1369cc240db88a1a5c 少优化->多优化: O0 -->> O1 -->&g ...

  3. gcc 优化选项 -O1 -O2 -O3 -Os 优先级,-fomit-frame-pointer

    英文:https://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/Optimize-Options.html#Optimize-Options 少优化->多优化: ...

  4. gcc优化选项解析

    1 -fno-defer-pop 函数返回的时候,就立即将栈里面放置的该函数的参数pop出来.这样可以避免函数参数占用过多的栈空间. 2 -fforward-propagate ? 3 -ffp-co ...

  5. gcc -O0 -O1 -O2 -O3 四级优化选项及每级分别做什么优化【转】

    转自:http://blog.csdn.net/qinrenzhi/article/details/78334677 相关博客http://blog.chinaunix.net/uid-2495495 ...

  6. gcc options选项的优化及选择

    gcc options选项的优化 -c和-o都是gcc编译器的可选参数[options] -c表示只编译(compile)源文件但不链接,会把.c或.cc的c源程序编译成目标文件,一般是.o文件.[只 ...

  7. GCC 优化选项 -O1 -O2 -O3 -OS 优先级,-FOMIT-FRAME-POINTER(O3的优化很小,只增加了几条优化而已)

    四种编译优化类型的解释: `-O ' `-O1 '                 Optimize.      Optimizing   compilation   takes   somewhat ...

  8. gcc/g++ -O 优化选项说明

    查查gcc手册就知道了,每个编译选项都控制着不同的优化选项 下面从网络上copy过来的,真要用到这些还是推荐查阅手册 -O设置一共有五种:-O0.-O1.-O2.-O3和-Os. 除了-O0以外,每一 ...

  9. gcc -O0 -O1 -O2 -O3 四级优化选项及每级分别做什么优化

    参考链接 : http://blog.csdn.net/qq_31108501/article/details/51842166 gcc -D选项的作用,声明宏 参考链接:  http://blog. ...

随机推荐

  1. .NET 统一用户管理 -- 统一鉴权

    统一鉴权 目的 为什么要统一鉴权了,每一个业务系统几乎都离不开,用户,角色,权限 这个 3个基础功能,为了避免各个系统各自去开发一套权限管理等基础功能,也同时轻松管理每个用户的全部权限. 怎么做   ...

  2. SqlServer查找表中多余的重复记录

    1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from ...

  3. store procedure example

    SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- ...

  4. aptitude

    aptitude比apt-get 要好用.是 Debian 及其衍生系统中功能极其强大的包管理工具.与 apt-get 不同的是,aptitude在处理依赖问题上更佳一些.举例来说,aptitude在 ...

  5. Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW _TASK flag.

    在Activity中使用startActivity()方法不会有任何限制,因为Activity重载了Context的startActivity()方法.但是如果是在其他地方(如Widget或Servi ...

  6. Codevs 1690 开关灯 USACO

    1690 开关灯 USACO 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 传送门 题目描述 Description YYX家门前的街上有N(2<=N& ...

  7. iframe 的基本操作

    要在服务器环境下才行 1.iframe 下操作父页面window.parent.document.getElementById //全部支持window.top //最顶层ie 下的iframe的on ...

  8. JavaScript符串中每个单词的首字母大写化

    map() + replace() function titleCase(str) { var convertToArray = str.toLowerCase().split(" &quo ...

  9. 破解https和https原理

    http://blog.csdn.net/cch5487614/article/details/6364711 http://www.jb51.net/network/68135.html

  10. yii2源码学习笔记(十)

    继续了解Application. /** * Registers the errorHandler component as a PHP error handler. * 注册errorHandler ...