SORU
21 HAZİRAN 2009, Pazar


Bulma' /proc/olmadan yol s yürütülebilir kendini güncel/exe

Linux /proc/self/kolay exe var gibi geliyor bana. Ama eğer çapraz platform arabirimi ile C/C geçerli uygulama dizini bulmak için uygun bir yol olup olmadığını bilmek istiyorum. Bazı projeler elde ettik[0] ile dalga geçiyorum gördüm, ama tamamen güvenilir görünmüyor.

Eğer hiç destek,,/, sen ne yapardın?/ proc yok olan Mac OS X, söyleyecek olsaydı Kullan #ifdefs platforma özel kod yalıtmak için (örneğin NSBundle)? Ya da elde ettik gelen çalıştırılabilir dosyanın yolu anlamaya çalışın[0], $PATH falan, kenar durumlarda hataları bulmak riske?

CEVAP
21 HAZİRAN 2009, Pazar


OS-belirli bazı arabirimler:

Taşınabilir (ama daha az) güvenilir yöntem argv[0] kullanmaktır. Kongre tarafından arama programı ile bir şey için ayarlanmış olabilir, ancak yürütülebilir yol adı veya $PATH kullanarak bulunan bir adı ya da ayarlanır.

Bazı kabukları, bash ve ksh dahil olmak üzere set the environment variable "_" idam edilmeden önce çalıştırılabilir dosyanın tam yolunu. Bu durumda getenv("_") bunu elde etmek için kullanabilirsiniz. Ancak bu kabuklar bu çünkü güvenilmez ve hiçbir şey için ayarlanmış olabilir veya programı çalıştırmadan önce bunu hiç değişmeyen bir ana işlem arta kalan.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kamikazeepanda

    Kamikazeepan

    5 ŞUBAT 2006
  • Sam Kear

    Sam Kear

    14 Temmuz 2007
  • wafflepwn

    wafflepwn

    14 AĞUSTOS 2008