問題タブ [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 に答える
201 参照

module - D 開発プロセス

github からクローンされ、個別にビルドされたパッケージを使用する D プログラムの推奨される開発プロセスは何ですか?

通常、make、autotools、cmake などを使用して C/C++ プロジェクトをビルドする方法に関連しています。

他のほとんどのビルド仕様には、インストール ターゲットがあります。ビルドにインストール ターゲットが必要ですか、それとも、ビルド時に配置された場所から直接ライブラリをリンクし、そのインクルードを追加登録してD_INCLUDE_PATHから、DFLAGS=-I<D_INCLUDE_PATH>.

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

generics - 文字列 (配列) での回文アルゴリズムのテンプレート競合

Andrei Alexandrescu による Dの優れた 3 つの可能性が低い機能を参照した後、次のように、そこで与えられた回文アルゴリズムをテストしました。

配列バージョンは文字列に対して正常に機能しますが、範囲バージョンを同じコンパイル ユニットに追加すると、DMD (2.062) が文句を言います:

私の推測では、配列のケースを含まないように範囲の使用を制限することです。それ、どうやったら出来るの?

アレイバージョンを削除することもテストしましたが、エラーが発生しました

奇妙だと思う配列では、範囲バージョンが機能しないようです。

何をすべきか?

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

macos - コンパイルとリンクの分離-inD

OK、私は現在Dで遊んでいるので(初めて)、おそらく私はいくつかの超基本的な質問をするでしょう...そしてここに私は... :-)

私がコンパイルすると-それとリンクするdmdとうまくコンパイルされます:

-v(verbose)フラグを設定すると、プロセスは基本的にコンパイルステップ(-cフラグ付き)とリンク(with gcc)であることに気付きました。

ただし、次の方法でコンパイルしようとすると、エラーが発生し続けます。


どうしたの?何か案は?

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

d - DMD からアセンブリを行番号付きで表示

ソース コードの特定の行のアセンブリ コードを確認するにはどうすればよいですか?

ソースを DMD および-gand -gc(Windows 上) でコンパイルして、 andobjconvのアセンブリを出力していましたが、行番号などに関するヒントはないようです。組み立てはこのように.obj.exeCode::Blocks

そのため、どこかに行に関する何らかの情報があるはずです...

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

d - Dの純粋関数に対する非変異呼び出しステートメントの検出

Dには、コンパイラのスイートにさらに別の優れた機能、つまり純粋関数への副作用のない呼び出しを禁止する機能を追加する可能性があると思います。

例えば

次のようにエラーが発生するはずです

現在DMDでエラーが発生している

このような機能は、プログラマーがインプレース(変異)セマンティクスを期待しているときに、誤って非変異アルゴリズムを呼び出すことを防ぎます。これにより、関数にGCCなどの属性を明示的にタグ付けする必要がなくなり__attribute((warn_unused_result))ます__attribute((const))

DMDのtodoリストにそのような機能はありますか?

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

linker - Linux の dmd と Derelict に関するリンカーの問題: Ld が .a ファイルを見つけられない

Derelict2 バインディングを使用して D でテスト プログラムを作成しようとしています。これが私のコードです:

derelict の .di ファイルはすべて dmd のデフォルトのインポート ディレクトリにあるため、次のコマンドでプログラムをコンパイルおよびリンクする必要があるという印象を受けました。

ただし、次のエラーが発生します。

私は正確に何を間違っていますか?

少し話題から外れますが、懸念事項もあります。

-ldl フラグは何をしますか? リンクを成功させるために必要であることは知っていますが、方法がわかりませんし、ld マニュアルにもありません。

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

multithreading - Dすべてを__gsharedとマークする方法は?

すべてのオブジェクト__gsharedをDMDでマークする方法はありますか?私はほとんどすべてがスレッド間で共有される必要があるゲームエンジンに取り組んでおり、スパム__gsharedsharedどこでもそれをカットしません。

これを行わないようにしたいすべての人のために:クリティカルセクションは最小限に抑えられ、列挙型がLoadedに設定されているかどうかをチェックするようになります(もちろんmutexed)。したがって、並行性は私に何も得られません。

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

d - この関数で末尾呼び出しの最適化を実行する D コンパイラはどれですか?

私の知る限り、このコードはテールコール最適化の対象となるはずですが、DMD が実行しているかどうかはわかりません。末尾呼び出しの最適化をサポートしている D コンパイラはどれですか?また、この関数でそれを実行しますか?

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

templates - D 型の推論は、テンプレート引数の順序に依存します

へのテンプレート引数maybeが、エイリアスが最初になるように配置されている場合、コンパイラは引数の型を正しく推測できます。ただし、T が最初に来るようにテンプレート引数が切り替えられると、それらを推論できず、コンパイルされません。どうしてこれなの?

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

arduino - Arduino GSM/GPRS シールドを使用して、Web サービスから arduino にデータを送信し、ドット マトリックス ディスプレイに表示します。

GPRSシールドv2.0とArduino Uno R3を使って作成したWebサービス経由でドットマトリックスディスプレイ(DMD)を制御する方法をお聞きしたいのですが、、、

例: ドメイン (mydomain.com/set?string = hello word) に関する情報を入力すると、DMD に表示されます

ツイッターからのデータもあればそれは可能ですか?? そのため、mydomain.com と twitter.com の 2 つのソースからデータを受信できます。

私は持っている:

  • Seeedstudio.com から購入した GPRS シールド v2.0
  • Arduino Uno R3 を使う
  • freetronicsから購入したDMD 16X32