C içinde compile-time function execution gerçekleştirmenin bir yolu var mı? GCC ile mi? Bunu sadece constexpr in C++ kullanarak gördüm.Derleme Zamanı İşlev Yürütme
0
A
cevap
1
Yalnızca bir ifadede yer alan sabitler olduğu sürece, derleme zamanında hesaplanır. C++ constexpr
çoğunlukla, makroları içermeden bunu yapmak için güvenli bir yoldur. C'de sadece makrolar var. Örneğin:
#define CIRCLE_AREA(r) (int32_t)((double)(r) * (double)(r) * M_PI)
int32_t area = CIRCLE_AREA(5);
gerçekleştirdiği derleme anda tüm hesaplamalar, bu nedenle yazılı eşdeğerdir:
int32_t area = 78;
İlgili konular
- 1. Derleme zamanı dizi sabitleri
- 2. yazdırma derleme zamanı C++
- 3. Derleme zamanı ağaç yapısı
- 4. Derleme zamanı değerlendirme
- 5. Derleme zamanı "strlen()" etkili mi?
- 6. Başlatma değeri derleme zamanı veya çalışma zamanı olarak hesaplanır mı?
- 7. Gecikme JavaScript işlev yürütme
- 8. Gecikmeli işlev yürütme
- 9. C++ hexfloat derleme zamanı ayrıştırma
- 10. C++ dilinde derleme zamanı iddiaları?
- 11. Neden derleme zamanı hatası gösteriyor?
- 12. Çalışma zamanı/derleme zamanı ve yığın/yığın hakkında açıklama
- 13. Bir sorgunun çalışma zamanı yürütme planı almak
- 14. Tüm .c kaynak dosyalarında derleme zamanında derleme zamanı
- 15. JIT, kodumu bazı .NET yürütme zamanı derleme koduna satır içi olarak yazabilir mi?
- 16. Özel bir derleme zamanı uyarısı oluşturma C#
- 17. g ++ derleme zamanı dizi boyutuna bağlı mı?
- 18. Derleme zamanı dize dönüştürme işlevlerini nasıl uygularsınız?
- 19. Java Generics 'Uyumsuz Tür' Derleme Zamanı Hatası
- 20. lambda funküllerin fonksiyon göstergelerine derleme zamanı dönüşümü
- 21. SFINAE: Bir işlevin derleme zamanı bilinen değeri
- 22. C# Dize Sabitleri İçin Derleme Zamanı Birleştirme
- 23. Eklenti yöntemleri ve derleme zamanı denetimi
- 24. Jack ile Android derleme zamanı çok yavaş
- 25. Delphi derleme zamanı işlevleri nasıl yazılır
- 26. Derleme zamanı hatası: Çoklu tanımı 'Ana'
- 27. işlev yürütme önce bir saniye beklemek nasıl
- 28. JS işlev yürütme ile ilgili sorun
- 29. Gidon sorunu: TypeError: inverse derleme bir işlev değil
- 30. Android API düzeyindeki tutarsızlıklar için NoSuchMethodError çalışma zamanı hatası yerine derleme zamanı hatası nasıl alınır?
koduna bağlı olarak, derleyici basit değere optimize olabilir, ama hayır hayır yok C. –