筆者は「日経ソフトウエア」というプログラミング雑誌で記事の執筆と編集をしている。先日,C言語にターゲットを絞った特集を企画・担当した。記事は無事校了し,今はこの特集を収録した2008年11月号が書店に並んでいる。 C言語の特集を企画した理由はただ一つ,C言語を学ぶことによって,プログラミングに関するより深い知見を得られると強く感じたからだ。筆者自身,C言語に不案内で苦手意識を感じていたので,その思いは余計に大きかった。同時に,だからこそ,筆者同様にC言語の経験が比較的少ない人,そしてこれからC言語を学ぼうという人に役に立つ特集に仕立てられるのではという気持ちもあった。 日経ソフトウエアとしては,C言語にターゲットを絞った特集をここ3年ほど掲載していなかった。その間にアプリケーション・ソフトウエアの大きな流れとしては,デスクトップ・アプリケーションからWebアプリケーションへの比重が高まり,
本連載は、ソフトバンククリエイティブ刊行の『ふつうのLinuxプログラミング』のうち第1部「Linuxの仕組み」の中から「第2章 Linuxカーネルの正解」と「第3章 Linuxを描き出す3つの概念」を、同社の許可を得て転載するものです。 本書は、LinuxにおけるC言語プログラミングの入門書です。「Linuxの世界が何でできているのか」に着目し、「ファイルシステム」「プロセス」「ストリーム」という3つの概念を紹介しています。 なお、本連載は転載を行っているため@IT自分戦略研究所の表記とは一部異なる点があります。ただし、Webで掲載するに当たり、(例えば「本書は」としている部分は「本連載は」としていること、図版などの省略など)、表現を若干変更している点がありますが、その点ご了承ください。 ■オペレーティングシステム 今どきのコンピュータにはオペレーティングシステム(OS:Operatin
仮想世界と現実世界を融合する技術は,拡張現実感(Augmented Reality:AR)と呼ばれています. おおげさな言い方をするとARは現実の世界に情報を「上書き」することができる技術です. アニメや映画にでてくる「電脳」を想像してみてください. 手のひらの上に3Dキャラクタを表示したり,現実の世界でデジタル・データに触れてみたり… そんな魔法のような技術です. ARToolKitは,ARアプリケーションの実装を手助けするC言語用のライブラリです. ARToolKitを使うと,紙に印刷されたパターンをカメラで読み取り, その上に3Dオブジェクトをオーバーレイ表示するアプリケーションが簡単に作れます. 本来は非常に敷居の高い技術なのですが,このライブラリは「難しい部分」の処理を 全てやってくれます. …というわけで今回はARToolKitを使って近未来の技術 「拡張現実感」 を体験してま
2007年12月23日03:00 カテゴリLightweight Languages c - strchr()って使えねえ ある文字が文字列で指定された文字種の中に含まれているかどうかという目的であれば、strchr()は使うべきではないでしょう。というか、strchr()はlibcに数多く埋まった地雷の一つのような気が。 strchr() ではまった話 - bkブログ 標準Cライブラリに strchr() という関数があります。文字列の先頭から指定した文字を探すという単純な関数なのですが、先日、意外な仕様を知りました。 strchr()は線形探索なので、文字種が増えれば増えるほど遅くなります。こういう場合は、素直にtable lookupを使うべきでしょう。 実際どれくらい差が出るのか調べてみました。念のために過剰最適化がなされていないことを、gperfで確認してあります。MacBook
会期:9月18日~20日(現地時間) 会場:San Francisco「Moscone Center West」 Intelは、メニイコア、ヘテロジニアスなど、いわゆるTera-Scale Computingと呼ばれる領域で、大きく3つの研究成果を発表している。1つは、昨年(2006年)春のIDFでラトナー氏が基調講演で語ったTransactonal Memoryである。これは、今回、ソフトウェアでこれを実現するSTM(Software Transactional Memory)対応のコンパイラが公開されている。 残りの2つが、「Accelerator Exoskeleton」と「Ct」である。Accelerator Exoskeletonについては別途レポートしたので、今回は、Ctについてレポートする。 Ctは、Ctで定義したデータタイプに対する演算処理をOpenMP対応C/C++コンパ
icu-project.org is now icu.unicode.org clicky > https://icu.unicode.org < clicky
19日(米国時間)、PCREの最新版となる「PCRE 7.2」が公開された。PCRE(Perl Compatible Regular Expressions)はPerl 5で使われている正規表現と同じ表現/機能をC言語で実装した関数のライブラリ。POSIX正規表現APIに対応したラッパ関数が用意されているほか、PCREのネイティブAPIも備える。またライブラリはThe BSD Licenseのもとオープンソースソフトウェアとして公開されている。 7.2ではPerl 5.10の正規表現からいくつかの機能「(?-n)、(?+n)、(?(-n)、(?(+n)、\k{name}、\g{name}、\K、(?|、\h、\H、\v、\V」が追加されたほか、バグの修正、パフォーマンス改善のためのリファクタリングなどが実施されている。 PCREはもともとExim MTAで活用するために開発された正規表現ラ
C/C++は永久に不滅です! (IT Pro) 突っ込みどころ満載なのでちょっと茶々入れしてみようと思う。 Part1 C/C++は永久に不滅です! その一つに,C言語は非常に自由度の高いコーディングができることが挙げられます。例えば,if-elseの処理を1行で記述できるC/C++の三項演算子は便利な機能ですが,よく見ないと処理内容がよくわかりません(リスト1)。 三項演算子って、C ではよく悪者にされるよね。おいらは値を代入するシーンや値を return で返すシーンではそれなりに有用だと思っているし、演算順序が左→右であることから複合的な条件分岐も割と整理して記述できるという利点もあったりするんだけれども。 でも、確かに示されているコード例は、酷いね。せめて、 (msg[i] >= 'a' && msg[i] <= 'z') ? msg[i] += 'A' - 'a' : msg[i
C では union を reinterpret_cast 代わりに使えるよ、というお話。へぇぇ。 個人的には、union 使うと実数値の実装が見えておもろいなぁとか思った。そんだけなので tb はなし。w しかし K&R おさらいしてみたら、malloc するときの境界の整合のために union を使う例が示されてた。そうか union ってこういう風に使うものだったっけか。(なにをいまさら)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く