gcc'nin son sürümlerinin, çağrıları işlev çağrıları yoluyla doğrudan çağrılara dönüştürmede çok iyi olduğunu duydum. Ancak, bu konuda web'de herhangi bir şey veya gcc'nin kaynak kodu ile hızlı bir şekilde bulamıyorum. Bunun gerçekten doğru olup olmadığını bilen var mı, eğer öyleyse, bunu yapmak için hangi algoritmayı kullanır?gcc, çağrıları işlev çağrıları yoluyla doğrudan çağrılara dönüştürmek için ne kullanır?
5
A
cevap
0
Bu sadece bir değer yayılımı biçimidir. Nesne işaretçisinin p (sanal bir sınıfa) her zaman belirli bir somut sınıfın bir nesnesine işaret ettiğini kanıtlayabilirsem, o zaman bu sınıfın üye işlevlerini doğrudan arayabilirim. Eğer değilse, vtable üzerinden gitmeliyim.
1
Bu makaleyi ilginç bulabilirsiniz. Bu tarihli 2005, ve ben bu yeterli 'son' olmadığından emin değilim, ama kapsamlı konu ile ilgilenir: Ben, gcc iç çalışması aşina değilim
İlgili konular
- 1. Paralel işlev çağrıları Node.js içinde
- 2. İşlev çağrıları için __call() yöntemini nasıl yaparsınız?
- 3. Sistem çağrıları ne zaman ve nasıl kesilir?
- 4. saklı yordam çağrıları
- 5. Chrome profiler işlevinde Javascript sayımı işlev çağrıları
- 6. gcc kullanımı int sistem çağrıları için, sysenter değil nasıl zorlanır?
- 7. DWARF bilgilerinden çağrıları çağırma
- 8. Yazdır n çağrıları seviyeleri?
- 9. Oktavda çoklu çizim çağrıları
- 10. AJAX çağrıları TWIG
- 11. Node.js'de eşzamansız çağrıları sınırlama
- 12. İzleme API çağrıları
- 13. Örnek yöntem çağrıları nasıl engellenir?
- 14. İletki: belirli ajax çağrıları için test
- 15. Rails harici veritabanı çağrıları nasıl yapılır?
- 16. UNIX komutlarında örtülü sistem çağrıları
- 17. Yuvalı dosync çağrıları nasıl davranır?
- 18. Prosedür çağrıları assembler'da nasıl çalışır?
- 19. Bazı Etsy API çağrıları, Azure
- 20. Proxy API çağrıları çerezle çağrılıyor
- 21. Angular2/ngrx ve API çağrıları
- 22. Yuvalanmış jquery ertelenmiş çağrıları işleme nasıl kullanılır
- 23. .NET remoting çağrıları nasıl hata ayıklanır?
- 24. AngularJS interceptor kullanarak önbellek API çağrıları
- 25. Dinamik çoklu Ertelenmiş jQuery Ajax çağrıları
- 26. İşlev çağrıları için parametre sağlamak için bir PHP "makrosu" (#define gibi) yapabilir miyim? Ancak bahsettiğimiz
- 27. Android'de MVP kalıbını kullanırken android servis çağrıları ve GoogleAPIClient çağrıları nereye yazılmalıdır?
- 28. Aynı işlevdeki bir fd için çoklu kapatma çağrıları yapılıyor mu?
- 29. WinXP, Vista için Kayıt çağrıları/Dosya Sytem çağrıları/Proses oluşturma filtresi yazmak için en iyi uygulama nedir?
- 30. gwt-rpc çağrıları nasıl gruplanır? DWR ile
ama genel olarak, bir derleyici eğer Bir işlev işaretçisinin belirli bir çağrı alanında sadece belirli bir değere sahip olabileceğini kanıtlayabilir, daha sonra bu çağrı, işlev işaretçisi aracılığıyla dolaylı bir çağrı yerine belirli bir işaretçi değerine doğrudan çağrı olarak kodlanabilir. –