問題タブ [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.
c - DMD: libc.a へのリンク? またはcore.simd情報?
いいえと思いますが、私はこのような経験があまりないので、コミュニティから参加したいと思います。/etc/lib/libc.a (私は Linux x64 を使用しています) と DMD をリンクすることはできますか?
私の理由は、ハードウェア SSE 組み込み関数を (単純な加算/減算などを超えて) 機能させようとしているので、次のように書けると素晴らしいでしょう:
そして次のようにコンパイルします:
しかし、意味を理解する方法がわからないあらゆる種類のリンクエラーが発生します。繰り返しますが、これを行うのを妨げている何かがあると思いますが、そうでない場合は、どうすればよいか知りたいです。
または...
本当に必要なのは、ベクトルを機能させることだけです。上記の C 関数は core.simd に (ある程度) 存在しますが、機能させることができません (バグなのか、何か間違っているのかはわかりません)。これが私の簡単なコードです:
しかし、コンパイラは私に次のことを教えてくれます:
それをコンパイルするとき。何か案は?
reference - DMD2(D言語)acライブラリ(libdl.so.2)との連携方法
DDT プラグインと DMD 2.06 をコンパイラとして Eclipse を使用しています。dlopen、dlsym usw などの関数を使用しようとすると、「未解決の参照」エラーが発生します。C および GCC では、-ldl、-lsdl usw とリンクして修正しましたが、DMD2 コンパイラにはそのようなオプションがありません。特定のライブラリとリンクする別の方法はありますか?
ところで、C関数を次のように定義します
どんな助けでも嬉しいです。
d - 慣用的な D2 構文の説明の要求
D2 ソース コードでよく理解できない次の構造に遭遇することがよくあります。
alias entries this;
がすでに存在することを考えると、型定義の内部は何を意味しSymbol[] entries;
ますか?
d - DMD2.060でこのユニオンサイズ/アライメント要件を修正する方法
次のスニペットを含むD2ソースコードは、DMD2.059でコンパイルできます。
残念ながら、DMD 2.060では失敗します(Prefix.sizeofは12に等しくなります)。
どうすれば修正できますか?
d - D 2.060 を使用した基本的な Windows アプリケーションの新しいコンパイル エラー
Dでの開発にはd-ideを使用しています。
コンパイラ バージョンでは、プロジェクトの Windows テンプレートが魅力的にD 2.059
コンパイルされて実行されます。
コンパイラ バージョンでは、プロジェクトのWindowsD 2.060
テンプレートがコンパイルされず、エラーが発生します。
以下はコードです、あなたの提案に感謝します。
d - std.algorithm.joiner(string[],string) - なぜ結果の要素は char ではなく dchar なのですか?
次のコードをコンパイルしようとします:
dmd
エラーで終了するコンパイル:
に変更char z
するdchar z
とエラーメッセージは修正されますが、そもそもなぜ表示されるのか興味があります。
joiner(string[],string).front()
の結果がchar ではなく dcharであるのはなぜですか?
(ドキュメントhttp://dlang.org/phobos/std_algorithm.html#joinerには何もありません)
d - contract.d を読み取れません
最近、サブディレクトリ windows と src をdmd.2.060.zipから解凍しました。それから私はしようとしましimport std.contracts;
たが、コンパイラはそれを好きではありませんでした:
手でファイルを見つけることもできませんでした。何が壊れていますか?
contract.d は別のファイルに置き換えられましたか?
たぶん、使用する前に何かをコンパイルする必要がありますか?
macos - D コンパイラ DMD がオブジェクト ファイルをリンクしない
「dprogram.d」という名前の d のソース ファイルがあり、mac osx のターミナルでコマンド $ dmd dprogram.d を使用して実行可能ファイルを作成します。公式ドキュメントによると、コンパイラは自動的にソースをコンパイルし、.o オブジェクト ファイルをリンクします (http://dlang.org/dmd-linux.html#linking) が、そうではないようです。
コンパイラは.oファイルを作成しますが、実行可能ファイルは作成しません。端末から得られる唯一のフィードバックは、gccがオブジェクトファイルをリンクしようとしたが見つからないかのように、「gcc:そのようなファイルまたはディレクトリはありません」というメッセージです。
Mac OSX で dmd (デジタル マーズ D) コンパイラを使用して .d ソースをコンパイルする正しい方法は何ですか?
(編集:Windowsでは機能しますが、.exeを自動的に作成しますが、Mac OSXでは作成しません)
string - dプログラミング、文字列の解析またはdoubleへの変換
他の言語と同じくらい簡単ですが、文字列(例: "234.32")をdouble / float/realに変換できるdプログラミング言語のオプションを見つけることができないようです。
std.c.stdioライブラリのatofを使用すると、定数文字列を使用する場合にのみ機能します。(例:atof("234.32")
機能しますがatof(tokens[i]);
、tokensが文字列を含む動的配列である場合は機能しません)。
文字列をdプログラミング言語でreal/double / floatに変換または解析する方法は?
gcc - D オブジェクト ファイルと C オブジェクト ファイルをリンクできますか?
2 つのソース ファイルがあり、1 つは D プログラミング言語で記述され、もう 1 つは C プログラミング言語で記述されているとします。D ソースは DMD (Digital Mars D-Compiler) でコンパイルし、C ソースは GCC コンパイラでコンパイルします。
その結果、別のソースから作成された 2 つの .o (オブジェクト) ファイルが作成されます。これら 2 つのファイルを 1 つの実行可能ファイルにリンクすることはできますか?