3. 自己紹介 1992年~1997年 某ゲーム会社 プログラマ SFC,GB,PS1,N64のゲーム開発経験 1998年~現在 日本工学院八王子専門学校 @mozmoz1972 専任講師 プログラミング教育を中心に担当 twitterもfacebookも実名です。よかったらフォローしてください。
WindowsやMac OS Xのように、1つの企業が開発環境や標準ライブラリを管理して、必要とあれば全ての開発者に新しいツールやライブラリを強制できる商用OSに比べて、世界中に分散した開発者がボランティアとして開発に参加しているOSSの世界では、新しいツールやライブラリが広く利用されるには過去との互換性を保つことが重要になります。 そのため、GCCやGlibc、X Window Systemといった主要なソフトウェアでは、過去のバージョンを用いていたソフトウェアも動作するように、バージョンアップを繰り返して中身がそっくり変わってしまっても、APIやABIは過去のバージョンとの(後方)互換性を保つように努力しています。 そのおかげで、最近では、OSの基盤となるこれらソフトウェアを更新する際も、以前のように互換性についてあれこれ調査する必要が無くなりました。その一方で、README等のファイ
C Library The elements of the C language library are also included as a subset of the C++ Standard library. These cover many aspects, from general utility functions and macros to input/output functions and dynamic memory management functions: <cassert> (assert.h)C Diagnostics Library (header)<cctype> (ctype.h)Character handling functions (header)<cerrno> (errno.h)C Errors (header)<cfenv> (fenv.h)F
最近のboost C++ライブラリは数値計算や幾何計算のほうも充実してきているようで、先日Boost.Geometryの2Dブーリアンを使ってみたらそのパフォーマンスと頑強性に驚かされた。 さらにこのBoost.Geometryは設計が素晴らしい。そのDesign Ratonaleを読んでみたところとても面白かったので、より多くの人に読んでもらいたいなと思って和訳してみた。 わかりやすい題材を元に、traits, タグディスパッチ、コンセプト、メタ関数などのテンプレート周りの独特の技法が少しずつ登場してくるので、これらの概要を把握するにもとても良い資料だと思う。 原文はココ。 なお、「ジェネリック」、「特殊化」といったジェネリックプログラミング独特の用語が頻出するので、なじみのない方は あらかじめここで概要をつかむといいかもしれない。 設計の理論的基礎(Design Rationale)
sample サンプルの動作確認バージョン [GCC4.4/1.41.0] [VC9/1.41.0] #include <iostream> #include <vector> #include <numeric> #include <boost/foreach.hpp> #include <boost/scope_exit.hpp> using namespace std; void f( vector<int>& v1, vector<int>& v2 ) { // v1 に 値を push v1.push_back(v1.size()); // f を抜けるときに戻す BOOST_SCOPE_EXIT( (&v1) ) { v1.pop_back(); } BOOST_SCOPE_EXIT_END // v2 に 値を push v2.push_back(v2.size()); //
第1回 C++開発者の皆さん。テスト、ちゃんとしていますか?:連載 C++開発者のための単体テスト入門(1/4 ページ) 連載目次 「ビッグバン・テスト」をご存じですか? アプリケーション全体を構築する数千行、数万行に及ぶコードをコンパイルし、いきなり全体を走らせてその動作を確認するテスト手法です。われわれプログラマーが絶対に過ちを犯さないならともかくも、そうではない現実を考えると、このようなビッグバン・テストは極めてつたないテスト法です(そもそも過ちを犯さないなら、テストの必要はないのですけど)。 テストとは、ひと言でいってしまえば「思ったとおりに動くかを検証すること」でしょうね。プログラムは思ったとおりには動きません。作ったとおりに動きます。従って、「思ったとおりに動くか」の検証とは「思ったとおりに作られているか」の検証にほかなりません。 ビッグバン・テストでも「思ったとおりに動くか」
LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations. LLVMプロジェクトは8月18日(米国時間)、「SAFECode」技術を搭載したC/C++コンパイラとなるClang/Clang++を公開した。「SAFECode」はメモリセーフティエラーを検出する技術。Valgrindなどの類似のデバッグ/プロファイルソフトウェアと比較して次のような利点があるという。 ダイナミックバイナリ変換を実施せず、ランタイムチェックの最適化が実施されているため、動作が高速。 個々のスタックとグローバルオブジェクトの境界を正確に把握しているため動作が精密。 個々のメモリセーフティ違反に対してより扱いやすい情報を提示
placement new と delete (1) -- placement new オブジェクトを動的に確保したり解放したりする場合は new / delete 演算子を使うわけだが、 デフォルトの new / delete 演算子を呼ぶと、 結局のところ malloc とか free に落ちることになるので、 ヒープ領域の管理コストがかかることになる。 たまに比較的大きなオブジェクトを生成するのに new を呼ぶ分にはそのコストも無視できるだろうが、サイズの小さい (たとえば、4バイトとか) オブジェクトを何百万回も生成 / 破棄するようなプログラムだと、 その時間的空間的な管理コストは無視できないほど大きくなる。 そのような場合に使われるのが、placement new (配置 new) というテクニックである。 次のようにふつうに new 演算子を使うと、 X *x = new
Theron is a lightweight C++ concurrency library based on the Actor Model. Version 2.08.02 available now. Theron is a lightweight, portable C++ class library for developing parallel applications. It implements a simple service-oriented model of concurrent processing based on the Actor Model. With Theron, program objects are expressed as actors, which communicate exclusively via message passing. Wri
Theron is a simple, lightweight concurrent processing library for C++. It implements a concurrent processing model based loosely on the Actor Model. Theron is freeware and open source. Feel free to download it and see if its useful to you. See the features, about and downloads pages for more details. See the contact page if you'd like to get in touch. And subscribe to the RSS feed if you'd like to
頭が痛いだけでなく, 寝ている時に頭の傷を庇うせいか首がいたい. 鞭打ちかもしらんけど... そして頭とセットで打った臀部もいたい. 満身創痍で出かける気力もなく, 家でうだうだしているところ. こんなに良い天気なのになあ. うだうだついでに貰った本の紹介. 最近貰った本: プログラミング Erlang いただきました. ありがとうございます > 著者およびオーム社の中の方. Erlang の親玉が書いた入門書の翻訳です. Erlang は言語として特に斬新なところはなく, 処理系の提供するサービスの出来がいい, というのを伝聞で聞いていた. 読んでみるとたしかにそうだった. 本の内容も言語仕様(文法)の話は前半だけ. 後半は分散だとか並列の話をしている. 面白いのは後半. 私はお仕事の関係もあって分散メッセージングの仕組みには少し興味があったから, これはとても勉強になった. actor
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く