問題タブ [dmd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2428 参照

operator-overloading - Dでのエレガントな演算子のオーバーロード

しばらくの間、Dの演算子のオーバーロードの方向について混乱していましたが、今ではそれが美しいシステムであることに気付きました...コアタイプ(int、floatなど)でのみ機能する場合。次のコードを検討してください。

これは、1つのメソッドですべての+ =、-=、*=などの演算子をオーバーロードするので機能する場合は美しいコードになります。ただし、ご覧のとおり、そのままでは機能しません。テンプレートを使用してソリューションを作成しました(Dが大好きです):

これは問題ありません。すべてを「社内」に保管したいのは私だけです。テンプレートを使用せずにこれを機能させる方法はありますか?パフォーマンスの低下はなく、これを行う必要がある状況でモジュールをインポートするのは難しくないので、私はここで気難しいことを知っています。内蔵されているのかと思っていて、何かを見落としています。

0 投票する
1 に答える
167 参照

d - dfl_debug.libが見つかりません

DFL / Tangoライブラリを使用してDのFormsを使用して最初のアプリケーションをコンパイルしようとしていますが、コンパイラの最初の試みは次のように述べていますDFL lib files not found

次に、ライブラリをコンパイルしようとしましたが、次のエラーが発生しました。

DMD compiler、バージョンを使用していv2.055ます。

どうすれば修正できますか?

0 投票する
1 に答える
1209 参照

d - dmdリンカー(OPTLINK)はエラー42を出します:externを使用するとシンボルが未定義になります

次の2つのファイルをリンクすると、リンクエラーが発生します。

広告:

bd:


私が得るエラーは次のとおりです。

なにが問題ですか ?

__ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ _

編集:これはそれを行う正しい方法です:

広告:

bd:

そのコードは、digitalmars.comサイトの初心者向けの優れたDフォーラムでJoshuaReuschから提供されました。

0 投票する
3 に答える
472 参照

winapi - エレガントなクラスメンバーウィンドウ関数を作成する方法はありますか?

Win32 API の Window-Procedure は、クラス オブジェクト ( this) パラメータを受け取ることができないため、静的 \ グローバル関数でなければなりません。もちろん、hWnd->object ディクショナリなどの回避策を使用できます。

Dには、オブジェクトごとに小さなメンバー関数のコピーを作成する(オブジェクトの実際のハンドラーを呼び出す)、または割り当てることができる無名関数WNDCLASS.lpfnWndProc(無名関数があることは知っていますが、使用できません)など、エレガントに解決する方法があるのだろうかそれらのextern(Windows)プロパティ)?

私はこのようなことをすることができます:



(registration\creation\msg-loopは省略…)

Events() が起動していないようです...何か不足していますか?

0 投票する
1 に答える
187 参照

operator-overloading - D opBinary()()オーバーロードのバグ?

単純なVector構造体でopBinaryをオーバーロードしようとすると、奇妙で​​無意味なエラーが発生します。

私が得るエラーは単純です: "opBinary(string op)"。行番号も、何もありません。これは明らかに私に多くのことを続けることを与えません。この状況に対処する別の方法はありますか?これは既知のバグですか?

Windows7でDMD2.057を使用しています。Linuxではまだテストしていません。

[編集]読みやすさのためにコードを少しクリーンアップしました。

0 投票する
1 に答える
454 参照

monodevelop - Mono-D DMD コンパイラの問題

コード補完や単純なリファクタリングなどの機能により、Mono-D で D を作成することは、Visual Studio で C# を作成するのとほぼ同じくらい生産的です。Linux ではすべてがうまく機能します。Mono Development をインストールし、Mono-D リポジトリを追加してビルドするだけです。しかし、Windows では、Hello World をコンパイルすることさえできません。

最初は、DMD が Phobos を見つけられないように見えますが、Getting Started ページの指示に従った後、 Object.diファイルに 21 個のエラーが表示されます。「')' を期待しているときに 'char' が見つかりました」「不変宣言子の識別子がありません」などのエラー。

Windows 7 64ビットでMono Develop 2.8.5を使用しています。

どうすればこれを機能させることができるか、誰にも手がかりがありますか?

0 投票する
1 に答える
224 参照

benchmarking - D performance: union vs @property

I'm in the process of porting, enhancing, and D-atizing our reign SDK from C# to D. Currently working on the Vector2 math module.

Will there be any performance difference between the two structs below? My benchmarks show identical performance, but I'd like to gain a bit of expert insight :)

Obviously I'd like to use the unions for syntactical simplicity. But is there any unforeseen pitfalls with using them? I'm unfamiliar with their low-level details.

On a side note, I'm adding in vector property syntax similar to HLSL/GLSL, e.g., vec1.yxz += vec2.xyz; There's... no.. possible way to do that with unions instead of @property is there?

0 投票する
5 に答える
1213 参照

windows-7 - Win7 と dmd (D2) で gtkD を使用するには?

ダウンロードして、いくつかのディレクトリgtkD-1.5.1に解凍しました。gtkD次に何をしますか?それをコンパイルしていくつかのライブラリにリンクする必要があるのか​​ 、それともコード内でリンクする必要があるのか​​ わかりません。


編集: (@dsimcha)

dsss buildgtkD main dirのコマンドは私にこれを与えました:

libが作成されていませんか?

0 投票する
1 に答える
112 参照

d - mixinでエラーが発生する

http://www.d-programming-language.org/mixin.htmlの例を以下に示します。

「生成するもの:」(サイトによると):

エラーが発生します:

Error: template instance GenStruct!("Foo","bar") GenStruct!("Foo","bar") does not match template declaration GenStruct(char[] Name,char[] M1)

それは私のものですか、それとも彼らのバグですか?

0 投票する
2 に答える
238 参照

benchmarking - DはVector(T)タイプを暗黙的にキャストします

コードフラグメントの比較A:

Bと:

私のベンチマーク(DMD、Win7)では、AはBよりも約50ms高速です。これが理由は何ですか?Aの方が速い場合はそれを使用したいのですが、何を試しても、Vector2!doubleを暗黙的にVector2!floatにキャストすることはできません。これらのタイプを暗黙的にキャストする方法について何かアイデアはありますか?それとも、暗黙のうちにキャストしてはいけない理由についての議論はありますか?

これらのコンパイラでこのベンチマークを実行するようにGDCとLDCを設定していますが、これがDMDのみの最適化の問題であるかどうかを誰かが知っていますか?