2010-12-27 16 views
5

#ifdef sihirbazının bitişi olan oldukça büyük bir kod tabanı üzerinde çalışıyorum. Bir dosyaya bakıyorum ve bir türün tanımlandığını belirlemeye çalışıyorum. Ne yazık ki, çok sayıda dosya içeren birçok dosya içerir. Bunlardan bazıları, hangi tanımları kullanabileceğinizi etkileyen makroları tanımlar. Yapı, 10 dakikanın ardından grepping ve içerme zincirlerini takip ederek, hangi tanımın kullanıldığına dair hiçbir fikrim yok. Görsel stüdyonun türüne sağ tıklayabileceğim güzel bir özelliği olduğunu ve türün nerede tanımlandığını göstereceğini hatırlıyorum. Dosyaları, vb. Okuyan Linux için eşdeğer güzel bir araç var mı? Eminim, ama hala geliştirme ortamım için vim + grep kullanıyorum.Bir türün nerede tanımlandığını belirleme

+0

Neden bir seçenek olup olmadığını vim bir yerde var eklemek sürece VS gibi bir seçenek olduğunu sanmıyorum, çünkü gdb kullanmıyor? NetBeans gibi bir IDE kullanın. İlgili soru, yinelenen bir http://stackoverflow.com/questions/559274/any-program-or-trick-to-find-the-definition-of-a-variable – DumbCoder

+0

Yinelenen zaman ve çaba israfını izlemek yerine Bu değişkenin her zaman, kaynaklarınızı, bunu yapan kişinin cinayetini planlamak için harcayabilirsiniz. –

cevap

4

Karmaşık tanımları ve bağımlılıkları ile bu özellik her zaman Visual Studio'da çalışmaz.

Çözüm: Derleyicinizden, ön işlemden sonra kodu boşaltmasını isteyin ve #line ve #dosya yönergelerini de yazdırmasını isteyin. Türünüz için sonuçlanan dosyada arama yapın, sonra nereden geldiğini görmek için en yakın # dosya direktifine bakın.

(GCC size -E anahtarını kullanabilirsiniz)

+0

Bu harika çalıştı. Ve haklısınız, önişlemciden daha önce tüm önişlemci makrolarını ayrıştırmanın daha iyi bir yolu nedir? –

+0

Bazen, projenizle aynı seçenekleri ve kütüphaneleri kullanarak kısa bir program yazmak ve yapının hangi tanımının kullanıldığını belirlemek için herhangi bir gösteri rutinini (varsa) kullanmanız yararlı/hızlıdır. – Sparky

İlgili konular