- JavaとC++のパフォーマンスを比較する
- Liviu Tudor [著]、 japan.internet.com [訳]
-
本稿では、基本的な整数演算などのテストを行いながら、JavaとC++のパフォーマンスを比較し、どちらがより速くコードを生成できるかについて説明していきます。
[2010年03月08日]
- 処理並列は、必ず処理速度が向上するのか
- はなおかじった [著]
-
3つのアルゴリズムを並列化して、並列化によってどのように処理効率が向上するのか、検証します。
[2010年03月04日]
- SEXYHOOKの実装部 とある関数の接合部(2)
- rti [著]
-
テストを書いていると、一時的に関数の挙動を書き換えたいときがあります。time()がハードコートされている関数をデバッグしたい時や、まれにしか失敗しないAPIの失敗をエミュレーションしたい時などです。本稿では、テスト用の接合部を作成するライブラリ「SEXYHOOK」がいかにして関数、APIフックを処理しているかを説明します。
[2010年03月02日]
- スレッドセーフとインテルTBBのコンテナ
-
- インドリ [著]
-
本連載では、C++プログラムで並列処理を行うアプローチを提供するテンプレートライブラリ「インテルスレッディング・ビルディング・ブロック」(インテルTBB)について解説します。今回は、インテルTBB特有の4個のコンテナとそれに関連する並列処理の概念について説明します。
[2010年02月24日]
- SEXYHOOKで始めるテスト とある関数の接合部(1)
- rti [著]
-
テストを書いていると、一時的に関数の挙動を書き換えたいときがあります。time()がハードコートされている関数をデバッグしたい時や、まれにしか失敗しないAPIの失敗をエミュレーションしたい時などです。本稿では、一時的に関数の挙動を書き換え、失敗を返すことが可能になる「SEXYHOOK」の使い方について説明します。
[2010年02月22日]
- 配列コピー時に犯しやすい誤りに注意する ――C/C++セキュアコーディング入門(6)
- 富樫 一哉 [著]
-
配列をコピーする際、記憶領域の扱いを適切に行わないとバッファオーバーフローにつながります。コピー元のデータ量またはコピー先の記憶領域のサイズをチェックするのが基本的な対策になりますが、誤って脆弱性を引き起こすことも多々あります。今回は、こういった配列コピー時に犯しやすい誤りについて解説します。
今回は配列のコピー時に注意すべき点をとりあげます。sizeofは、引数に与えたオブジェクトや型名から、その型のデータがメモリ上に占めるバイト数を求め るオペレータです。まずはsizeofオペレータの使用上の注意について説明し、その後でsizeofオペレータの誤用例を2つ紹介します。
[2010年02月15日]
- OpenMPの実行時ライブラリと並列ループ
-
- インドリ [著]
-
昨今マルチコアCPUは一般化し、並列化処理の重要度がどんどん高まってきました。そこで本連載では、一番効率化を要求されるC/C++プログラマーを対象としてOpenMPの基礎を紹介します。今回は並列プログラミングに役立つ実行時ライブラリの関数と並列ループについて解説します。
[2010年01月29日]
- C++/CLI: とある文字列の相互変換(コンバージョン)
- επιστημη [著]
-
本稿では、managedとnaviteのコードが混在するため、ややこしくなりがちなC++/CLIにおいて、特に煩雑なことの多い「文字列」の処理、および数々の「文字コードの変換方法」を紹介します。
[2010年01月26日]
- sizeofオペレータを正しく使おう ――C/C++セキュアコーディング入門(5)
- 戸田 洋三 [著]
-
今回はsizeofオペレータをとりあげます。sizeofは、引数に与えたオブジェクトや型名から、その型のデータがメモリ上に占めるバイト数を求めるオペレータです。まずはsizeofオペレータの使用上の注意について説明し、その後でsizeofオペレータの誤用例を2つ紹介します。
[2010年01月22日]
- OpenMPの基礎構文
-
- インドリ [著]
-
昨今マルチコアCPUは一般化し、並列化処理の重要度がどんどん高まってきました。そこで本連載では、一番効率化を要求されるC/C++プログラマーを対象としてOpenMPの基礎を紹介します。今回はOpenMPのもっとも基本的な知識を解説します。
[2010年01月06日]
- 安全なシグナルハンドラを実装するには ――C/C++セキュアコーディング入門(4)
- 久保 正樹 [著]
-
UNIXなどPOSIX準拠のOSでは、割り込みや例外を抽象化した「シグナル」と呼ばれる仕組みを用いてプロセスに(非)同期イベントが通知されますが、シグナルハンドラで行える処理には制約があり、これを無視したコードを書くと脆弱性につながる恐れがあります。今回はシグナルハンドラの制約に関するルールを見てみましょう。
[2010年01月04日]
- .NETでマンデルブロ集合を描く(後日談) ――Task Parallel Library/Parallel Patterns Libraryの利用
-
- επιστημη [著]
-
前回の記事「.NETでマンデルブロ集合を描く」に引き続き、排他制御の排除とマルチスレッド化による高速化を試みます。Visual Studio 2010 β2を使い、.NET Framework 4.0の新しいライブラリ:TPL(Task Parallel Library)を使ってみます。Visual C++ 10.0の新ライブラリ:PPL(Parallel Patterns Library)版のおまけつき。
[2009年12月28日]
- 文字列はNULL終端させる ――C/C++セキュアコーディング入門(3)
- 富樫 一哉 [著]
-
文字列操作に関するプログラミングエラーはいくつかありますが、今回は基本的であるが間違いを犯しやすい文字列のNULL終端エラーについて解説します。
[2009年12月21日]
- .NETでマンデルブロ集合を描く
-
- επιστημη [著]
-
大量の計算が必要なマンデルブロ集合の計算とその描画をマルチスレッドで行います。C#, VB.NET, C++/CLI の三大.NET言語での実動コード付き!
[2009年12月10日]
- Windows 7に対応し、並列化サポートも強化された 「インテル C++ コンパイラー 11.1」
-
- インドリ [著]
-
2009年9月にリリースされた最新版の「インテル C++ コンパイラー 11.1」では、Windows 7をサポートし、次世代の256ビット命令セットに対応したインテルAVX、AES命令セット、最新のOpenMP 3.0など、多くの新技術にいち早く対応している。本稿では、それらの一部を具体的なサンプルコードで試した結果をお伝えする。
[2009年12月02日]
- ポインタ演算は正しく使用する ――C/C++セキュアコーディング入門(2)
-
- 戸田 洋三 [著]
-
ポインタ型データに対する加減算は普通の整数演算とは異なることに注意が必要です。今回はこのポインタ演算に関するコーディングエラーの例を見てみましょう。
[2009年12月01日]
- 脆弱性体質の改善 ――C/C++セキュアコーディング入門(1)
- 久保 正樹 [著]
-
この連載では、深刻な被害をもたらす可能性のある「プログラムの脆弱性」を未然に防ぎ、セキュアなコーディングを行うための知識やコツを紹介していきます。世界中のCのプロフェッショナルが作成したCのコーディング規約集「CERT C セキュアコーディングスタンダード」というドキュメントをベースにしています。
[2009年11月18日]
- インテルTBBから学ぶループの並列化
-
- インドリ [著]
-
本連載では、C++プログラムで並列処理を行うアプローチを提供するテンプレートライブラリ「インテルスレッディング・ビルディング・ブロック」(インテルTBB)について解説します。今回はインテルTBBのアルゴリズムテンプレートとループの並列化を説明します。
[2009年11月11日]
- インテル スレッディング・ビルディング・ブロックの概要
- インドリ [著]
-
本連載では、C++プログラムで並列処理を行うアプローチを提供するテンプレートライブラリ「インテルスレッディング・ビルディング・ブロック」(インテルTBB)について解説します。第1回目はインテルTBBの概要を解説します。
[2009年10月13日]
- 並列プログラミングの効率的なデバッグを実現する「Parallel Inspector」
-
- インドリ [著]
-
筆者は今後絶対に身につけるべきプログラマーのスキルを、並列プログラミングだと考えています。その背景については『インテル Parallel Studioを使って並列化プログラミングを試してみた』を参照してください。今回は、以前紹介できなかった並列プログラミングのデバッグと、デバッグツールについて紹介します。
[2009年09月10日]


