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

  • ElChakotay Andrich

    ElChakotay A

    10 EKİM 2013
  • thewinekone

    thewinekone

    17 Aralık 2005
  • wolfys you tube

    wolfys you t

    22 Kasım 2006