ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ COFF ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»Π°Ρ , ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ Π°ΡΡ ΠΈΠ²Π°Ρ . ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΊΡΠΎΠΌΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° COFF ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ a.out, Ρ ΡΠ°Π½ΡΡΠΈΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΠ΄ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ [16] (ΡΠ°Π±Π». 2.6).
Π’Π°Π±Π»ΠΈΡΠ° 2.6. ΠΠΎΠ»Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° a.out
| ΠΠΎΠ»Π΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|
vstamp | ΠΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° |
tsize | Π Π°Π·ΠΌΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ (text) |
dsize | Π Π°Π·ΠΌΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ (data) |
bsize | Π Π°Π·ΠΌΠ΅Ρ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ (bss) |
entry | Π’ΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ |
text_start | ΠΠ΄ΡΠ΅Ρ Π² Π½Π°ΡΠ°Π»Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ |
data_start | ΠΠ΄ΡΠ΅Ρ Π² Π½Π°ΡΠ°Π»Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ |
ΠΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠΎΡΠΌΠ°ΡΠ° COFF ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ²ΠΎΠΈΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ. Π Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ ΡΠ°Π½ΠΈΡΡΡ ΠΈΠΌΡ ΡΠ°Π·Π΄Π΅Π»Π° (.text, .data, .bss ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°), ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»Π°, Π΅Π³ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π°Π΄ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΡΠ»Π΅Π΄ΡΡΡ ΡΡΠ°Π·Ρ Π·Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ ΡΠ°ΠΉΠ»Π°.
Π’Π°Π±Π»ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈ ΡΡΡΠΎΠΊ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. Π‘ΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΡΠ±Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΊΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
ΠΠ°ΠΆΠ΄Π°Ρ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Ρ ΡΠ°Π½ΠΈΡ ΠΈΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°, Π΅Π³ΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ, Π½ΠΎΠΌΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠΈΠΌΠ²ΠΎΠ», ΡΠΈΠΏ, ΠΊΠ»Π°ΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ (Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ, ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΡΠΉ ΠΈ Ρ.Π΄.). ΠΡΠ»ΠΈ ΠΈΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΎΡΡΠΌΠΈ Π±Π°ΠΉΡ, ΡΠΎ ΠΎΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΡΡΠΎΠΊ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π² ΠΏΠΎΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΡΡΠΎΠΊ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΡΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ - ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°Ρ . ΠΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΈΠ»ΠΈΡΠΎΠΉ ps(1), ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠ΅ΠΉ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ UNIX
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π² ΠΏΠ°ΠΌΡΡΠΈ Π΅Π΅ ΠΎΠ±ΡΠ°Π·Π° ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΡΡΡΡΠΊΡΡΡ ΡΠ΄ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Π΅Π΄Π΅Ρ ΠΊ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΡΡΡΠΊΡΡΡ ΡΠ΄ΡΠ°. ΠΠ±ΡΠ°Π· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΡΠ΅Π³ΠΌΠ΅Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΈ Π΄Π°Π½Π½ΡΡ , ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΅ΠΊ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΠΏΡΡΠΊ C-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π€ΡΠ½ΠΊΡΠΈΡ main() ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ (Ρ. Π΅. ΡΠ²Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ), ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΠΎΠΉ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΡ main() ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
main(int argc, char *argv[], char *envp[]);ΠΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ (
argcΠ£ΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅
argv[]argv[0]argv[1]argv[argc-1]ΠΠ°ΡΡΠΈΠ²
envp[]ΠΈΠΌΡ_ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ=Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅_ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉΠ‘ΡΠ°Π½Π΄Π°ΡΡ ANSI Π‘ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΠΏΠ΅ΡΠ²ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ main() β
argcargvenvpenvironextern char *environ;Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΡΠΎΡΠΌΠ°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π»Ρ Π»ΡΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ UNIX.

Π ΠΈΡ. 2.6. ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΡ POSIX.1, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ main(): ΡΠΈΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠ°ΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΡΡ Π΄Π΅ΡΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.
#include <stddef.h>extern char **environ;main(int argc, char *argv[]) {Β int i;Β printf("ΡΠΈΡΠ»ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ %s ΡΠ°Π²Π½ΠΎ %d\n",Β argv[0], argc-1);Β for (i=1; i<argc; i++)Β if (environ[i] != NULL)Β Β printf("environ[%d] : %s\n", i, environ[i]);}Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ a.out). ΠΠ°ΠΏΡΡΡΠΈΠ² Π΅Π³ΠΎ, ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ:
$ <b>a.out first second 3</b>ΡΠΈΡΠ»ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ a.out ΡΠ°Π²Π½ΠΎ 3argv[1] = firstargv[2] = secondargv[3] = 3environ[0] : LOGNAME=andyenviron[1] : MAIL=/var/mail/andyenviron[2] : LD_LIBRARY_PATH=/usr/openwin/lib:/usr/ucblibenviron[3] : PAGER=/usr/bin/pgenviron[4] : TERM=vt100environ[5] : PATH=/usr/bin:/bin:/etc:/usr/sbin:/sbin:/usr/ccs/bin:/usr/local/binenviron[6] : HOME=/home/andyenviron[7] : SHELL=/usr/local/bin/bashΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π²Π΅Π»ΠΈΡΠΈΠ½ΠΎΠΉ
ARG_MAX