Bir işlev verildiğinde, atoi diyelim, eğer bu işlevi kullanmak istersem eklenecek başlık dosyasını nasıl bulabilirim? Bu konu için her zaman şaşırıyorum. Eğer linux api gibi "atoi" gibi bir işlevi kullanmama izin verirse, sorumu başka bir şekilde şöyle yazabilirim: Linux için bir belge mi?linux kütüphane işlevi için eklenecek başlık dosyasının nasıl bulunacağı
cevap
Man pages. Komut isteminde man atoi
(veya genel olarak man <function>
) yazın. Kullanım bilgilerinin yanı sıra hangi başlıkların ekleneceğini gösteren bir liste verecektir. Man sayfaları da programları ve komutları (bul, grep, cd, vb.) Belgelemektedir. Bazen, bir programın C işleviyle aynı isme sahip olduğu bir durumda (örneğin, yazma) çalışabilirsiniz. Bu durumda, kılavuzun doğru bölümüne, sistem çağrıları için bölüm 2'ye ve kütüphane işlevleri için bölüm 3'e bakmaya yönlendirmeniz gerekir. Bunu, bölüm numarası "man" ve komut adı: man 2 write
arasına ekleyerek yaparsınız. Belirli bir işlevin sistem çağrısı mı yoksa kitaplık işlevi mi olduğunu bilmiyorsanız, ikisini de deneyin.
El ile sayfalar hakkında daha fazla bilgiyi man man
yazarak öğrenebilirsiniz.
+1 Not: bazı platformlarda bu paketleri yüklemeniz gerekir (ör.ubuntu 'manpages-posix-dev' (üstbilgiler) ve 'manpages-dev' için (işlevler)) – ChristopheD
Linux için bir belge midir?
Kesinlikle. Dokümantasyon man sayfaları olarak mevcuttur. Bir terminalde man <function>
yazın ve keyfini çıkarın. Eklemek istediğiniz hangi başlık dosyası genellikle en üstte gösterilir.
Eğer ctags ve vim editörü kullanıyorsanız ve/usr/include taraması için ctags ayarladıysanız, ctrl-] bulmak istediğiniz işlevin üzerindeyken sizi headerfile alır!
Sen O işlev için yol adını vereceğiz ayrıca
whereis <function name>
aşağıdakileri kullanabilirsiniz. Sonra vim editörü kullanarak yolu açın. Daha sonra "vim" editörünü kullanarak başlık dosyasını görebilirsiniz.
Örnek
> whereis atoi
atoi: /usr/share/man/man3/atoi.3.gz
> vim /usr/share/man/man3/atoi.3.gz
----------
----------
.B #include <stdlib.h>
Veya, arama yapabilirsiniz sisteminizin en/usr/aradığınız fonksiyon tanımının geçtiği yerleri dizini dahil. Bu, özellikle man sayfaları eksik gömülü veya sıyrılmış linux sistemleri için kullanışlıdır. Örneğin
find /usr/include -name "*.h" -print | xargs grep "<function-you-are-looking-for>"
, bunu yaparsanız:
find /usr/include -name "*.h" -print | xargs grep atoi
geri böyle bir şey çıkacak:
/usr/include/stdlib.h:extern int atoi (__const char *__nptr)
sonuç başlık dosya adı ve arayüz tanımı hem de içerir.
- Lütfen/usr/include dizininizin başka bir yerde olabileceğini unutmayın.
, birçok şeyin sisteme özel, (ve kernel sürümüne özgü) özel başlık dosyalarında tanımlandığını da unutmayın. Bunlar, public header dosyaları tarafından içerilmiş olup, grep ile arama yapmak size doğru cevabı almaz. –
- 1. ilk nasıl bulunacağı, SQL
- 2. Matlab: belirli bir işlevi kullanan yoldaki işlevlerin nasıl bulunacağı
- 3. gcc - başlık dosyasının yolunu nasıl bulabilirim
- 4. C standart kütüphane işlevi nasıl değiştirilir?
- 5. Bağlantı noktaları almak için Linux işlevi
- 6. jQuery işlevi, başlık dosyasında çalışmıyor
- 7. jQuery tablesorter sortlist nesnesinin nasıl bulunacağı
- 8. Zaman damgası kullanılarak önceki satırın nasıl bulunacağı
- 9. Android için kütüphane nasıl gönderilir
- 10. Farklı Linux dağıtımlarında farklı başlık dosyalarının konumu nasıl kullanılır?
- 11. C++ Bir ZIP dosyasının yerinde değiştirilmesine yönelik kütüphane
- 12. Arduino için kütüphane oluşturma
- 13. Standart kütüphane işlev adları neden Windows ve Linux arasında farklıdır?
- 14. Bir kütüphane için Makefile
- 15. Linux hizmeti, kütüphane yolunu /etc/ld.so.conf.d dosyasında yükleyemiyor.
- 16. Linux çekirdeğinde nasıl uyulur?
- 17. Hamcrest için kütüphane date
- 18. Gcc atomik yapıları için başlık dosyası
- 19. Linux çekirdek zamanlayıcı işlevi hangi bağlamda çalışır?
- 20. 'create_proc_entry' işlevi örtük bildirimi
- 21. , linux fsync dosyasının xattr dosyasını senkronize eder mi?
- 22. Seçili Ürün android sepetine eklenecek
- 23. addr2line'a kütüphane çağrısı var mı?
- 24. vector <string> :: yineleyici - bir öğenin konumunun nasıl bulunacağı
- 25. Özel Kütüphane Nasıl Kullanılır?
- 26. paylaşılan kütüphane kurucusu çalışmıyor
- 27. Başlığı al Uygulamaya eklenecek kod 10 UWP kodundan
- 28. nasıl Linux
- 29. Statik .lib kütüphane kullanıcıları için de gereklidir?
- 30. modifikasyon için bir dosya izleyin ve eklenecek içeriğe sahip olun
bakın adam veya bilgi ve yerinde size kullanmak manpage bölümünü verir yerinde . –