Bunlar, C (ve C ++) 'da kullanılabilen tüm exec sürümleridir.
execl
execle
execlp
execv
execve
execvp
Aralarındaki fark nedir? Hangisini kullanacağınızı nasıl anlarsınız?
Bunlar, C (ve C ++) 'da kullanılabilen tüm exec sürümleridir.
execl
execle
execlp
execv
execve
execvp
Aralarındaki fark nedir? Hangisini kullanacağınızı nasıl anlarsınız?
Yanıtlar:
Farklılıklar şunların kombinasyonlarıdır:
L vs V : parametreleri çalıştırılan programa olarak iletmek isteyip istemediğiniz
execl()
, execle()
, execlp()
, veexeclpe()
execv()
, execve()
, execvp()
veexecvpe()
Dizi biçimi, çalıştırılan işleme gönderilecek parametrelerin sayısı değişken olduğunda - önceden bilinmediği gibi, bu nedenle bir işlev çağrısına sabit sayıda parametre koyamazsınız.
E : Sonunda 'e' bulunan sürümler, çalıştırılan program başlatılmadan önce ortaya çıkan süreçler ortamına eklenen bir dizi karakter dizisi olan bir dizi karakter * geçirmenize izin verir. Parametreleri aktarmanın başka bir yolu, gerçekten.
P : İçinde 'p' bulunan sürümler PATH
, yürütülecek adlı yürütülebilir dosyayı aramak için ortam değişkenini kullanır. 'P' içermeyen sürümler, yürürlükteki çalışma dizininde değilse yürütülebilir dosyanın adının başına mutlak veya göreceli bir dosya yolunun eklenmesini gerektirir.
Opengroup, çekirdek c / c ++ işlevleri için en iyi genel referanslardan biridir.
Exec * için belgeler burada: http://pubs.opengroup.org/onlinepubs/009695399/functions/environ.html
C çalışma zamanı kitaplığının Posix uzantısıdır. Resmi Posix dokümantasyonu yetersizse, kitabı tavsiye edebilirim - Samuel P. Harbison, Guy L.Steele, 2002 "CA Referansı" Sayfa # 416 - bu soruyu ele alın.