Aktív témák
-
Jester01
veterán
Nem, az csak véletlenül jó, mert alacsony szinten a C calling convention szerint a hívó és nem a hívott veszi le a paramétereket a verembõl. Induláskor a main mindenképp megkapja az említett 2 paramétert is (nézd meg debuggerrel). Szintén a calling convention miatt mûködik a void main is, ugyanis a visszatérési érték egy regiszterben van, amiben ígyis-úgyis lesz valami szemét.
int main()
{
return 0;
}
$ gdb a.out
(gdb) br *main
Breakpoint 1 at 0x8048374: file t.c, line 2.
(gdb) r
Starting program: /var/tmp/a.out
Breakpoint 1, main () at t.c:2
2 {
(gdb) x/x $esp+4
0xbf9714d0: 0x00000001 Ez itt az argc
(gdb) x/x $esp+8
0xbf9714d4: 0xbf971544 Ez itt az argv
(gdb) p *(char**)0xbf971544
$1 = 0xbf971b47 ''/var/tmp/a.out'' Ez meg az argv[0], vagyis a prog neve -
ReJim
őstag
na de lehet be fog zavarni, ha nagyon eltér a szintaxisa a delphi vonaltól!

sajna a suliban ezt a vonalat fogjuk tanulni...
és azt jól sejtem, hogy a windowsos és unixos rendszereken csak a header az eltérés
?
nincs valakinek egy jófajta C könyve pdf-be?
meg egy lpt példája? (vagy az előző az működik?)
Aktív témák
- Manli RTX 3070 8GB LHR / Csavarmatricás / Beszámítás OK! / Akciós ár!
- Apple Watch 4 44mm szürke színben. 74% akkumulátor.
- Canon EF-S 24mm f/2.8 STM objektív
- Dell Inspiron 16 Plus 7640 Ultra 7 / RTX 4060 16gb DDR5 1TB SSD/2.5K 120Hz Garancia
- Canon 60D fényképezőgép + 50mm objektív + 16GB memóriakártya
- Alphajack MSH V1 mágneses autós telefontartó szellőzőre (Magsafe kompatibilis)
- 5G Lenovo ThinkPad P14s Gen 3 Intel Core i7-1280P Nvidia T550 32GB 1000GB 1 év teljeskörű garancia
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- BESZÁMÍTÁS! Sony PlayStation 5 825GB SSD lemezes konzol fejhallgatóval garanciával hibátlan működés
- Eladó Pixel 7 obszidián 128/8
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest





