Standart kitaplıkta (glibc) sys/mman.h
'da __mmap
gibi önde gelen çift alt çizgilerle tanımlanan işlevleri görüyorum. Amaç ne? Ve yine de, herhangi bir yerde bildirilmemiş gibi görünen bir işlevi nasıl arayabiliriz mmap
. Bunun için sys/mman.h
'u dahil ettik, ancak sys/mman.h
, mmap
bildirmiyor, yalnızca __mmap
bildiriyor.Başlangıçta çift alt çizgi anlamı
cevap
:
bu kılavuzda belgelenmiş isimlerin bir alt çizgi ile başlaması tüm harici isimler (genel işlevler ve değişkenler) dahil saklıdır isimler ek olarak('_') ve tüm kullanımından bağımsız olarak, iki alt çizgi veya bir alt çizgi ile başlayan büyük harfli harfler, ayrılmış isimlerdir. Bu şekilde kütüphane ve başlık dosyaları, kullanıcı programlarındaki isimlerle çakışma riski olmaksızın dahili amaçları için işlevleri, değişkenleri ve makroları tanımlayabilir.
Bu, C ve C++ satıcıları tarafından da kullanılan bir sözleşmedir.
Önde gelen çift alt çizgi içeren isimler, uygulama tarafından dahili kullanım için ayrılmıştır (derleyici/standart kitaplık/vb.). Kodunuzda asla görünmemeleri gerekir. Bu ayrılmış ad alanının amacı, programınızda kullanılan adlarla çakışma yapmadan kullanabilecekleri sistem üstbilgileri adlarını vermektir. ISO 9899
Cevabınızı bana çok sevdim. –
: 2011
7.1.3 Rezerve tanımlayıcılar
Her başlık beyan veya ilişkili maddede sıralanan tüm tanımlayıcı tanımlamaktadır ve isteğe beyan veya ilgili gelecek kitaplığında listelenen tanımlayıcıları tanımlar her zaman kullanım için veya dosya kapsamı tanımlayıcıları olarak kullanım için ayrılmış olan alt ve tanımlayıcıları.
- Bir çizgi ve büyük harfle ya da başka bir alt çizgi ile başlar tüm tanımlayıcılar daima herhangi bir kullanım için ayrılmış bulunmaktadır.
- altçizgi ile başlayan tüm tanımlayıcılar, her zaman olağan ve etiket adı boşluklarında dosya kapsamı olan tanımlayıcılar olarak kullanım için her zaman ayrılmıştır.
- 1. WaitCallback'deki alt çizgi anlamı
- 2. Anlamı çift boru
- 3. Neden django, filtre sorguları yaparken çift alt çizgi kullanmalıdır?
- 4. Scala import'larındaki çift alt çizgi ne anlama geliyor?
- 5. Javascript'in başlangıcındaki çift eğik çizgi,
- 6. Adlandırılmış Argümanlar'da Alt Çizgi
- 7. Javascript, eğik çizgi ile çift tırnakların yerine
- 8. Regex ifadesi ve çift ters eğik çizgi
- 9. Dalgalı kırmızı alt çizgi özelliğini
- 10. Alt çizgi sembolü nasıl gösterilir?
- 11. ExUnit testlerinde alt çizgi (_) kullanın
- 12. Groovy in anlamı altyazı
- 13. Knitr'de alt çizgi geçişi R kodu
- 14. Bir bağlantıdan alt çizgi nasıl kaldırılır ve üzerine alt çizgi eklenir? (ekli görüntüler)
- 15. Çift yatay çizgi grafiği yapmak için D3'ü kullanma
- 16. alt çizgi, textarea değerlerinden nasıl kaldırılır?
- 17. ASP.NET MVC Dosya adları alt çizgi
- 18. Matplotlib backend eksik modülleri alt çizgi
- 19. Bu durumda alt çizgi ne anlama geliyor?
- 20. Birden çok alt çizgi içeren metin
- 21. Clojure'ın ciltleme biçimindeki alt çizgi kullanımı nedir?
- 22. Android TextView bağlantı alt çizgi olmadan?
- 23. Java'da sayılarla alt çizgi nasıl yazılır?
- 24. Sınıf adıyla birleştirilen alt çizgi nedir?
- 25. Elisp'te alt çizgi (_) ne anlama geliyor?
- 26. Konsol ile yanıp sönen alt çizgi
- 27. auto_increment neden bir alt çizgi ile "yazılır"?
- 28. Tkinter Label widget'ındaki alt çizgi metni?
- 29. C# ile Sendkeys alt çizgi gönderilemiyor.
- 30. Ayrıştırma sunucusuyla çalışmak için 'alt çizgi' alınamıyor
Çift altını: http://stackoverflow.com/questions/224397/why-do-people-use-double-underscore-so-much-in-c (soru C++ diyor, ama '__' olduğunu ANSI C standardından da). Ayrıca sys/mman.h' sürümümde 'mmap' tanımlandı. – birryree
'__mmap', glibc tarafından herhangi bir yerde bildirilmez. Ne hakkında konuştuğun hakkında bir fikrin yok. –
Glibc başlıklarına değil, çekirdek başlıklarına bakıyor musunuz? –