問題タブ [d]
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.
c++ - フィールドでのDの使用
私はDに関するいくつかの情報を見つけようとしました。私は、それが何であるかについての概要を得るために、C++とのこの比較が特に好きです。今、私は自分自身に問いかけています。フィールドでDが使用される頻度と、C ++の実行可能な代替手段はどれくらいですか?
arrays - Dを使用して、配列内の要素かどうかを確認しますか?
とがchar
ありchar[]
ます。
char
が内部にあるかどうかを確認するための最も効率的な(または、失敗した場合は、最も簡単な)方法は何でしょchar[]
うか。
使用される言語はDです。
ありがとう!
keyboard - D 1.0 (Tango) マウスを動かします。キーボードのプレスなどをシミュレートする
ねえ、Tango 0.99.8 で D 1.041 を使用していて、マウスを動かしたり、キーボードの押下をシミュレートしたり、画面から情報 (特定の座標上の特定のピクセルの色など) を取得したりする方法を知りたいと思っていました。Windowsを使用しています。
どんな助けでも大歓迎です。AutoIt に似た機能を持つクラスベースのライブラリをプログラムしたいと考えています。例えば:
このコードで次のエラーが発生します。
エラー 42: シンボル未定義 _mouse_event@16 --- エラーレベル 1
それについて何か助けはありますか?私はまだバージョンを使用しています。
api - Linux (X11) 用の Windows API 関数 (SetCursorPos、GetCursorPos、mouse_event、keybd_event ...) に相当するものは?
上記の Linux (X11) 用の関数に相当するものがあるかどうか疑問に思っていましたが、それらを見つけることができないようです。
linux - Linux で D プログラムを gdb で動作させるにはどうすればよいですか?
6.8 にパッチを適用gdb
しましたが、デバッグが機能しません。このテスト ファイルを指定すると、次のようになります。
そして、コマンドラインでデバッグしようとしています:
そしてEclipseでプロジェクトをデバッグする
使用-gc
:
使用-g
:
Digital Mars ニュースグループでこのような投稿をかなり見てきましたが、すべて無視されているようです。誰でも状況に光を当てることができますか?
私は ZeroBUGS のことは知っていますが、本当に働きたいと思ってgdb
います。
アップデート:
IRC (freenode、#D) の luca_ のおかげで、単純なケース (1 つのファイル) が機能するようになりました。
残念ながら、複数のファイルで構成された私のプロジェクトは DWARF エラーで終了します。
編集:
2.036 の時点で (私が思うに)、DMD によって生成される GDB デバッグ情報は正しく、期待どおりに動作するはずです。
multithreading - x86での単語のティアリング
2つの異なるスレッドがx86上の同じ配列の隣接する要素に同時に書き込むのは、どのような状況で安全ではありませんか?非常識なメモリモデルを備えた一部のDS9Kのようなアーキテクチャでは、これによりワードティアリングが発生する可能性があることを理解していますが、x86では1バイトでアドレス指定できます。たとえば、Dプログラミング言語real
では、x86では80ビット浮動小数点型です。次のようなことをしても安全ですか?
注:これが安全であっても、キャッシュとの誤った共有の問題が発生し、パフォーマンスが低下する可能性があることを私は知っています。ただし、私が念頭に置いているユースケースでは、書き込みは実際には問題にならないほど頻繁ではありません。
編集:書き込まれた値を読み戻すことについて心配する必要はありません。値が読み取られる前に同期が行われることが前提です。私はこのように書くことの安全性だけを気にします。
templates - D テンプレートに関するいくつかの質問
最近 D 言語をいじっていて、テンプレートについて簡単な質問があります。
コード内の既存の文字列に文字と文字列を挿入していて、この関数を思いつきました:
さて、いくつか質問があります。
s2 引数に使用できる型を制限できますか (char、wchar、dchar などとそれぞれの配列値のみが必要です)。
位置引数が0の場合に先頭に追加することを自動的に認識するようにテンプレートを定義する方法はありますか? このようなもの(コンパイルはしませんが、一般的なアイデアを提供します):
/li>
ありがとう
c - D から C ライブラリを使用するには?
今日、D プログラミングについて聞いたことがあります。それは C コードと互換性があります。それにもかかわらず、GTK や PortAudio などの C ライブラリを D から使用できるかどうかについての情報は見つかりませんでした。可能であれば、その方法を説明していただけますか?
performance - What's the most efficient way to compare two blocks of memory in the D language?
I need a comparison function for blocks of memory for doing binary searches on arrays of bytes in the D programming language. It does not need to have any useful semantics. It only needs to be fast and be a valid comparison function (one that produces a total ordering). The blocks of memory to be compared are already known to be the same length.
C's memcmp
is actually pretty slow because it tries to preserve useful string comparison semantics, which I don't need. Below is the best I've come up with so far. Does anyone know of anything better, preferably w/o dipping into non-portable CPU-specific instructions?
Edit: I've read up on SSE and I don't want to use it for 3 reasons:
- It's not portable.
- It requires programming in ASM.
- The comparison instructions assume your data is floating points, which might be problematic if some data happens to match the pattern for a NaN.
static - 静的ifを持つD以外の言語はありますか?
static if
Dは興味深い言語機能だと思います。それは私の質問を促します.コンパイラがコードの強い概念を持ち、それらにアクセスするための言語機能があるコンパイル済み言語の他の例はありますか?
たとえば、次のコードはrepr
Pythonと同様のものを提供します。
これは、このような機能と比較して、コードをより動的にするための裏返しの方法である、オーバーロードが行うことに対する別のより一般的なアプローチを可能にするため、これはクールだと思います。たとえば、コンパイラはクラスに含まれるフィールドの数を認識していますが、ほとんどの言語では、コードがコンパイル時にその情報にアクセスする方法がありません。
警告: 最後の段落には意見が含まれていましたが、論争を誘発するのではなく、私の質問の動機と説明を提供するつもりです。他のコンパイル済み言語にそのような機能があるかどうかを知りたいだけです。