GCC 10.1コンパイラがここにあり、これらがその主な目新しさです

XNUMX年の開発の後 新しいバージョンのリリースが公開されました 無料セットから GCC10.1コンパイラ、これはGCC10.xの新しいブランチでの最初の重要なリリースです。

新しいバージョン番号付けスキームによると、開発プロセス中にバージョン10.0が使用され、GCC 10.1のリリース直前に、GCC 11.0ブランチがすでに分岐しており、これに基づいて次のバージョンが形成されます。GCC11.1の重要性。

GCC(GNUコンパイラコレクション)に慣れていない人は、次のことを知っておく必要があります。これはGNUプロジェクトによって作成されたコンパイラのセットですはフリーソフトウェアであり、GPL General PublicLicenseの下でFreeSoftware Foundation(FSF)によって配布されています。

これらのコンパイラは、ほとんどのUnixシステムで広く使用されています それらがUnixオペレーティングシステムおよびオープンソースの派生物の標準であり、Mac OSXなどのプロプライエタリでもあると見なされる程度まで。

GCCでは、オブジェクトファイルの識別、リストのコピー、変換、作成、リンク、不要なシンボルの削除などのタスクを実行するために、binutilsと呼ばれるアプリケーションのセットが必要です。

GCC10.1の新機能

GCC 10.1は、C ++言語の多くの革新の実装で際立っています。 C ++ 20標準用に開発され、将来のC言語標準(C2x)に関連する改善、 コンパイラバックエンドの新しい最適化と実験的サポート 静的解析モードの場合。

C、C ++、Fortran言語の場合、OpenACC2.6並列プログラミング仕様が実装されています、GPUおよびNVIDIAPTXなどの特殊なプロセッサでのダウンロードツールを定義します。

標準の実装 MP5.0を開きます (Open Multi-Processing)は、共有メモリとベクトル化ユニット(SIMD)を備えたマルチコアおよびハイブリッドシステム(CPU + GPU / DSP)で並列プログラミングメソッドを使用するためのAPIとメソッドを定義します。 ほぼ完成です。

機能は条件式として追加されます lastprivate、scanおよびloopディレクティブ、orderおよびuse_device_addr式。 OpenMPおよびOpenACCの場合、追加されました 第XNUMX世代および第XNUMX世代のAMDRadeonGPUでのダウンロードのサポート。

C言語の場合、参照またはポインターによって渡されるオブジェクトの関数へのアクセスを記述し、これらのオブジェクトをオブジェクトのサイズに関する情報を含む整数引数に関連付けるために、「アクセス」関数が追加されました。

「access」と連携して機能するために、「type」属性が実装され、たとえば、配列の境界外の領域に値を書き込むときに、ユーザー関数からの誤ったアクセスを検出します。 ELFファイル内の文字を特定のバージョン番号にリンクするためのsymver属性も追加されました。

C ++の場合、約16の変更と革新が実装されています C ++ 20規格で開発 キーワード「constinit」を含む テンプレートを拡張するためのサポートが追加および実装されました«コンセプト»これにより、テンプレートパラメータの要件のセットを定義できます。これにより、コンパイル中に、テンプレートパラメータとして使用できる引数のセットが制限されます。

さらに 強化された手続き間最適化が強調表示され、 IPA-SRAは、バインド中に機能するように再設計され、特に未使用の計算値と戻り値が削除されるようになりました。

「-O2」最適化モードでは、「-finline-functions」オプションが有効になり、パフォーマンスよりもコンパクトなコード用に再構成されます。

ザ・ 拡張リンク最適化(LTO)、 s情報をダンプするために新しい実行可能ファイルlto-dumpを追加しました LTOバイトコード化されたオブジェクトファイル。 LTO並列パスでは、同時実行タスクの数を自動的に決定できます。これを決定できない場合は、CPUコアの数に関する情報を並列化係数として使用します。

最適化メカニズムが改善されました また、コード実行の特性の分析に基づいてより最適なコードを生成するコードプロファイリング(PGO)の結果に基づいています。

あなたがそれについてもっと知りたいのなら、 このリリースの詳細を確認できます 次のリンクで。 


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。