получаване на exit code в C програма

5 отговора 224 прегледа
#1

получаване на exit code в C програма

Здравейте,
Имаме програма на С, писана с VisualStudio 6.
Да допуснем следната ситуация: имаме функция, която по някое време прави exit(1).
Чрез atexit( foo ) сме се закачили и можем да разберем кога става това.
Въпросът е, как във функцията foo да разберем кода, подаден на exit ( това "1" )?
С errno не става, връща винаги "9", с _errno() също, пак дава "9" :)

И въпрос 2, как можем да махнем "куката", сложена с atexit?

Отговор
в отговор на nobody #2

Re: получаване на exit code в C програма

Може би с глобална променлива? Правиш си фунцкия/макрос myexit която слага кода в тази глобална променлива и вика истинската exit функция.

Така или иначе, програмата ти е само една, т.е. няма кой да сложи друга стойност в тази променлива.

Btw, VC-то може вече да си има такава? Нямам run-time около мене да видя...

---
Не е важно да си добър, важното е да си ман-и-як!
Отговор
в отговор на nobody #3

Re: получаване на exit code в C програма

za exit code, moje bi, da si napishete sobstwen exit() koito wika
ot swoia strana tozi ot CRT, kato predi towa si zabiwate koda w
niakoia globalna promenliwa :)
za sprawka:
X:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC\CRT0DAT.C

_exit ne izwikwa funkciite zakacheni s atexit
inache, oswen da widite source na atexit w
X:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC\ONEXIT.C
drugo ne se sehtam... tam ima dwe promenliwi kym nachaloto i
kraia na blok ot pointeri kym funkciite, triabwa da si namerish twoia
pointer w bloka, da go zamajesh i da go resiz-wash wyprosnia block.

Отговор
в отговор на ess #4

Re: получаване на exit code в C програма

Ako s global variable ne stava, moje da ia zapishe vyv file i da ia chete ot tam

Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Отговор
в отговор на nobody #5

Re: получаване на exit code в C програма

eto kakvo kazva man:

$man exit
ala-bala (3) atexit

$man atexit
ala-bala (3) on_exit

$man on_exit
ala-bala.

taka che OTGOVORA na vaprosa ti e:
on_exit:
[линк]

a saveta mi e RTFM :)

Отговор
в отговор на FP #6

Re: получаване на exit code в C програма

ti da ne si si pusnal LAN do w kyshti :)

Отговор