英語版
このページの英語版を見る

dmd.mars

このモジュールは、 引数の解析、パス操作など、必要な関連ユーティリティを定義する。 このファイルは、DMDフロントエンドを使用する他のコンパイラと共有されない。
Authors:

ソースmars.d

適用範囲 https://codecov.io/gh/dlang/dmd/src/master/src/dmd/mars.d

void logo();
DMDのロゴを標準出力に表示する
void printInternalFailure(FILE* stream);
より詳細なデバッグ情報とエラー報告ポインタとともにDMDのロゴを印刷する。
Parameters:
FILE* stream 出力ストリームに情報を出力する
void usage();
DMDの使用法メッセージを標準出力に出力する
void getenv_setargv(const(char)* envvalue, Strings* args);
コマンドラインフラグを含む環境変数を解析し、 それらを追加する args
この関数は、DFLAGSの内容を読み取るために使用される。 フラグはスペースとタブに基づいて区切られる。
Parameters:
const(char)* envvalue 環境変数の内容
Strings* args フラグを追加する配列(もしあれば)。
const(char)[] parse_arch_arg(Strings* args, const(char)[] arch);
コマンドライン引数を解析し、-m32、-m64、-m32mscoff の最後のインスタンスを検出して、 希望するアーキテクチャを特定する。
Parameters:
Strings* args コマンドライン引数
const(char)[] arch アーキテクチャに使用するデフォルト値。 "32"または"64"である必要がある
Returns: "32"、または「-m32」、「-m64」フラグが渡された場合は「64」を指定する。 それぞれ該当する。該当しない場合は、32を返す。
「32」または「64」と指定されている場合は、それぞれ「-m32」または「-m64」フラグが渡された場合、 それぞれ「32」または「64」を返す。そうでない場合は、 arch
const(char)[] parse_conf_arg(Strings* args);
コマンドライン引数を解析し、-conf=pathの最後のインスタンスを探す。
Parameters:
Strings* args コマンドライン引数
Returns:
-conf=path の「path」は、使用する設定ファイルへのパスである
void setDefaultLibrary(ref Param params, const ref Target target);
デフォルトおよびデバッグライブラリをリンクする場合は、まだ設定されていない場合に設定する
これは、値を上書きしないため、引数の解析が完了した後に呼び出さなければならない。 -defaultlib= または-debuglib= が使用された場合、 それらも上書きしないことに注意。
void flushMixins();
エラー発生時にもミックスイン展開ファイルを書き出したいが、 dmdを終了させる方法は多すぎる(例えば、exit(EXIT_FAILURE)を呼び出すfatal()など)。 そのため、scope(exit)に頼るわけにはいかない。tryMain()が実際に実行されるかどうかはわからないので、 atexit(&flushMixins);を追加する。致命的な終了(GCはまだ有効)の場合に備えて
bool parseCommandLine(const ref Strings arguments, const size_t argc, ref Param params, ref Strings files, ref Target target);
コマンドライン引数を解析する。
エラーがある場合はメッセージを表示する。
Parameters:
Strings arguments コマンドライン引数
size_t argc 引数の数
Param params 解析結果に設定される arguments
Strings files 取得したファイルに設定する arguments
Target target より多くのもの 解析結果に設定 arguments
Returns:
コマンドラインにエラーがある場合は true
Modules createModules(ref Strings files, ref Strings libmodules, const ref Target target);
指定されたファイルに基づいてモジュールリストを作成する
ファイルは、 拡張子に従って、さまざまな配列(global.params.{ddocfiles,dllfiles,jsonfiles,etc...} )に分散される。 バイナリファイルはlibmodulesに追加される。
Parameters:
Strings files 配信されるファイル名
Strings libmodules バイナリ(共有/静的ライブラリおよびオブジェクトファイル)が追加される配列
Target target ターゲットシステム
Returns:
Dモジュールへのパス配列
Module moduleWithEmptyMain();
Returns:
main()関数が空のコンパイル済みモジュール(semantic3)で、-mainフラグ用