.bss



Az összes tudás, amelyet az emberek az évszázadok során felhalmoztak .bss-ről, most már elérhető az interneten, és mi a lehető legkönnyebben hozzáférhető módon összegyűjtöttük és rendszereztük az Ön számára. Szeretnénk, ha gyorsan és hatékonyan hozzáférhetne mindenhez, amit a .bss-ről tudni szeretne; hogy a látogatás élményszerű legyen, és hogy úgy érezze, valóban megtalálta a keresett információt a .bss-ről.

Céljaink elérése érdekében nemcsak arra törekedtünk, hogy a .bss-ről a legfrissebb, legérthetőbb és legigazabb információkat szerezzük be, hanem arra is, hogy az oldal kialakítása, olvashatósága, betöltési sebessége és használhatósága a lehető legkellemesebb legyen, hogy Ön a lényegre, a .bss-ről elérhető összes adat és információ megismerésére koncentrálhasson, és ne kelljen semmi mással foglalkoznia, erről már gondoskodtunk Ön helyett. Reméljük, hogy elértük a célunkat, és hogy megtalálta a kívánt információt a .bss-ről. Üdvözöljük Önt, és arra biztatjuk, hogy továbbra is élvezze a scientiahu.com használatának élményét.

A számítógépes programozás során a blokkindító szimbólum ( .bss vagy bss rövidítéssel ) az objektumfájl , a végrehajtható vagy az összeállítási nyelv kódjának azon része, amely statikusan kiosztott változókat tartalmaz , amelyek deklarálva vannak, de még nem rendeltek hozzá értéket. Gyakran nevezik "bss szakasznak" vagy "bss szegmensnek".

Általában csak a bss szakasz hossza, de nincs adat tárolva az objektumfájlban . A programbetölt memóriát foglal le a bss szakaszhoz, amikor betölti a programot. Azáltal változók nincs értéke a .bss részén, ahelyett, hogy a .data vagy .rodata részén igényl kezdeti érték adatok, a méret a tárgy fájl csökken.

Egyes platformokon a bss szakasz egy része vagy egésze nullára van inicializálva. A Unix-szer rendszerek és a Windows inicializálják a bss szekciót nullára, lehetvé téve a C és C ++ statikusan kiosztott változók inicializálását az összes nulla bitre reprezentált értékekre a bss szegmensben. Az operációs rendszerek a bss szegmens hatékony megvalósításához használhatják a nulla kitöltés igény szerint technikát. A beágyazott szoftverekben a bss szegmens a memóriába kerül, amelyet a C futásidej rendszer nullára inicializál, mieltt main()belépne. Néhány C futásidej rendszer lehetvé teheti a bss szegmens egy részének inicializálását; A C változókat kifejezetten a bss szegmens azon részébe kell helyezni.

Bizonyos számítógépes architektúrákon az alkalmazás bináris interfésze támogatja a "kis adatok" sbss szegmensét is. Általában ezek az adatelemek rövidebb utasításokkal érhetk el, amelyek csak bizonyos címek tartományát érhetik el. A szál-helyi tárolást támogató architektúrák használhatnak egy tbss szakaszt az inicializálatlan, statikus adatokhoz, amelyeket szál- helyiként jelöltek meg.

Eredet

Történelmileg a BSS (a Block Started by Symbol-tól ) álmvelet az UA-SAP-ban (United Aircraft Symbolic Assembly Program), az összeszerel gépet az 1950-es évek közepén fejlesztették ki az IBM 704-hez Roy Nutt, Walter Ramshaw és mások a United-ben Aircraft Corporation . A BSS kulcsszót késbb beépítették a FORTRAN Assembly Program (FAP) és a Macro Assembly Program (MAP) programba, amelyek az IBM szabványos összeszereli a 709 és 7090/94 számítógépekhez. Meghatározott egy címkét (azaz szimbólumot), és egy bizonyos számú szó számára lefoglalt egy inicializálatlan helyblokkot . Ebben a helyzetben a BSS gyorsírásként szolgált ahelyett, hogy több különálló kisebb adatállomást külön lefoglalott volna. Egyes összeszerelk egy kiegészít vagy alternatív BES irányelvet támogatnak a Block End by by Symbol esetében , ahol a megadott szimbólum a fenntartott mondat végének felel meg.

BSS C -ben

A C -ben a kifejezetten inicializáló nélküli statikusan kiosztott objektumokat nullára (aritmetikai típusok esetén) vagy nulla mutatóra (mutatótípusokra) inicializálják. A C megvalósításai tipikusan nulla értékeket és nulla mutatóértékeket képviselnek, kizárólag egy nulla érték bitekbl álló bitmintával (bár ezt a C szabvány nem írja el). Ennélfogva a BSS szegmens jellemzen magában foglalja az összes inicializálatlan objektumot (mind a változókat, mind az állandókat ), amelyeket a fájl hatókörében (azaz bármely függvényen kívül) deklaráltak, valamint az inicializálatlan statikus helyi változókat ( a kulcsszóval deklarált helyi változókat ); a statikus helyi állandókat azonban deklaráláskor inicializálni kell, mivel nincs külön deklarációjuk, és így jellemzen nem szerepelnek a BSS szakaszban, bár lehet, hogy implicit vagy explicit módon nullára inicializálják ket. Egy megvalósítás statikusan kiosztott változókat és állandókat is hozzárendelhet a BSS szekcióhoz kizárólag nulla érték bitekbl álló értékkel inicializálva. static

Peter van der Linden , a C programozója és szerzje azt mondja: "Vannak, akik úgy emlékeznek erre, mint" Jobb helyet takarítanak meg ". Mivel a BSS szegmens csak olyan változókat tartalmaz, amelyeknek még nincs értékük, valójában nem kell tárolniuk ezeknek a változóknak a képét. A méret, amelyre a BSS -nek futásidben szüksége lesz, rögzítésre kerül az objektumfájlban, de a BSS (ellentétben a adatszegmens) nem foglal tényleges helyet az objektumfájlban. "

BSS Fortranban

A Fortran -ban ebben a szegmensben közös blokkváltozókat osztanak ki. Bizonyos fordítók 64 bites utasításkészletek esetén az ezt a szegmenst elér utasításokban az eltolásokat 32 bitre korlátozzák, a méretét pedig 2 GB-ra vagy 4 GB-ra korlátozva. Azt is vegye figyelembe, hogy a Fortran nem igényli a statikus adatok nullázását. Azokon a rendszereken, ahol a bss szegmens nullára van inicializálva, a közös blokkváltozók és egyéb statikus adatok elhelyezése a szegmensben garantálja, hogy az nulla lesz, de a hordozhatóság szempontjából a programozóknak nem szabad ettl függniük.

Lásd még

Hivatkozások

Opiniones de nuestros usuarios

Valter Rácz

Mindig jó tanulni. Köszönöm a cikket a .bss

Edith Szabados

Apukám kihívott, hogy a házi feladatomat a Wikipédia használata nélkül csináljam meg, mondtam neki, hogy sok más oldal keresésével is meg tudom csinálni. Szerencsémre rátaláltam erre a honlapra, és ez a cikk a .bss-ról segített befejezni a házi feladatomat. Már majdnem kísértésbe estem, hogy belépjek a Wikipédiára, mert nem találtam semmit a .bss-ről, de szerencsére itt találtam, mert akkor apám megnézte a böngészési előzményeket, hogy hol jártam. El tudod képzelni, ha bekerülnék a Wikipédiára? Szerencsére megtaláltam ezt a weboldalt és a cikket a .bss itt. Ezért adom neked az öt csillagot

Magdolna Szarka

A .bss nyújtott információk igazak és nagyon hasznosak. Jól van

Beatrix Berényi

Néha, amikor az interneten keresel információt valamiről, olyan cikkeket találsz, amelyek túl hosszúak, és olyan dolgokról beszélnek, amelyek nem érdekelnek téged. Tetszett ez a cikk a .bss, mert lényegre törő, és pontosan arról beszél, amit szeretnék, anélkül, hogy elveszne a haszontalan információkban., Ez egy jó cikk a .bss., Ez egy jó cikk a .bss