問題タブ [compiler-construction]
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# - .Net 2+: if( 1 == null ) がコンパイラ例外をスローしなくなったのはなぜですか?
int
例として使用していますが、これは .Net の任意の値型に適用されます
.Net 1 では、以下はコンパイラ例外をスローします。
現在(.Net 2または3.5で)その例外はなくなりました。
これがなぜなのか私は知っています:
問題は、 becauseint?
が null 可能でありint
、暗黙的に にキャストされるようになったことint?
です。上記の構文はコンパイラの魔法です。本当に私たちはやっています:
だから今、私i == null
たちが得るとき:
とにかくC#がこれを計算するためにコンパイラロジックを実行していることを考えると、のような絶対値を扱うときにそれを実行しないほどスマートになれないのはなぜnull
ですか?
.net - 2.0 ではなく .NET Framework 3.5 用にコンパイルする利点はありますか?
2.0 ではなく .NET Framework 3.5 用にコンパイルする利点はありますか?
たとえば、メモリ消費量の削減、起動の高速化、パフォーマンスの向上など...
個人的にはそうは思いませんが、何かを見逃している可能性があります。
編集
もちろん、3.5 フレームワークにはさらに多くの機能がありますが、これらはこの質問の焦点ではありません。
メリットはないようです。
はい、フレームワークをターゲットにするつもりでした。最新の 3.5 SP1 と VS 2008 をインストールしましたが、フレームワークを使用してコンパイルすることとターゲットにすることの違いは何ですか? プロジェクト オプションでフレームワークをターゲットにすることはできますが、特定のフレームワーク バージョンで「コンパイル」するにはどうすればよいですか? 違いがあるとは知りませんでした。
したがって、現時点では利点がないことに同意します。
python - コンテキストフリーではないプログラミング言語を書き始めるための良いリソースは何ですか?
私は楽しみのためにプログラミング言語を書きたいと思っていますが、私が見たリソースのほとんどは文脈自由言語を書くためのものですが、Pythonのようにインデントを使用する言語を書きたいと思っています。文脈自由にならないでください。
c - C プログラムに stdio.h を含めなくても、コンパイル時エラーが発生しないのはなぜですか?
最初にヘッダー ファイルをインクルードしなかった場合、コンパイラは sleep 関数や printf 関数のプロトタイプをどのように認識しますか?
さらに、sleep(1,1,"xyz")
または任意の数の引数を指定した場合でも、コンパイラはそれをコンパイルします。sleep()
しかし、奇妙なことは、gcc がリンク時にこの関数の定義を見つけることができるということです。実際の関数は単一の引数しかとらないため、これがどのように可能であるかがわかりませんが、プログラムでは 3 つの引数が言及されています。
c++ - C/C++ プログラムの最適化がデバッグ モードでオフになっていることが多いのはなぜですか?
ほとんどの C または C++ 環境では、「デバッグ」モードと「リリース」モードのコンパイルがあります。
2 つの違いを見ると、デバッグ モードではデバッグ シンボル (多くの場合、多くのコンパイラで -g オプション) が追加されますが、ほとんどの最適化も無効になります。
「リリース」モードでは、通常、あらゆる種類の最適化がオンになっています。
違いはなぜですか?
compiler-construction - 強制を推測する方法は?
型推論中に強制 (別名暗黙の変換) を推論する方法を知りたいです。私は、Bastiaan Heeren によるTop Quality Type Error Messagesで説明されている型推論スキームを使用していますが、一般的な考え方はおそらくすべての Hindley-Milner 風のアプローチで同じであると思います。
強制はオーバーロードの一種として扱うことができるように思えますが、このホワイト ペーパーで説明するオーバーロードのアプローチでは、コンテキストが戻り値の型に課す要件に基づくオーバーロードを (少なくとも私が理解できる方法では) 考慮していません。強要には必須。また、このようなアプローチでは、同一性強制を優先することや、強制可能性の推移的閉鎖を尊重することが難しくなる可能性があることも懸念しています。各強制可能な式、たとえばeをcoerce ( e ) にシュガーリングしていますが、それを coerce(coerce(coerce(... coerce( e )) にシュガーリングしています。) ...))) 強制の最大ネスティングに等しい深さについては、ばかげているように見えます。また、強制可能性の関係を、深さがコンテキストから独立している有限の推移的なクロージャーを持つ何かに制限します。
java - AntなしでコマンドラインからGoogle Webdriverを使用するJavaアプリケーションをコンパイルする方法
Google の webdriver を使用するサンプル コードをコンパイルしたいと考えています。
/home/iyo/webdriver に webdriver を保存しました。私のコードは次のとおりです。
しかし、私は
次のようなエラーが発生しました。FirstTest.java:7: シンボルが見つかりません
シンボル: クラス WebDriver
場所: パッケージ com.googlecode.webdriver
com.googlecode.webdriver.WebDriver をインポートします。
FirstTest.java:9: シンボルが見つかりません
シンボル: クラス WebElement
場所: パッケージ com.googlecode.webdriver
com.googlecode.webdriver.WebElement をインポートします。
FirstTest.java:11: パッケージ com.googlecode.webdriver.htmlunit が存在しません
com.googlecode.webdriver.htmlunit.HtmlUnitDriver をインポートします。
FirstTest.java:19: シンボルが見つかりません
シンボル: クラス WebDriver
場所: クラス com.googlecode.webdriver.example.FirstTest
FirstTest.java:19: シンボルが見つかりません
シンボル: クラス HtmlUnitDriver
場所: クラス com.googlecode.webdriver.example.FirstTest
FirstTest.java:27: シンボルが見つかりません
シンボル: クラス WebElement
場所: クラス com.googlecode.webdriver.example.FirstTest
FirstTest.java:29: シンボルが見つかりません
記号 : 変数 By
場所: クラス com.googlecode.webdriver.example.FirstTest
8 エラー
それらを使用したくありs possible to use it whitouht Ant?(The code in NetBeans or Eclipse work well, but I don
ません。) javac のみですか?
ありがとう。
c++ - 「ファイルの最後に改行がありません」コンパイラ警告
一部の C++ コンパイラで次の警告が表示される理由は何ですか?
ファイルの最後に改行がない
ソース/ヘッダー ファイルの末尾に空の行が必要なのはなぜですか?
c++ - C ++を学習するときに使用するのに適したコンパイラは何ですか?
初心者向けの使いやすいC++コンパイラの提案は何ですか?無料またはオープンソースのものが好まれます。
windows - 最高の win32 コンパイル済みスクリプト言語は?
Win32 に最適なコンパイル可能なスクリプト言語は何ですか? 最初にランタイムをサーバーにインストールしたくないので .EXE を好みます (私の会社はリモート経由で多くを管理しています) が、ネットワーク経由で NTFS アクセス許可や (可能であれば) API などを実行できる必要があります。
これのほとんどを行うことができるように見える小さな Perl がありましたが、かなり長い間更新/開発されていないようです。私は Lua について疑問に思っていましたが、必要なものがすべて揃っているかどうかはまだわかりません (そして、見つけようとして 50 のライブラリ サイトを調べたくありません)。何かご意見は?