タグ

コンパイラに関するqueserasera714のブックマーク (6)

  • C++ のシンボルをデマングルする - bkブログ

    C++ のシンボルをデマングルする C++ コンパイラはシンボルが一意の名前を持つように名前マングル (name mangling) と呼ばれる処理を行います。記事では GNU の開発環境で C++ のシンボルをデマングル (demangle) する方法を紹介します。 マングルの方法はコンパイラ依存です。同じコンパイラでもバージョンによってマングルの方法が異なることがあります。たとえば GCC 3.x では int foo(int) を _Z3fooi に、 int foo(const char*) を _Z3fooPKc のようにマングルしますが、 GCC 2.95 ではそれぞれ foo__FPCc, foo__Fi となります。 コマンドラインからデマングル C++ のオブジェクトファイルに nm をかけると、デフォルトではマングルされた読みづらい形式でシンボルが出力されます。 %

  • インクリメントの前置後置速度比較(vc++/gcc/clang) – 他人の空似

    後置インクリメントと前置インクリメントは基的に前置の方がよいそうですが、自分は後置の方が書きやすくて好きなので、どこまでなら後置でもいいのか検証する目的で速度を測ってみました。 検証に使用したコンパイラのバージョン: VisualStudio C++ 19.00.22609 for x86 gcc (GCC) 4.8.1 clang version 3.6.0 (tags/RELEASE_360/final) 検証環境はWindows10 TechnicalPreview 検証内容 典型的なfor文を前置後置それぞれのインクリメントを使用する形で作成。 インクリメント対象をunsigned int/iterator/適当に重めのクラスの三種それぞれを対象。 また、最適化により返り値計算が消えることを考えforの真偽判定でインクリメントの返り値を使用するものも用意。 以上をそれぞれ100,

  • Intel C++ Compiler - Wikipedia

    Intel C++ Compiler (インテル シープラスプラス コンパイラ)とはインテルが開発・販売しているC言語およびC++用のコンパイラである。日での販売・サポートはXLsoftが行なっている。略称はICC、あるいはICL(それぞれ、Linux/macOS用およびWindows用コンパイラの実行プログラム名にもとづいている)。 インテルが自社の発売するCPUの性能を最大限発揮するために開発したコンパイラである。CPUの開発元が自ら開発しただけあって高い最適化能力を誇り、最新のCPUへの命令セットへの対応も非常に早い。主にx86/x64アーキテクチャをサポートする。バージョン11.1まではIA-64 (Itanium) をサポートするが、バージョン12.0以降ではサポートされない[3]。バージョン11.1においては、次世代256ビット命令であるIntel AVXや、米国標準暗号方式

  • Free Dynamic DNS(DDNS) by POP3,IMAP4,FTP,HTTP-BASIC for Home Server, VPS | MyDNS.JP

    pokotsun.mydns.jp is not accessible... Sorry. I do not know why this site is not working. If you know Administrator of this site, please contact directly. You may be able to see it in Google cache. For administrator ... MyDNS.JP did not received IP address from you over One week. Please check your notify system. If you restart notification of IP address, MyDNS.JP will apply your IP address to DNS

  • コンパイラ - Wikipedia

    コンパイラ(英: compiler)は、高水準言語で書かれたコンピュータプログラムを、 コンピュータが実行や解釈できる形式に、一括して(※[1])変換するソフトウェア[2]。 概説[編集] コンパイラの技術書のバイブルとされるAlfred V.Aho(アルフレッド・エイホ)著 Compilers, Principles, Techniques, and Tools(通称「ドラゴンブック」[注釈 1])の第1章1節の冒頭に、コンパイラとはそもそも何かということについて説明が掲載されており、そこには「簡潔に言うと、コンパイラとは、ある言語(プログラミング言語)で書かれたプログラム(ソースプログラム)を読み、それを別の言語で書かれた等価のプログラム(ターゲットプログラム)へと翻訳(translate)するプログラムである。」と書かれており、さらに続けて「コンパイラは、ソースプログラムに含まれるエ

  • LLVM - Wikipedia

    LLVM(エルエルヴィーエム、 またはエルエルブイエム)とは、コンパイル時、リンク時、実行時などあらゆる時点でプログラムを最適化するよう設計された、任意のプログラミング言語に対応可能なコンパイラ基盤である。当初は、LLVMの名称の由来は、Low Level Virtual Machine (低水準仮想機械) の略であるとしていたが[3]、現在は、何の頭文字でもないとしている[4]。 LLVMは、プラットフォームに依存しない中間表現であるLLVM-IRを生成し、LLVM-IRを特定のマシンの機械語などに変換する。LLVM-IRの段階で、言語やプラットフォームとは独立した最適化を行う。この方法によってLLVMは言語からもアーキテクチャからも独立しており、それぞれに特化した、プログラミング言語固有のモジュールと、マシン向けコード生成部を用意することにより様々な言語アーキテクチャーに対応する。LL

  • 1