問題タブ [main]

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 投票する
3 に答える
22264 参照

python - `if __name__ == '__main__'` は Ruby で同等

私はRubyが初めてです。個別に使用し続けたいツールを含むモジュールから関数をインポートしようとしています。Python では、単純に次のようにします。

これにより、プログラムを実行したり、モジュールとしてインポートしたり、個別に使用a()したりできb()ます。Rubyで同等のパラダイムは何ですか?

0 投票する
8 に答える
7879 参照

c - Cでは、mainは関数である必要はありませんか?

このコードはコンパイルされますが、驚くことではありません。リンク中に失敗します(メインが見つかりません)。

リスト1:

リンクエラー:\ mingw \ lib \ libmingw32.a(main.o):main.c:(。text + 0x106)_WinMain@16への未定義の参照 '

ただし、以下のコードは正常にコンパイルおよびリンクされ、警告が表示されます。

リスト2:

警告:「メイン」は通常関数です

質問:

  1. リスト1では、リンカーは「メイン」が欠落していると文句を言うはずです。なぜ_WinMain@16を探しているのですか?

  2. リスト2から生成された実行可能ファイルは単にクラッシュします。理由は何ですか?

御時間ありがとうございます。

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

java - JUnit4 テストランナー

Java テストがコンパイルされません。実行すると、次のようになります。

junit テストでメイン クラスが見つかりませんでした (実行構成で指定)

0 投票する
4 に答える
18314 参照

c++ - (* argv == NULL)かどうかを確認するのはなぜですか?

私が現在受講しているデータ構造クラスでは、C++でWebクローラーを作成する必要があります。有利なスタートを切るために、教授は、指定されたURLからソースを取得するプログラムと、タグを取り除くための単純なHTMLパーサーを提供してくれました。このプログラムのmain関数は引数を受け入れるため、argc/argvを使用します。引数のチェックに使用されるコードは次のとおりです。

「option」にargv[1]のスイッチが設定されており、argv[2]以降には残りの引数があります。私が理解している最初のブロックは、スイッチが文字列と等しい場合、スイッチに基づいて何でも実行します。最後のifブロックの目的は何なのか気になります。

私のC++はやや錆びている可能性がありますが、*argvはargv[0]と同等であり、基本的には引数が存在することを確認していることを思い出しているようです。argv [0]には常に(少なくともほとんどの実装では)実行中のプログラムの名前が含まれているという印象を受けた場合を除きます。argcが0の場合、argv [0]がnullになる可能性がありますが、Googleで検索しても、それが可能かどうかを判断する投稿は1つも見つかりませんでした。

そして、私はあなたに目を向けます。ブロックチェックの場合、その最終的なものは正確には何ですか?

編集:選択した回答のコメントに記載されている理由を使用しました。プラットフォーム固有のmainの実装に基づいて、意図的にargv [0]をNULLにするか、そうでなければNULLにする可能性があるということです。

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

java - メインファイルとしてのパーサー?

テキストファイルからデータを入力し、パーサーファイルを持つ大きなシステムを作成しようとしています。それで、パーサーを呼び出すメインファイルを作成する必要がありますか?そうであれば、パーサーファイルをどのように呼び出すか、このようにコーディングしますか?

そうでない場合、私のオプションは何でしょうか???? ご協力いただきありがとうございます:)パーサーの場合、コマンドラインで読み取るテキストファイルをどのように指定しますか。私は

このステートメントに特定のテキストファイルを書き込むにはどうすればよいですか???? commandLineArgsを置き換えますか?これを忘れてしまいました。

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

java - JVM は、エントリ メソッド main(String args[]) の戻り値の型が void であり、それ以外ではないことを確認する場所と理由は?

私は両方に答えようとします。間違っている場合は修正してください。

場所: Classname .method() またはリフレクションを 使用して静的メソッドが呼び出されている場合、呼び出し元のメソッドの戻り値の型を変更しても、同じメソッドが引き続き呼び出されます。

したがって、JVMはおそらくjvm.cppのネイティブメソッドの1つでこれをチェックします

methodHandle m (THREAD, init_klass->find_method(vmSymbols::object_initializer_name(),> vmSymbols:: void_method_signature() ));

if (m.is_null()) { ------ THROW_MSG_0 …………..

理由: main から値を返すのは無意味ですが、java はそれに対して何もしませんが、たとえば、main の戻り値の型を int に変更しようとすると、JVM がスローします。

public static int main(String[] args) { return 1;
}

java.lang.NoSuchMethodError: スレッド「main」でのメイン例外

そのため、Java は、記述されたすべての Java プログラムで対称性を維持するために、エントリ メソッド main() に同じ署名を使用することを義務付けている可能性があります。

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

c++ - main()にはC /C++でいくつの引数がありますか

何個の引数が使用されmainますか?mainどのような定義のバリエーションが可能ですか?

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

c - メイン関数のヘッドを削除するにはどうすればよいですか?

一部のコードを別のバイナリから移動して、メイン プログラム内に配置しようとしています。残念ながら、メイン関数の初期化変数を模倣することはできません。

どうすれば手で作成できますargcargv? 誰かが私にいくつかの例の割り当てを与えることができます.

それは次のように見えるからです:

私はそれらを次のように割り当てることができると考えました:

しかし、うまくいきません。これがどのように行われるのか、誰か教えてもらえますか?