Forum » Programiranje » [c++] Visual Studio, Release, vkljuciti neuporabljeno kodo
[c++] Visual Studio, Release, vkljuciti neuporabljeno kodo

goranv ::
V casih ustvarim funkcijo da bi testiral kodo in v asm kodi pogledal kako je optimizirana v Release nacinu. Problem je ta optimizacija ne vkljuci mojo kodo, ker se v programu ne uporabi. Je mozno kako oznaciti kodo, da to kodo vseeno vkljuci?

WhiteAngel ::
Če je gcc dovolj dober in ne nujno visual studio, potem imaš
g++ -S
, ki ti prevede v assembly in lahko vidiš, kaj ven pride.
g++ -S
, ki ti prevede v assembly in lahko vidiš, kaj ven pride.

goranv ::
compiler explorer ustvari drugacno kodo.
g++, sem ze veckrat poskusil kateri drugi prevejalnik in sem imel osnovne probleme, zato sem vedno prisel nazaj na VS kker se bolje razumeva.
g++, sem ze veckrat poskusil kateri drugi prevejalnik in sem imel osnovne probleme, zato sem vedno prisel nazaj na VS kker se bolje razumeva.

Randomness ::
Izklopi link-time optimizacijo. Če je funkcija "globalna", bi na ta način morala biti vključena v exe. Drugače pa imaš še n drugih načinov, kako to dosežeš drugače.
Aja, pa Godboltov Compiler Explorer podpira tudi MSVC, tako da ne ne vem, kaj si mislil s tem, da compiler explorer ustvari drugačno kodo. Pač nastaviti mu moraš prave opcije.
Aja, pa Godboltov Compiler Explorer podpira tudi MSVC, tako da ne ne vem, kaj si mislil s tem, da compiler explorer ustvari drugačno kodo. Pač nastaviti mu moraš prave opcije.
Zgodovina sprememb…
- spremenilo: Randomness ()

goranv ::
Izklopil sem optimizacijo ( #pragma optimize( "", off ) ), potem je bila koda ista kot v compiler explorer in isto kot pri Debug. Ne ustvarjam zahteven program, samo za info me zanima kako se optimizira dolocena koda. Moral bom dopolniti kodo da jo uposteva.

Randomness ::
Izklopil sem optimizacijoNe optimizacijo kar počez, napisal sem link-time optimizacijo. /LTCG:OFF

Randomness ::
V 2019 verziji ni OFF izbire.Če bi bolj natančno preveril, bi videl, da je. Kakorkoli, tudi v Compiler Explorerju lahko navedeš poljubno opcijo. Za to, kar želiš doseči ti, bo verjetno zadostovala že opcija /O2. Če rezultat še ne bo popolnoma enak, pa boš moral bolj natančno preveriti, s katerimi opcijami prevajaš v svojem projektu in enake opcije nastaviti v Compiler Explorerju. V splošnem pa, RTFM :-)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | WebAssembly postal standardOddelek: Novice / Brskalniki | 8826 (5810) | xmetallic |
» | Množenje v COddelek: Programiranje | 1542 (1057) | Isotropic |
» | Najhitrejši programski jezik? (strani: 1 2 )Oddelek: Programiranje | 7795 (5615) | Senitel |
» | [C++] novi standardi in compilerjiOddelek: Programiranje | 1633 (1226) | Ezekiel |