d2

    1熱度

    2回答

    有人可以指點我如何從D調用C代碼的一個很好的教程(也可能從D調用一個FORTRAN庫)嗎? 我已經在線研究了這個主題,並不斷找到不完整的例子。我希望有人能爲我拼出一次。例如,顯示一些示例綁定並解釋編譯和鏈接它們以便一起工作的步驟。 我在窗口上都有DMD和GDC編譯器。 一些背景:編程不是我的主要工作,但我做了很多工作。我與Python和Java一起工作了很多,我的第一語言是C,並且我也做了一些網絡

    1熱度

    2回答

    我正在創建一個輸入範圍來遍歷自定義容器,該容器包含需要保持精確配對的輸入和目標的數據點。我需要不同的範圍來返回訓練數據(double [] []),輸入(double [])和目標(也是double [])。我設法得到以下代碼進行編譯和完美工作,但我不知道爲什麼。 public struct DataRange(string type) if(type == "TrainingData" ||

    2熱度

    1回答

    immutable auto a = Array!int([1, 2, 3]); Error: cannot implicitly convert expression (((Array!int __slArray2557 = Array(RefCounted(RefCountedStore(null)));) , __slArray2557).this([1, 2, 3])) of type

    6熱度

    1回答

    我試圖想出一個確定給定符號是否爲函數模板的可靠方法。以下內容: import std.traits: isSomeFunction; auto ref identity(T)(auto ref T t) { return t; } static assert(isSomeFunction!identity); 也將失敗identity仍然是一個模板,直到它被實例化。目前我使用的是依賴於

    2熱度

    2回答

    最近我對學習D編程語言感興趣。 (具體來說D2,在撰寫本文時是人們所指的,因爲D原來爲了與現有代碼兼容而處於維護模式)。 在決定是否使用C++或D(我已經知道C++,我對D一無所知),我想知道C++比D好嗎?如果你在線閱讀D,有很多材料只是說「這裏是一個C++代碼的例子,這裏是D代碼的一個例子 - 看起來好多了」。對於所示的例子當然是如此。 一些差異可能會受到意見。例如,從派生類中調用基類構造函數

    4熱度

    1回答

    我有以下d程序: import std.stdio; enum XYZ : string { A = "hello", B = "foo", C = "bar" } void main() { writeln(XYZ.A); writeln(XYZ.B); writeln(XYZ.C); } 即打印: 甲 乙 Ç 我希

    3熱度

    2回答

    例如,假設是t實現正確的操作符重載: T t1, t2, t3; t3 = t1 + t2; // t3.opAssign(t1.opBinary!"+"(t2)) for sure t3 = t3 + t2; // rewritten to t3.opOpAssign!"+"(t2) ? 由d優化了最後的操作?

    0熱度

    1回答

    我嘗試從std.net.curl import std.net.curl, std.stdio; void main() { auto range1 = byLineAsync("www.google.com"); auto range2 = byLineAsync("www.wikipedia.org"); foreach (line; byLineAsync

    2熱度

    1回答

    下面的代碼在編譯的時候給了我一個奇怪的錯誤: import std.conv: to; import std.typecons; import std.traits; void main() { alias BuiltinScalars = TypeTuple!(ubyte, byte, ushort, short, uint, int, ulong, long,

    3熱度

    1回答

    自從我嘗試從C++調用一些D代碼(爲C++和D定義類/接口)以來。 的d代碼 module BufferCppBinding; extern (C++) void *createBufferCppBinding() { BufferCppBinding ptr = new BufferCppBinding(); return cast(void*)ptr; } ext