language-implementation

    0熱度

    1回答

    編程語言通常帶有一個標準庫,至少部分用語言本身實現。 在解釋型語言的情況下,顯然的實現是在解釋器啓動時讀取庫源文件,但是這會遇到一個混亂但持久的問題,即確保解釋器知道哪裏可以找到這些文件兩者都移動。如果它們可以嵌入到解釋器本身中,它會更乾淨,因此只有一個可執行文件。 我可以看到一個簡單的方法來做到這一點,只是將庫源文件翻譯成C文字字符串,但我很好奇是否有任何我忽略或改進方法的陷阱。 所以我的問題是

    3熱度

    2回答

    可能重複: Are there are any platforms where pointers to different types have different sizes? 我在幾個地方,不同類型的指針可以在符合標準的C語言實現不同的表示已閱讀。這是必須將指針參數轉換爲printf的一件事,例如, int foo; printf("address is %p\n", (void *) &f

    0熱度

    1回答

    請原諒我,但我知道js的基礎知識以及如何編寫/調用一個基本的函數,但在這種情況下,我試圖匹配一個alpha類別的類別列表從數據庫中匹配我的下面指定的類別的集合(非alpha)順序(這是代碼建議供其他用戶使用的問題,我問了如何映射返回類別的順序)。但是,我無法弄清楚如何將這個人的代碼答案集成到我自己的代碼中。 只是看到它針對另一個示例列表(模仿我將從數據庫中抓取的內容)以及如何在switch cas

    2熱度

    3回答

    我需要爲支持併發的解釋器編寫垃圾回收器,但我只能找到有關垃圾回收的信息,而沒有任何與併發有關的信息。 是否有多線程系統中垃圾收集對象的具體方法?我在哪裏可以找到有關其架構和實施的信息?

    4熱度

    1回答

    在Objective-C中,我很好奇如何實現像@private,@protected等實例變量的訪問控制。 我認爲是在一些像這樣的方式產生不同的結構: @interface Foo { int bar; @private int baz; @public int qux; } =>東西沿着 struct Class_Foo_Protected

    1熱度

    2回答

    我在尋找Golden Ratio formula找到第n個斐波那契數,它讓我好奇。 我知道Python可以處理任意大的整數,但是用小數時會得到什麼樣的精度?它是直接在C double之上嗎?還是它使用了更精確的修改實現呢? (顯然不是以任意的精度; D)

    6熱度

    1回答

    我只是在Python嘗試用不同的語法在發電機作爲參數傳遞給函數,我意識到,儘管我一直在做這個, >>> sum((j for j in xrange(5))) 10 這個工程,以及: >>> sum(j for j in xrange(5)) 10 這是在Linux 2.6.6上測試的。發生了什麼事情?它只是語法糖嗎?畢竟,通常的展開發生器是難以辨認的解釋: >>> j for j i

    6熱度

    6回答

    當使用列表理解或in關鍵字在for循環的上下文,即: for o in X: do_something_with(o) 或 l=[o for o in X] 如何落後in工作機制? X哪些功能\方法調用? 如果X可以符合多種方法,那麼優先級是多少? 如何編寫高效的X,讓列表理解變得快捷?

    36熱度

    1回答

    C++有多重繼承。在彙編層面實現多重繼承可能會非常複雜,但是關於如何正常完成(vtables,pointer fixups,thunk等),還有很好的在線方式。 Java沒有多個實現繼承,但它確實有多個接口繼承,所以我不認爲每個類都有一個單獨的vtable可以實現它。 java如何在內部實現接口? 我意識到,與C++相反,Java是Jit編譯的,因此不同的代碼段可能會進行不同的優化,而不同的JVM

    13熱度

    4回答

    有沒有並行化的R5RS或更高版本的Scheme實現?例如,如果我說要做: (map (lambda (x) (pure-functional-stuff x)) '(1 3 5 7 11 13)) 它會同時處理1,3,5和7如果機器可以做到這一點?這應該是函數式編程的一大優點,但我找不到一個維護的,最新的Scheme。除非我斷言該函數沒有副作用,否則我會很好地處理這個問題