問題タブ [scriptedmain]
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.
main - __name __ = = "_ _ main __":main()の場合、FactorにはPythonイディオムと同等のものがありますか?
Factorには、Cベースの言語と同じように主な方法があるようです。
ただし、Factorはmain関数を自動的に実行しません。ターミナルで実行./hello.factor
している場合、が呼び出されないため、何も起こりmain
ません。
FactorがPythonのような構文を持っているかどうか誰かが知っているので、それhello
は実際に呼び出され./hello.py
ますか?
ocaml - OCaml のスクリプト化されたメイン?
OCaml でこの Python イディオムをエミュレートするにはどうすればよいですか?
他のプログラミング言語での例については、 RosettaCodeを参照してください。
pascal - Pascalユニットを実行可能ファイルとしてコンパイルできますか?
ライブラリが実行可能ファイルを兼ねるのが好きです。望ましい動作は次のとおりです。
どうやって:
- バイナリ
scriptedmain.p
にコンパイルしscriptedmain
ますか? - 's /セクションに
test.p
あるコードを実行しないようにしますか?scriptedmain.p
begin
end
scriptedmain.p:
scriptedmain.pをfpc scriptedmain.p
でコンパイルすると、Pascalがユニットであることを検出するため、実行可能ファイルは作成されません。しかし、ライブラリに加えて実行可能ファイルにしたいのです。
test.p:
test.pをでコンパイルするとfpc test.p
、結果の実行可能ファイルは2つのbegin
/end
宣言を結合します(望ましい動作ではありません)。
attributes - Dプログラミング言語でモジュールのメイン関数をオーバーライドする方法はありますか?
本当に必要な場合は__attribute__((weak))
、Cで指定できます(scriptedmainを参照)。これにより、プログラムはAPIと実行可能ファイルを兼ねることができ、APIをインポートするコードがメイン関数を上書きできるようになります。
Dにはこれを行う方法がありますか?Pythonにはif __name__=="__main__": main()
がありweak
ますが、Cの構文ははるかに近いようです。
gcc - MinGW で scriptedmain を使用する際の問題
この Perl コードを C で再現し、API と CLI を同じ C ソース コード ファイル ( scriptedmain ) にバンドルしたいと考えています。これは Python とif __name__=="__main__": main()
gcc/Unix で行われ、次のようになります。
scriptedmain.h
scriptedmain.c
test.c
ただし、gcc/Strawberry でコンパイルしようとすると、次のようになります。
そして、gcc/MinGW でコンパイルしようとすると、次のようになります。
__attribute__((weak))
WindowsでGCCに構文を認識させるにはどうすればよいですか?
また、G++ でも同じエラーが表示されます。