«macros» etiketlenmiş sorular

Makrolar, programlama görevini daha az sıkıcı ve daha az hataya açık hale getirerek, programcıya tek bir program ifadesi olarak bir dizi hesaplama talimatını sunmak için kullanılır. [


2
C İşlemcisinin kökeni nedir?
C önişlemcisi C'ye eklidir, ancak ana dilden tamamen farklı bir sözdizimine sahiptir: sözdizimsel olarak anlamlı boşluk (satırın sonu bir ifadeyi sonlandırır, makro değiştirme listesinin başlangıcını belirledikten sonra boşluk) parantezli bloklar yerine anahtar kelime tabanlı bloklar elif,else if beyan yerine yansıtan anahtar kelimeli tanımlamalar-yansıtır-kullanım, =değer tanımı için hayır alternatif bir dize …
30 c  history  macros 

5
C ++ şablonları sadece bir çeşit yüceltilmiş makro mu?
C ++ şablonları ve bunun gibi C # / Java jenerikleri arasındaki farklı karşılaştırmalardan /programming/31693/what-are-the-differences-between-generics-in-c-and-java-and-templates-in-c/31929#31929 C ++ şablonlarının bir çeşit ön işleme (derlemeden önce düz metin değiştirme) tarafından derlendiğine dair bir algıya sahip oldum. Çünkü C ++ şablonlarındaki kontrol tipi C makrolarına benzemektedir. Yani, bazı hatalar varsa, şablonların kendisinden değil, …
27 c++  c  compiler  templates  macros 

6
Lisp makroları ne kadar faydalıdır?
Common Lisp, istediğiniz kaynak dönüşümünü yapan makroları yazmanıza izin verir. Şema, dönüşümleri de yapmanıza izin veren hijyenik bir desen eşleştirme sistemi sunar. Makrolar pratikte ne kadar faydalıdır? Paul Graham , Ortalamaları Yenme’de şunları söyledi : Viaweb editörünün kaynak kodu muhtemelen yaklaşık% 20-25 makro idi. İnsanlar aslında makrolarla ne tür şeyler …
22 lisp  scheme  macros 

4
Peki ya LISP, eğer varsa, makro sistemlerin uygulanmasını kolaylaştırır?
SICP'den Şema öğreniyorum ve Scheme'i yapan şeyin büyük bir kısmının ve daha özel olarak LISP'in makro sistem olduğu izlenimini alıyorum. Ancak, makrolar derleme zamanında genişletildiğinden, insanlar neden C / Python / Java / niçin eşdeğer makro sistemler yapmıyorlar? Örneğin, biri pythonkomutu expand-macros | pythonya da her neyse onu bağlayabilir . …

1
C kitaplığı neden aynı ada sahip makrolar ve işlevler kullanıyor?
Gerçekten ilginç olan PJ Plauger'in 'Standart C Kütüphanesi'ni okuyorum. Kitap sadece kütüphanenin nasıl kullanılacağını değil aynı zamanda nasıl uygulandığını da açıklıyor. ctype.hBölümü okumayı bitirdim ve başlıkta fonksiyonlar hem makro hem de fonksiyon olarak bildirildi. Örneğin int isdigit(int); Ayrıca #define isdigit(c) (_Ctype[(int)(c)] & _DI) İKİ'nin neden kullanıldığını anlamıyorum? Ayrıca, kendi özel …
20 c  naming  functions  macros 

19
Lisp benzeri sözdizimi genişletme mekanizmasıyla dilleri programlama [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Yanıtların gerçekler, referanslar veya uzmanlık tarafından desteklenmesini bekliyoruz, ancak bu soru muhtemelen tartışma, tartışma, oylama veya genişletilmiş tartışma talep edecektir. Bu sorunun çözülebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, yardım için yardım merkezini ziyaret edin . 7 yıl önce kapalı . …

2
Lisp makrolarının tipik uygulamaları nelerdir?
Bazı LISP öğrenmeye çalışıyorum ve LISP makrolarının önemi hakkında çok şey okudum, bu yüzden onlarla birlikte çalışma deneyimi elde etmek istiyorum. Gerçek dünyadaki bir sorunu çözmek ve bu programlama yapısının faydasını anlamak için makroları kullanmamı sağlayacak pratik bir uygulama alanı önerebilir misiniz? NOT Bu bir sonraki soruda hangi projeyi yapmalıyım …

4
Python dekoratörleri ve Lisp makroları
Python dekoratörlerine bakarken birisi Lisp makroları (özellikle Clojure) kadar güçlü olduklarını ifade etti. PEP 318'de verilen örneklere baktığımda bana Lisp'teki eski düz üst düzey işlevleri kullanmanın sadece süslü bir yolu gibi bakıyorlar: def attrs(**kwds): def decorate(f): for k in kwds: setattr(f, k, kwds[k]) return f return decorate @attrs(versionadded="2.2", author="Guido van …
18 python  lisp  clojure  macros 

3
Koşullu derleme için kısayol olarak C / C ++ makroları kullanmak iyi bir uygulama mı?
Diyelim ki kodumda birkaç tür çıkış mesajı var. Bunlardan biri DEBUG, kod Hata Ayıklama modunda derlendiğinde yalnızca yazdırılır. Genellikle şöyle bir şey yazmam gerekirdi #ifdef DEBUG std::cout << "Debug message" << std::endl; #endif birçok yerde kullanmak oldukça hantal ve sinir bozucu. Kod pasajı için bir makro tanımlamak iyi bir uygulamadır, …
13 c++  c  macros 


3
Bayt kodu dokuma vs Lisp makroları
Ben insanların intercept fonksiyon çağrıları, günlük kaydı kodu eklemek, vb gibi şeyler yapmak için bayt kodu dokuma kullanan Java ve C # gibi diller için yazmış kütüphaneler hakkında okuyordum Ayrıca bir Lisp / Clojure makroları üzerinde okudum onları nasıl kullanacağını daha iyi anlamaya çalışmak. Makrolar hakkında ne kadar çok okursam, …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.