C/C++の最近のブログ記事
- 石田晴久氏が死去(CodeZine, INTERNET Watch)
カーニハン&リッチーの『プログラミング言語C』の日本語版を翻訳された事でも大変有名な方でしたが3月9日に心筋梗塞で都内の病院でお亡くなりになりました。72歳でした。
C言語を学ぶさいに「C言語のバイブル」として薦められ縁のある方も多いのではないでしょうか。
ご冥福をお祈り申し上げます。 - 道頓堀のカーネルサンダース、24年ぶりに発見(朝日新聞)
これはwww。まだ見つかって無かった事を知らなかった。24年間も道頓堀に沈められていては、祟りとか呪いとか噂されても仕方ないというか罰当たり物だよな。。。
DXライブラリ置き場 HOME
http://homepage2.nifty.com/natupaji/DxLib/
C CodでCコードをスクリプトのように扱う - SourceForge.JP Magazine
http://sourceforge.jp/magazine/08/11/21/0128218
C CodはC言語のコードをインタプリタっぽくCGIとして実行できる環境のようです。Linuxパッケージ版はまだのようですがソース版があるのでC言語でCGIを簡単にしてみたいなら試してみるのもいいかもです。
C/C++ のコードを Flash Player で動かす! Alchemy を速攻試してみる。 - IT戦記
http://d.hatena.ne.jp/amachang/20081118/1227005285
元々AIRってActionScriptだったかな?これをC/C++のソースからコンパイルしたものをFlashやAIRで動作させるAlchemyというものが紹介されていました。私的にはActionScriptで良い気もしますがC言語一本化が目的ならありかなと思います。
【レポート】GCCに匹敵するコンパイラ?! LLVM - BSDCan2008 | エンタープライズ | マイコミジャーナル
http://journal.mycom.co.jp/articles/2008/06/03/bsdcan6/
プログラミング言語C++は1998年に発行され2003年に改訂された国際標準ISO/IEC 14882を仕様として採用している。ISO/IEC 14882はC++の言語仕様と標準ライブラリの双方を規程しており、1998年に規程されたものは通称C++98、2003年に改訂されたものは通称 C++03と呼ばれている。現在、JTC1/SC22/WG21 - The C++ Standards Committeeにおいて次期C++仕様"C++0x"の策定が進められている。私が初めてC++に出会ったのも12年前ですね。VC++4.0買ったときだったと思います。あれから時々C++の案件に関わることはあってもメインで使っている言語ではないんですね。残念ながら。C++はゲーム開発のための手段として今後仕事でも使うチャンスが来るかもしれませんが、今度のC++0xはどのような仕様になるのでしょう。その前にC++0xって何て読むんだろう?
C++ 12年ぶりに次世代スタンダードへ - "C++0x" 策定進み草案公開へ | エンタープライズ | マイコミジャーナル
http://journal.mycom.co.jp/news/2008/11/12/003/index.html
C言語~ゲームプログラミングの館~
http://dixq.net/g/
しかし今ではVC++も無料版があるのでこの10年間で経済的には随分と敷居が低くなったと思います。今時はMFC使えなくても.net使えば良いしね。
久々のC言語ネタです。GoogleよりBSDLでテストフレームワークが公開されました。
Google Test、Google C++テストフレームワーク登場 エンタープライズ マイコミジャーナル
http://journal.mycom.co.jp/news/2008/07/07/030/
、今はC言語での開発をやってないのでテストツールをまともに使う機会を見つけるのが大変ですが、なんとか時間見つけて試用して見たいと思います。正常にビルドできるのはLinuxと言うことですがBSDでも大丈夫ですよね?
これは凄い。負荷問題や通信内容の節約ノウハウなんて複数端末による接続テストを繰り返さないとなかなか分かって来ない部分もありますからね。これからオンラインゲームを作ってみようという方はぜひ参考にしてください。
ロブロブラボ - ROBROB LAB MMOの作り方
http://rob2.jp/mmodev/
C言語のトラブルと言えばメモリ管理周りにプログラマーにとって想定外の操作が発生した場合に暴走したりSegmentation fault で強制終了したり、最悪なケースではそれが脆弱性となりクラックされることですが産総研よりFail-SafeなC言語コンパイラが公開されたとの事。このコンパイラを用いて既存のサービスをコンパイルすることで実行時メモリへの不正アクセスを防止できるらしい凄い夢のような技術です。因みに記事を見る限りではC++は対応していないっぽいですが、メモリ管理で手間の多いC言語だけでも十分有効だと思います。
産総研 RCIS Fail-Safe C 安全なC言語コンパイラ
https://www.rcis.aist.go.jp/project/FailSafeC-ja.html
Open Tech Press 産総研、メモリ安全性を確保したC言語コンパイラを開発
http://opentechpress.jp/developer/08/04/14/2235212.shtml
UNIXのネットワークプログラミングやオンラインゲーム開発等ではSocketとセットで使うスレッドですが、スレッドだけを取り上げたコーディング特集は初めて見ました。多分(いろんな意味で)ハマると思います。
pthreadについて(シグナル・バリア等):CodeZine
http://codezine.jp/a/article/aid/1973.aspx
対応OS以外の違いがあまりわからないままなのですが(^^;
もう2008が来たんですねー。Express Editionはダウンロード開始していましたし、パッケージも来月には登場するようです。
そこで長いこと使っていないVSなのですが、Windowsも64bit版やVISTAの存在が無視できないわけでそれを考慮すると出来る限り.NET Frameworkを利用した開発に切り替えたほうが良いと思いました。64bitバージョンや対応OS別にコンパイルしたパッケージ用意したり、ランタイムパッケージ配布するのが大変かな、それに動作検証負担も増えるし。そういうことで今後はMFCは使われなくなりそうな予感。元々Express EditionにはMFCついてないしね。簡単なツール類は.NETに移植して64bitとVISTA暫定対応にしようと思う。プラットホームに互換性が無いものが並行しているときはやっぱり中間言語やスクリプトで動作するプログラムの方が開発コスト下がりますね。しかしC++でも.NETはGCあるから旧式なmallocゴリゴリは危険すぎかもwww
あとゲーム開発に関しては.NET FrameworkがWinAPIにどこまで近づけるかってところかな。さすがゲームメーカーは次々VISTA対応しているから根性なのか、リコンパイルでいけるのかよくわからないw
Visual Studio ホームページ
http://www.microsoft.com/japan/msdn/vstudio/
開発ツール対応 OS 一覧
http://www.microsoft.com/japan/msdn/vstudio/support/tools.aspx
定期的に更新されているARToolKitのデモですが、とうとうライブっぽいのまで出来ているようです。ARToolKitで投影するモデル自体を動かすのって激しく面倒そうですね。動作まで3Dツールで全て定義してその結果だけARに渡すことができれば楽できそうだけど。。。
ARにはマーカー不要のものもあるみたいです。ただマウス操作などで出現エリアの指定が必要のようですが。
『攻殻機動隊』『電脳メガネ』どころではない拡張現実感技術の現在 王様の箱庭
http://www.masayashi.com/2008/01/20/556
これもBSD陣営の脱GPLの一環なのかな。動作速度が速いを書かれていますが、コンパイル自体が速いようですね。PCCでコンパイルしたプログラムが速いかどうかは書かれていない。
【レポート】なぜいまPCC - 高速さとクオリティの高いコード出力が魅力 エンタープライズ マイコミジャーナル
http://journal.mycom.co.jp/articles/2007/10/16/pcc/
一度gccとtendraとpccでコンパイル比較、生成バイナリ比較、パフォーマンス比較を行うと面白いかも。ただテストコードが思い浮かばない…。
最近ですがTenDRAというBSDライセンスのC言語コンパイラを知りました、今となっては何でもコンパイラになっているgccや有償のIntelコンパイラの代わりに使うことが出来るかもしれません。まだ試していないので品質的なことはこれからですが、出来具合によっては将来FreeBSDで標準採用されるかもしれませんね。
今週はゲーム開発関連書籍を三冊追加。プログラミングは相変わらず時間が取れなくて全く組めていない。時間と余剰金の合計の絶対量が少ないと苦労するなぁ…。個人プロジェクトはゲーム開発がメインなので新規で仕事の依頼が来てもお断り中(^^;
メールマガジン御購読ありがとうございました。そしてお疲れさまでした。今年のGWシリーズのサンプルソースを配布します。
コンフィグファイルの読み込み(C++とSTL利用)
ソース一式(ZIP形式)
これにコンフィグ新規作成・書き込み用クラスなんて作るととりあえずまともかな。カレントディレクトリの認識は特にやってないのでそこが甘いかもしれません。実際に使用するときはその辺の応用も考慮して修正してくださいです。