問題タブ [language-extension]

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

c# - __argvalue とは何ですか?

また、言語拡張ですが、VC# の左辺値であるものがもう 1 つあります - __argvalue()。

ソース

のGoogle 検索結果はこれだけ__argvalueでした。

LINQPad で試してみましたが、存在しないようです。

0 投票する
3 に答える
760 参照

c - どのような C GNU 主義が存在しますか?

私は最近、プロジェクトを GCC から clang に移植していました (その中で、いくつかの C GNU 主義を修正しました)。これは私に考えさせました: どのような C GNU-isms (標準化されていない GCC でサポートされている C 言語の拡張) が存在するのでしょうか? 包括的なリストはどこかにありますか?

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

c - C99 で実装するのが簡単ではない、利用可能な GNU C 拡張機能は何ですか?

Linux カーネルが GCC でしかコンパイルできないのはなぜですか? 一部のプロジェクトで本当に必要な GNU C 拡張機能とその理由は何ですか?

0 投票する
5 に答える
1414 参照

c++ - C++ ですべての型をデフォルトで定数にする

#defineコンパイラ オプション、 s、 s、またはテンプレートのいずれかを使用して、コンパイラに対して、typedef私が言うたびTに本当に意味することを示す最も簡単で目立たない方法は何T constですか? 外部プリプロセッサを使用しないことをお勧めします。私はキーワードを使用していないのでmutable、変更可能な状態を示すために再利用することは許容されます。

編集:これの意図は完全に間違っていたので(そして明確にするために私が数時間近くにいなかったので)、説明させてください. 要するに、コンパイル時に型システムを操作するために利用できるシステムを知りたいだけです。これにより、非標準の、悪い、保守不可能な、役に立たないコードが作成されるかどうかは気にしません。本番環境では使用しません。それはただの好奇心です。

これまでの潜在的な (次善の) 解決策:

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

c++ - C++ モジュール - C++0x から削除されたのはなぜですか? 彼らは後で戻ってきますか?

C++0x のモジュールに関するこの古い C++0x ドラフトを発見しました。

アイデアは、コンパイル中にモジュール ファイルを生成する .cpp ファイルのみを書き込むことによって、現在の .h/.cpp システムから抜け出すことでした。これは、他の .cpp ファイルによって使用されます。

これは非常に優れた機能のように見えます。

しかし、私の質問は、なぜ彼らは C++0x からそれを削除したのですか? 技術的な問題が多すぎたのですか?時間不足?そして、彼らは C++ の新しいバージョンのためにそれに取り組むことを検討すると思いますか?

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

c++ - .h ファイルが複数の cpp ファイルに含まれているクラスで積分静的 const を定義する

コンパイラは、b が複数回定義され、1 つが無視されるという警告を出します。配列を初期化する必要があるため、クラスで定義する必要があります。または、列挙型アプローチを使用してそれを行う必要があります。しかし、これが可能かどうか知りたかったのですか?

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

c++ - 式が期待される場所に中括弧で囲まれたブロックを置くこの C++ 構文は何ですか?

この奇妙な C++ プログラムに出くわしました。

誰が何が起こっているのか説明できますか? この構成は何と呼ばれますか?

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

haskell - 最新の GHC で廃止された DatatypeContexts: なぜ?

Haskell での開発を行っていたところ、新しいバージョンの GHC で古いコードを再コンパイルしました。

そして、私がしたとき、次のエラーを受け取りました:

警告: -XDatatypeContexts は非推奨です: これは広く誤機能と見なされており、Haskell 言語から削除されました。

これは、次の形式のコードがある場合に表示されます。

私の質問は、なぜこの機能が最初に廃止されたのですか?同じまたは同様の機能を実現するために代わりに何をすべきですか?

0 投票する
7 に答える
3163 参照

c++ - C ++でgotoとlongjmpを(計算)する方法は?

私は通常C++をコーディングしませんが、私の奇妙な計算機科学の友人は、私のすばらしいFORTRANプログラムを見るのにうんざりし、私のC ++コードの方が好きなので、そのうちの1つをC++で書き直すように要求しました。(ここでお金を賭けています。)正確な用語は、最新のC++コンパイラーでコンパイル可能である必要があるということです。多分彼は良いconio.hを嫌っています-私は知りません。

今では、C ++で書くのに完全に良い方法があることに気づきましたが、C ++バージョンを可能な限りFORTRAN風にすることで、ここで個人的な勝利を収めようとしています。ボーナスポイントについては、コードを変換するときに時間と労力を節約できる可能性があります。

それで!これにより、次の関連クエリが表示されます。

gotosについて:

  1. どのように後藤を動かしますか?
  2. C ++でのgotoの制約は何ですか?
  3. スコープについて何か懸念はありますか?(私は可能な限りグローバルにスコープを設定しようとしますが、あなたは決して知りません。)
  4. GCC拡張機能を使用してvoidポインター配列に移動する場合、未定義の動作などに関する新しい懸念はありますか?


longjmpの場合:

  1. longjmpをどのように安全に使用しますか?
  2. C ++でのlongjmpsの制約は何ですか?
  3. スコープに対して何をしますか?
  4. longjmpが安全であるように見える特定の瞬間はありますが、実際には注意する必要はありませんか?
  5. longjmpを使用して計算されたgotoをどのようにシミュレートしますか?
  6. プログラムに関数が1つしかない場合、gotoよりもlongjmpを使用することに具体的なメリットはありますか?

今のところ、私の主な関心事は、このために計算されたgotoを機能させることです。voidポインタ配列はC++標準の一部ではなく、GCC固有の拡張機能であるため、おそらくlongjmpを使用してこれを機能させるようです。

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

c# - C#言語拡張の実装

Parallel Linqなどのシステムを使用すると、無名関数やクエリなどの実行を1台のマシン内の複数のコアとスレッドに分割することができます。これを拡張して、forループ(など)やs、 sなどのParallel.For()値型などの標準言語構造を使用して複数のマシンで実行し、アプリケーションソースの変更を最小限に抑える機能が必要です。理想的には、これにより、プロジェクトを開き、メソッドに属性を追加し、再コンパイルして拡張機能にアクセスできるようになります。intstruct

次のようなものが必要なようです。

  1. コンパイルされたコードブロック(ラムダなど)をキャプチャし、必要なデータとともに別のノードで実行されているワーカープロセスに渡す機能、または

  2. 問題のコードをキャプチャするプリプロセッサを提供し、変数参照などをネットワーク通信、キャッシング、その他の必要なアセットへのアクセスを処理するクラスへの参照に置き換える一種のテンプレートプロジェクトにコンパイルし、他のマシンで実行されている使用可能なワーカーノードへの結果のDLL。

Roslynは、ここで役立つツールをいくつか提供しているようです。これを可能にするために現在のコンパイルパイプラインにフックする方法はありますか?

編集

さて、私はこれが可能であることを知っています、なぜならこれらの人はそれをしたからです。問題は、どのように?