gccに関するkamekamekame877のブックマーク (9)

  • const char* const p = "ABC"; と const char q[] = "ABC"; はどちらがよいか、みたいな与太 - memologue

    諸事情あって、ふと前に読んだドキュメントに書いてあった細かいことが気になった。いやいつも細かいけど。 const char* const p = "ABC";より const char q[] = "ABC";のほうがいいのか?的な話。後者の方が良いらしいので、確認するととともに、すぐになんでも書くのはどうなんだと思いつつも無駄に細かく解説。いろいろ間違ってたらゴメンナサイ。C言語入門? 先に結論 共有ライブラリやPIEな実行ファイルを作る場合は、後者の書き方(const char q[] = "xxx")のほうが良さそうですね。PIEじゃない単なる実行ファイルを作るときは、最適化かけるならあんまりかわらないかも。 比較1) コンパイル時の最適化の効きやすさ 最適化といってもいろいろありますが、↓に限って言えば、const char q[] のほうが効きやすいようですね。 gcc vers

    const char* const p = "ABC"; と const char q[] = "ABC"; はどちらがよいか、みたいな与太 - memologue
  • melancholic afternoon

  • Radium Software Development - Eat Your Own Dogfood

    Giới thiệu website Bóng đá Socolive TV - Trang web xem bóng đá trực tiếp 24/7 HD không có quảng cáo, chất lượng tốt nhất trên thị trường. Với hàng ngàn giải đấu bóng đá trong nước và quốc tế, Socolive TV cung cấp dịch vụ xem trực tiếp 24/7 với chất lượng HD siêu mượt. Với hàng trăm bình luận viên và phòng chat sôi động, người hâm mộ bóng đá sẽ có những trải nghiệm thú vị nhất. Giới thiệu những nét

  • GCC optimization - Gentoo wiki

    This guide provides an introduction to optimizing compiled code using safe, sane CFLAGS and CXXFLAGS. It also describes the theory behind optimizing in general. Default CFLAGS can be set in make.conf for Gentoo systems. CFLAGS can also be specified per-package. See also For more information see CFLAGS and CXXFLAGS in the Gentoo Handbook, and the safe CFLAGS article. See also the FAQ. Introduction

  • gcc -march=nativeが生成する最適化オプション - このブログはURLが変更になりました

    gcc 4.2以降、-march=nativeのオプションを与えると、CPUに合わせた最適化オプションが得られるようになった(IA-32/x86-64のみ)が、複数種のCPUが混在しているdistcc環境では利用できない。 なので、-march=nativeが生成している最適化オプションを調べてみた。手抜きスクリプトはこんな感じ。 #!/bin/sh CC="gcc" OPT="-march=native" NATIVE=$(echo | ${CC} -E -v ${OPT} - 2>&1 | grep cc1) NOARCH=$(echo | ${CC} -E -v - 2>&1 | grep cc1) for native in ${NATIVE} ; do FOUND=0 for noarch in ${NOARCH} ; do if [ "${native}" = "${noarc

    gcc -march=nativeが生成する最適化オプション - このブログはURLが変更になりました
  • 少し詳しい型変換の説明

    型変換については、第4章で簡単に説明しましたが、複雑な規則があり、迷うことの多い部分です。ですから、ここで少し詳しく算術型の型変換について説明してみようと思います。 なお、説明中で用いたコードの実行結果は「Borland C++ Compiler 5.5」(int:4バイト short:2バイト char:1バイト)で確認をしています。 1.汎整数拡張 文字型や整数型などの汎整数型の場合、型が、int より小さな場合(char, signed char, unsigned char, short, unsigned short)は、演算の最初に int か、表現できなければunsigned int に変換されます。このとき、符号を含めてその値を変えることはありません。 (例)short a = 30000, b = 30000; printf("sizeof(a) = %d\n", siz

  • 研究に使うUNIXとその機能

    私(金野)が研究活動の中で使ってきたUNIXのコマンドや機能のうち、特にプログラムを製作する過程で有用なものを中心に説明します。「流体研ローカルガイド」という名前で、主に卒論生向けに書いてきた文書から、UNIXの一般論について書かれた(つまり、ローカルではない)部分を抜き出して引っ越してきました。研究室内の人にしか見られないよりは、多くの人に見てもらえる方が、書く方も励みになり筆が進みます。 ただし内容は流体研のワークステーションの事情に即しており、流体研の学生向きに書いています。そのへんをご勘案下さい。 あなたはだいたい 人目のお客様です。(2000年1月25日以降) はじめに---この文書の意図するところとしないとこ ろ シェル(別ページ) プログラムの作成・実行とシェルの機能 スクリプト言語のススメ---Awk, Perl makeの勧め バージョン管理(別ページ) はじめに---こ

  • C/C

    真偽値は0x0が偽(false)であり、その他の値は真である。 ちなみにC/C++には「累乗」の演算子は存在しない(ライブラリのpow関数を 用いるか、自作する)。 コンマ(,)(カンマ???) たとえば、for文において、初期化に入れたい式が複数ある場合、コンマで区切って 式を並べれば良い。普通 ; で区切る文であるが , で延々と区切ってもコンパイルは通り、 正常に動作した。 for(int i = 1, target = 0x1; i < 20; i++,target <<= 1) ... 優先順位にきをつけよう。deref_incr.c ->演算子の多重定義 とっても特殊な演算子だと思っていたら、多重定義できてしまうという。無条件というわけには いかない。なぜなら->の右には値ではなく「名前」がくるから。そして、この演算子は ポインタを返さねばならないらしい。かなりなぞを秘めてい

  • GCC: CPU に関する最適化オプション

    このページでは、GCC における最適化オプションに関する情報をまとめています。 対象としているのは x86 系 CPU, GCC 3.0 系以降です。 目次 各 CPU 向け最適化オプション 拡張命令向け最適化オプション リンク 各 CPU 向け最適化オプション GCC には以下の 3 つの各 CPU 向け最適化オプションがあります。 -march 指定した CPU だけで動作するようなコードを生成します。後述の -mcpu より速いコードを生成可能。 -mcpu -march と違い、同系列の CPU でも動作するようなコードを生成します。 -mtune GCC 3.4 系で導入された -mcpu の別名。 これらは、以下の表にある“CPU タイプ”と組み合わせて、-march=pentium2 の様に使います。

  • 1