処理並列は、必ず処理速度が向上するのか3つのアルゴリズムを並列化して、並列化によってどのように処理効率が向上するのか、検証します。とある関数の接合部(2)テストを書いていると、一時的に関数の挙動を書き換えたいときがあります。time()がハードコートされている関数をデバッグしたい時や、まれにしか失敗しないAPIの失敗をエミュレーションしたい時などです。本稿では、テスト用の接合部を作成するライブラリ「SEXYHOOK」がいかにして関数、APIフックを処理しているかを説明します。スレッドセーフとインテルTBBのコンテナ本連載では、C++プログラムで並列処理を行うアプローチを提供するテンプレートライブラリ「インテルスレッディング・ビルディング・ブロック」(インテルTBB)について解説します。今回は、インテルTBB特有の4個のコンテナとそれに関連する並列処理の概念について説明します。とある関数の接合部(1)テストを書いていると、一時的に関数の挙動を書き換えたいときがあります。time()がハードコートされている関数をデバッグしたい時や、まれにしか失敗しないAPIの失敗をエミュレーションしたい時などです。本稿では、一時的に関数の挙動を書き換え、失敗を返すことが可能になる「SEXYHOOK」の使い方について説明します。――C/C++セキュアコーディング入門(6)配列をコピーする際、記憶領域の扱いを適切に行わないとバッファオーバーフローにつながります。コピー元のデータ量またはコピー先の記憶領域のサイズをチェックするのが基本的な対策になりますが、誤って脆弱性を引き起こすことも多々あります。今回は、こういった配列コピー時に犯しやすい誤りについて解説します。OpenMPの実行時ライブラリと並列ループ昨今マルチコアCPUは一般化し、並列化処理の重要度がどんどん高まってきました。そこで本連載では、一番効率化を要求されるC/C++プログラマーを対象としてOpenMPの基礎を紹介します。今回は並列プログラミングに役立つ実行時ライブラリの関数と並列ループについて解説します。とある文字列の相互変換(コンバージョン)本稿では、managedとnaviteのコードが混在するため、ややこしくなりがちなC++/CLIにおいて、特に煩雑なことの多い「文字列」の処理、および数々の「文字コードの変換方法」を紹介します。――C/C++セキュアコーディング入門(5)今回はsizeofオペレータをとりあげます。sizeofは、引数に与えたオブジェクトや型名から、その型のデータがメモリ上に占めるバイト数を求めるオペレータです。sizeofオペレータの使用上の注意について説明し、その後でsizeofオペレータの誤用例を2つ紹介します。昨今マルチコアCPUは一般化し、並列化処理の重要度がどんどん高まってきました。そこで本連載では、一番効率化を要求されるC/C++プログラマーを対象としてOpenMPの基礎を紹介します。今回はOpenMPのもっとも基本的な知識を解説します。――C/C++セキュアコーディング入門(4)UNIXなどPOSIX準拠のOSでは、割り込みや例外を抽象化した「シグナル」と呼ばれる仕組みを用いてプロセスに(非)同期イベントが通知されますが、シグナルハンドラで行える処理には制約があり、これを無視したコードを書くと脆弱性につながる恐れがあります。今回はシグナルハンドラの制約に関するルールを見てみましょう。前回の記事「.NETでマンデルブロ集合を描く」に引き続き、排他制御の排除とマルチスレッド化による高速化を試みます。Library)を使ってみます。Library)版のおまけつき。――C/C++セキュアコーディング入門(3)文字列操作に関するプログラミングエラーはいくつかありますが、今回は基本的であるが間違いを犯しやすい文字列のNULL終端エラーについて解説します。.NETでマンデルブロ集合を描く大量の計算が必要なマンデルブロ集合の計算とその描画をマルチスレッドで行います。3.0など、多くの新技術にいち早く対応している。本稿では、それらの一部を具体的なサンプルコードで試した結果をお伝えする。――C/C++セキュアコーディング入門(2)ポインタ型データに対する加減算は普通の整数演算とは異なることに注意が必要です。今回はこのポインタ演算に関するコーディングエラーの例を見てみましょう。――C/C++セキュアコーディング入門(1)この連載では、深刻な被害をもたらす可能性のある「プログラムの脆弱性」を未然に防ぎ、セキュアなコーディングを行うための知識やコツを紹介していきます。セキュアコーディングスタンダード」というドキュメントをベースにしています。本連載では、C++プログラムで並列処理を行うアプローチを提供するテンプレートライブラリ「インテルスレッディング・ビルディング・ブロック」(インテルTBB)について解説します。今回はインテルTBBのアルゴリズムテンプレートとループの並列化を説明します。本連載では、C++プログラムで並列処理を行うアプローチを提供するテンプレートライブラリ「インテルスレッディング・ビルディング・ブロック」(インテルTBB)について解説します。第1回目はインテルTBBの概要を解説します。筆者は今後絶対に身につけるべきプログラマーのスキルを、並列プログラミングだと考えています。Studioを使って並列化プログラミングを試してみた』を参照してください。今回は、以前紹介できなかった並列プログラミングのデバッグと、デバッグツールについて紹介します。C++には、C++0Xの新機能が積極的に取り入れられています。expression)」を紹介します。圧縮・解凍UNIX基本講座@CodeZine『CodeZine(コードジン)』の公式アカウントです。パソコンプログラミングに役立つソースコードと解説記事が満載な開発者のための実装系Webマガジンです。掲載記事、写真、イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。