タグ

ブックマーク / kaworu.jpn.org (2)

  • マルチスレッドプログラミング - C++入門

    マルチスレッドプログラミング (multi thread programming)とは、並列に処理を実行するためのプログラミングで、マルチスレッドによってプログラムのパフォーマンスを改善できます。 読み方 マルチスレッドプログラミング まるちすれっどぷろぐらみんぐ multi thread programming まるちすれっどぷろぐらみんぐ 概要 マルチスレッドを使わずにC++でプログラムを書くと、上から下へプログラムが実行されます。並列に実行されないため、1行目が命令が終了するまで、次の行の処理ははじまりません。これは、シングルプロセス、シングルスレッドのプログラムと言われます。 プロセスは、1つ以上のスレッドを持ちます。「複数のスレッドを持つこと」をマルチスレッドを呼びます。 スレッドとは、プログラムの実行単位です。複数のスレッドを持つことで、処理Aと処理Bが同時に行えるようになりま

    jp-myk
    jp-myk 2017/01/25
  • GNU GCC 最適化オプションとstrip前後のファイルサイズの比較 lsコマンド編

    GNUのGCCコンパイラでは、最適化レベル -O0 - -O3とサイズ重視の-Os、さらにバイナリのストリップ機能があります。 最適化レベルによって、生成されるバイナリのサイズが変わってきます。 ストリップ(strip)によってオブジェクトファイルのシンボルを削除することによってもファイルサイズは変わってきます。 gcc version 3.4.6 [FreeBSD] 20060305には最適化レベルには -O0 -O1 -O2 -O3 -Os があります。 gccに-Wl,-sをつけることでldコマンドにstripの指示を出すことができます。 今回は、lsコマンドのコンパイルオプションで最適化レベルの設定を変更したり、stripの有り無しで、できあがるバイナリサイズを比較してみました。 コンパイルコマンドは下記の通りです。 cc -lutil cmp.c ls.c print.c uti

    jp-myk
    jp-myk 2016/05/11
  • 1