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

  • gsipek

    gsipek

    20 Temmuz 2007
  • MysteryGuitarMan

    MysteryGuita

    16 HAZİRAN 2006
  • MofoHifi Records

    MofoHifi Rec

    15 HAZİRAN 2006