2011-08-21 20 views
13

Bu bilgiyi bulmakta güçlük çekiyorum ve deneme yanılma, değerin çok yüksek olduğunu söylüyor. Bu yüzden, topluluğun, Lion'un uzunluğunu doğrulayan bir elma sayfasına işaret edip bana işaret edip edemeyeceğini görmesini istedim. Tek bildiğim Snow Leopard'ın daha büyük olması.Mac OS X Lion: Maksimum yol uzunluğu nedir?

+2

Bir uzvun dışına çıkacağım ve bu limite uzaktan yaklaşan herhangi bir uygulamanın gerçekten kötü bir fikir olduğunu söyleyeceğim. – jonmorgan

+0

@spookyjon: +1. Dosya sistemine bağlı olarak da büyük olasılıkla. –

+2

@spookyjon Bu noktayı kaçırıyorsunuz, Windows'da 248, 10.6'da 250 ve Aslan'da çok daha büyük görünüyor. Onları ihlal etmediğinizden emin olmak için sınırları test etmekle ilgili, ancak sınırların ne olduğunu bilmeniz gerektiğini bilmekle ilgilidir. Hakkında hiçbir fikriniz olmayan ve bir şey sormama neden olan bir şey hakkında varsayımlarda bulunuyorsunuz. Bir soru soruyorum ama oylama yapmak çünkü varsayımların gerçekten kötü olduğunu düşündüğünüz şey hakkında kişisel olarak katılmıyorsunuz. –

cevap

9

sınırları kullanılan dosya sistemi bağlıdır - OSX varsayılan olarak HFS Plus yararlanır ... Ben dosya adı uzunluğu için 255 sınırını belgelemek HFS Plus spec olan işaret edebilir

sadece resmi belgeler.

Wikipedia, HFS Plus'taki maksimum yol uzunluğunun "sınırsız" olduğunu belirtir.

Belki de Apple Dev desteğine başvurmak, sınırlar hakkında kesin ifadeler almanın en güvenilir yoludur.

11

Eski, ama bir cevap buldu:

#include <sys/syslimits.h> 

ve o zaman bir #define olarak sabit bir PATH_MAX'dan gerekecek. Benim durumumda,

char filenameBuffer [PATH_MAX]; 

Maksimum yol olarak 1024 hardcode, ama böyle bir sabiti kullanılarak Mac OS X Yosemite, maksimum yol uzunluğu gerçek test itibaren yeni sürümler

+3

'dan aşağıya bakınız. Ayrıca 'NAME_MAX' tek tek dosya adlarının sınırıdır. – CyberSkull

+1

Denemeden yola çıkarak, belirli bir dosya için, 1016 uzunluğundaki bir çalışma yolu ve 1017 uzunluğundaki bir yolun kullanılmadığını buluyorum, ki bu da tüm belgelerin yanı sıra sabit olduğu ile çelişiyor. – Trejkaz

5

ile kod ölçeklenebilir yapar olabilir 1016 karakterdir. 1017 başarısız.

+0

Sierra'da da test edildi, maksimum yol uzunluğu sınırsız görünmüyor – Protongun

+0

/tmp,/etc ve/var'ın/private/tmp,/private/etc ve/private/var dizinleri olduğunu unutmayın. Bu dizinlerde dosya oluşturmaya çalışırsanız, 1016 olan boyut yollarını (1024 - len (/ private)) oluşturabileceksiniz. –