«compiler-construction» etiketlenmiş sorular

Derleyici yapısı etiketi derleyicilerin programlanmasıyla veya derleyicilerin ayrıntılı iç işleyişi ile ilgili sorulara uygulanmalıdır. * Belirli derleyicileri * veya derleme hataları kullanma * ile ilgili sorular için KULLANMAYIN.

16
Statik değişkenler C ve C ++ 'da nerede saklanır?
Yürütülebilir bir dosyanın hangi bölümünde (.BSS, .DATA, diğer) ad çakışması olmaması için statik değişkenler depolanır? Örneğin: foo.c: bar.c: static int foo = 1; static int foo = 10; void fooTest() { void barTest() { static int bar = 2; static int bar = 20; foo++; foo++; bar++; bar++; printf("%d,%d", foo, …


4
C # derleyicisi COM türlerini nasıl algılar?
EDIT: Sonuçları bir blog yazısı olarak yazdım . C # derleyicisi COM türlerini sihirli bir şekilde tedavi eder. Örneğin, bu ifade normal görünüyor ... Word.Application app = new Word.Application(); ... Applicationbir arayüz olduğunu anlayana kadar . Bir arayüzde bir kurucu mu arıyorsunuz? Yoiks! Bu aslında bir Type.GetTypeFromCLSID()ve başka bir çağrıya …

11
Bir .py dosyasını ayrıştırın, AST'yi okuyun, değiştirin, sonra değiştirilmiş kaynak kodunu geri yazın
Programlı olarak python kaynak kodunu düzenlemek istiyorum. Temelde bir .pydosyayı okumak , AST oluşturmak ve daha sonra değiştirilmiş python kaynak kodunu (yani başka bir .pydosya) yazmak istiyorum. astVeya gibi standart python modüllerini kullanarak python kaynak kodunu ayrıştırmanın / derlemenin yolları vardır compiler. Ancak, bunların hiçbirinin kaynak kodunu değiştirme yollarını desteklediğini …


2
Sjlj vs dwarf vs seh arasındaki fark nedir?
Projemi derlemek için hangi derleyiciyi kullanmam gerektiğine karar vermek için yeterli bilgi bulamıyorum. Bir işlemi simüle eden farklı bilgisayarlarda birkaç program vardır. Linux'ta GCC kullanıyorum. Her şey harika. Kodu optimize edebilirim, hızlı derler ve çok fazla bellek kullanmaz. MSVC ve GCC derleyicileriyle kendi kıyaslamamı yapıyorum. Daha sonra biri biraz daha …

3
C # derleyicisi hangi dilde yazılmıştır?
Ben de kaynak kodu baktı http://referencesource.microsoft.com/ ve tüm kaynak kodu C # olduğu görülmektedir. Ayrıca yeni C # derleyici platformunun ( Roslyn ) kaynak koduna da baktım ve o da C # içinde. Bu nasıl mümkün olabilir? C # dil derleyicisi C # ile mi yazılmış? Yoksa bariz bir şeyi …



1
TargetedPatchingOptOut: “Performans, NGen görüntü sınırları boyunca satır içi için kritik öneme sahip mi?”
Reflektör kullanarak bazı çerçeve sınıflarından geçiyor ve bazı yöntem ve özelliklerin aşağıdaki özelliğe sahip olduğunu fark ettim [TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")] Ben de yukarıdaki yorumu başka bir yerde görmüş ve asla takip eminim. Birisi bana bunun C # ve başka bir bağlamda ne anlama geldiğini söyleyebilir …


9
Özyinelemeli işlev satır içi olabilir mi?
inline int factorial(int n) { if(!n) return 1; else return n*factorial(n-1); } Ben okuyor olarak bu , doğru bir derleyici tarafından ele alınmamış ise yukarıdaki kodu "sonsuz derleme" yol açacağını bulundu. Derleyici bir işlevi satır içine alıp almayacağına nasıl karar verir?

4
hata: yazılabilir atomik özellik, sentezlenmiş bir ayarlayıcı / alıcıyı kullanıcı tanımlı bir ayarlayıcı / alıcı ile eşleyemez
Son zamanlarda (eskiden gayet iyi derlemek için kullanılan) eski bir Xcode projesini derlemeye çalıştım ve şimdi bu biçimde birçok hata görüyorum: error: writable atomic property 'someProperty' cannot pair a synthesized setter/getter with a user defined setter/getter Bu hatalara neden olan kod kalıbı her zaman şöyle görünür: // Interface: @property (retain) …

22
Windows için C derleyicisi? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Cevapların gerçekler, referanslar veya uzmanlıkla desteklenmesini bekliyoruz, ancak bu soru büyük olasılıkla münazara, argümanlar, anketler veya uzun tartışmalar gerektirecektir. Bu sorunun iyileştirilebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, rehberlik için yardım merkezini ziyaret edin . 7 yıl önce kapalı . Linux …

13
Derleme zamanında 1 + 2 + 3 +… + 1000'i hesaplamak için C #, C ++ veya Java derleyicisini nasıl çalıştırabilirim?
Yakın zamanda yapılan bir röportajda bana gerçekten tuhaf bir soru soruldu. Görüşmeci bana sadece derleyici özelliklerini kullanarak 1 + 2 + 3 + ... + 1000'i nasıl hesaplayabilirim diye sordu. Bu, bir program yazıp çalıştırmama iznim olmadığı anlamına gelir, ancak derleyiciyi derleme sırasında bu toplamı hesaplamaya ve derleme tamamlandığında sonucu …

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.