
書いてる人:
|
|
|
たまたまわたしのリポジトリが紹介されていたのでEA STLの話でもします。
まず、EA STLですが、C++0xを少し使ってみてから、使わなくなったんですが、C++03ではとてもいいライブラリです。C++0xで標準ライブラリに加入するスマートポインタやハッシュマップなどのライブラリも使えます。 ただ、わたしはC++0xとBoostを本格的に併用するようになってから、使うのをやめました。 大きな理由はC++0xへの対応が不十分だからで、その内 ・C++0xの機能がサポートされているコンパイラでchar16_tとchar32_tがEA STLのヘッダでtypedefされるのを防ぐために、EA_COMPILER_IS_CPLUSPLUS_0Xを足す必要がある。 ・C++0xで新たに入った機能、特にmove、が使えない。 ・C++0xのどの機能が使えるのか判定する有効な方法がほとんど無い。(五柱神の内の創造神のFAQにある方法は使えませんし、わたしの知る限り最後に残っている希望はBoost.Configくらいです) が強いです。 それから、Boostが使える場合、C++0xのライブラリはほとんど使えますし、更に強力なものまで使えます。 それと、諸事情によりC++0xは封じていますが、来るべき時のためにEA STLは封じたままです。(ぼーよみ そういえば、この記事を書くためにリポジトリにちょっとした修正をコミットしてみました。 EA STLのサンプルをテストに追加してあります。 stringのsprintfを使う場合、Vsnprintf8が必要みたいです。 |
|
gccでenum classを使っていたらコンパイラさんがエラーを吐いてお亡くなりになるので、送ってみました。
なんていうか、なんであるの?くらい不思議なエラーです。 gccなんてC++0xを使うなら第一候補なコンパイラなんですが、意外でした。 enum classで戻り値の型を間違えた場合は正常に動作しないってこわいです。 それと、なんか投稿してしばらくした後、ベテラン(?)の人が問題のコードを短くしてくれました。 ちょっと安堵します。 こうゆうのを送る時は大体こわいです。 心配性なだけなんですが、見つけた責任とか考えちゃうチキンなので、頭の中でぐるぐる考えてしまいます。 そういえば、とあるコトがやっと起きたのでC++0xを解禁しました。 ~/.zshrcで$CXXに"-std=c++0x"が足されています。 unique_ptr便利です。 moveさんとrvalueさん速そうです。 C++0xに対応してないライブラリに苦戦します。 enum classを使ったら手間が増えた気がします。 晴れてC++0x充ですよ! 後日談。 4.6.1で直ってるみたいです。 あと、gtestがうまく動かないので、結局C++03に舞い戻ってます。 まあ、世の中そんなもんですよねー。(´・ω・`) |
|
気がついたら、texttやらChatWorkやらTumblrやらTwitterが楽しいのでここをほったらかしにしてました。
ブログは自由形式なので、ある程度、投稿する形式が決まってるサービスがあるとそっちの方が楽みたいです。 なので、こっちは他で投稿する形式があわなかったら更新すると思います。 そんなこと滅多になさそうですけどね。 そういえば、最近psplibrariesでライブラリをいくつか移植してます。 生Makefileか./configureを使ってるのが限界なんですが、こうゆうライブラリを移植して欲しいというのがあったら、ここに反映するかも知れません。 一応、こっちの人もわたしのリポジトリを見ていて、反映してくれることがあるみたいなので、物好きな人はこっちをフォークするのもオススメかもです。 |
|
そういえば、東日本大震災/関東・東北大震災の発生直後はヤシマ作戦をしていたので、iPodに入れてあったTVアニメの方のエヴァを観ていました。
父親がとってもハマっていてたまたま家にDVDがあったので、なんとなくリッピングしといたのが役に立った次第です。 劇場版はたぶんボックスを買うのでありません。 フラクタルおもしろかったです。 それくらいしか語る言葉を持ちません。 でも、面白さとか革新性とかは、エヴァの方が圧倒的でした。 その後、頭の中がそれなりにパニクっていたので、これからの電気をどうするかも妄想しました。 とりあえず、使徒を全部倒すまで初号機は容認しますけど、全部倒したらさっさと宇宙の彼方へグッバイ派として、原発はまだ必要という結論に達します。 今まで供給されている電力をいきなり断つこともできませんし、代替手段もないので原発も同じく容認です。 クリーンエネルギーとか核融合とか、結局、今すぐできるわけじゃないっていうのは、今までと変わったわけではないんですが、絶望でした。 QBが今さら魔法少女は魔女になります、って言ってくる絶望に似ています。 研究が進んだ結果むずかしいってコトがわかった、のは素晴らしいですね。 それから、原発反対派が今回のバーサークの引き金に指をかけたっていうのは、今年いちばんの皮肉でした。 最新の原発だとこんなことが起こらなくて、あの原発がもうとっくに寿命を迎えるべき存在だったことを知っても、「後悔なんてあるわけない」って仰るんでしょうね。 わたしは、そこに原発がある以上、共生したいですし、電気も使いたいです。 「魔法少女 まどか☆マギカ」今回はほむほむ回だったので、ニコニコ動画で配信されてよかったです。 配信開始の数分後に観始めたのでよかったんですが、それから後はロードに時間がかかりました。 マミさんのテーマもかっこよかったです。 アンコはいい人なのに死にました。 アニメはどこまでいけば社会現象なのかって議論を観たんですが、自分ではよくわかりませんでした。 でも、友人にその話をしてQBの正体による検索ワードのランキングがどう変化したか話たらそれはもう社会現象だと認めてました。 インターネットに繋がる人が実際は限定的なのかもしれないっていう議論はあると想うんですが、巨人を少しでも動かせたならそれが証明になると想います。 |
|
最近、Mac OS Xのパッケージマネージャを変えました。
MacPortsを使っていたんですが、今はHomebrewです。 一応、Homebrew自体はずっと知っていたんですが、イマイチ踏ん切りが付かず、入れ直さないといけないくらいになって、やっとやった感じです。 ついかっとなって、やったわけではありません。 安定していて、操作感もMacPortsに似ていていいです。 boostの更新も速くて嬉しくなります。 ただ、MacPortsの方がApple社がやってるだけあって充実しています。 とあるRTSゲームエンジンはそっちじゃないと入れられないようです。 一応、githubのを監視しているんですが、パッケージの情報はRubyで書いてありました。 まだ、よくわかってないんですが、それをformulaっていうらしいです。 更新にはgitを使ってるみたいで、githubすげーなって想いました。 漠然としていますけど……。 そういえば、MacPortsは"/opt/local"インストールされるんですが、Homebrewは"/usr/local"で互換性の面ですごいいいです。 これで、psptoolchainを入れられます。 それと、wineのバージョンが古くてちょっとがっかりでした。 オープンソースなので、自分でやればいい話ですけどね。 おやすみなさい。 |
|
面白そうなパッチがあったので試しに、それを適応してpsptoolchainをビルドしてみました。
成果は一応、githubに上げてあります。 原因とかは特に探っていないんですが、わたしの環境ではgdbとかpspshのビルドに失敗します。 あと、psplibrariesのビルドを試したところ、freetypeで見事にコケました。 それから、わたしはPSPを持ってないのでこれといった意味がないです。 PSPのクロスコンパイル環境が手に入るくらいしかいいことは思いつきません。 まあ、誰か使ってくれれば幸いです。 一応、svnの代わりにgithubのtarballを使っているので少しは速いかもしれません。 わたしの環境ですが一応、Mac OS Xでビルドしました。 homebrewは/opt/localではなく、/usr/localにインストールしてくれるので、やりやすかったです。 ただ、elf.hがなかったので、そこら辺にころがってたものを/usr/local/includeにコピーしてなんとかなりました。 それから、/usr/bin/libtoolがアレだったので、GNUのを./configure && make && sudo make installでインストールしました。 なんていうか、Mac OS Xって微妙に面倒です。 おやすみなさい。 |
早速、iPodに入れて聞いてます。 今まで聴かなかったような音楽なので新鮮です。 空の境界は、原作しか読んでないんですけど、けっこうすきでした。 今日は、EasyRPGにちょっとだけコミットしました。 素材のキャッシュを少し書き換えたり、new/delete[]をstd::vectorにしたり。 そういえば、Boost.Iostreamsがマイプチブームです。 これを使うとstringstreamとかよりも柔軟なコトができる気がします。 配列のsourceはそのウチ使うつもりです。 Iostreamsは一度、zlibで圧縮されたものを解凍するのに使ったんですが、どうゆうものかホントにわかっていませんした。 それから、ドキュメントでConceptを説明した部分を読むと、ぶわってなります。 ConceptさんがC++1xで復活することを祈っています。 おやすみなさい。 |
||
|
なんていうか、ちょっと書いていなかったです。
書かなかった理由とかはとくにないです。 EasyRPGのコミッタやってます。 最近、最年少Rubyコミッタが誕生したらしいです。格が違いますねー。 今のところ、わたしはEasyRPGをMac OS Xで開発して試しに動かしてます。 CTest+Google Testとか導入した方が楽なんじゃないかと思ってます。 テストの書き方なんて、よくわかりませんけど。 プリプロセッサとテンプレート特殊化をしてコードを書いたら「わけがわからないよ(笑)」(脚色)って言われました。 そうゆうコードは、ダメ、ゼッタイみたいです。 「反省なんてあるわけない」ってのたまっておきながら後悔しました。 またつまらぬコードを書いてしまったのが主な理由です。 「C++ -> 何か別の形式」のコードを書くのがだるかったので、Boost.Serializationを使ったコードを書いたら、「(出力されるxmlとわたしの書いたコードが)わけがわからないよ(笑)」(脚色)ってなりました。 最近は、よくあることです。 なので、ブランチに留まっています。 IRCの流れを見る限り、開発者の方々はパーサを使って綺麗なxmlを出力させたいみたいです。 わたしはラクをしたかっただけなので、我関せずしてます。だぁって、めんどくさいから♪ ただ、こっちはそれなりに新しいことをしました。 Boostで例外をオフにするときのこととか、SerializationでRTTIを使わない方法とかです。 ゲーム開発だとこの二つは大体、使えない(使わない)らしいです。 例外の方はリンク先に書いてあると想います。 ビルド時のリンクエラーで大体わかって、そうゆう説明を観て、ちゃんとわかった感じです。 Serializationの方はSerializationのテストを参考にしました。 言葉で説明するのは無理です。メタプログラミングはまだほとんどわかりません。 それと、dynamic_castしてほしくないので、static_castにプリプロセッサで置き換えたりしました。 一応、動いたので問題ないと想いたいです。 今は、OpenAL+FFmpegしてるところをMIDI対応するのをやってます。 TimidityとFluid Synthどっちがいいのかよくわからなかったので両方やろうとしてます。 ただ、骨の折れそうな感じです。 RPGツクールの拡張を再現する場合、Fluid Synthの方が有利らしいですけどイマイチよくわかりません。 音のプログラミングは、そんなに経験も知識もないのですが、それ以前にこのAPIどうなっているんですか?、状態です。 初めはみんなそのくらい、って思っておきます。 おやすみなさい。 |
|
昨日(時間的に今日)、EasyRPGの引数処理に不満だとIRCでいってみたら、確かにそうだね、みたいな反応があったので少しがんばってみました。
結果はこれです。 なにをしたかというと、main関数で与えられた引数を全部小文字にしてstd::setにつっこんでます。 そして、find()であるかないかを検索してフラグに格納してます。 こうすることで、順番に関係無くとcase insensitive(大文字小文字関係無く、って意味らしいです)に引数を検出できます。 順番は、わたしが欲しいなと思ってた機能で、case insensitiveは反応してくれた人が欲しいなって言ってました。 あと、これとこれとこれが間に入ってます。 algorithmのどれを使えばいいのか最初はなかなか判断できなかったです。 それと、その結果のコードをみて欠陥をさっきみつけたので直さないといけないです。 BattleTestの比較がまずいです。 おやすみなさい。 |
|
今日は、けっこういい加減に設定したVNCが使えました。
いちばん酷い間違いは、GUIアプリケーションを起動しなかったことでした。 ずっと、CUIでEnd Of Stream言われてたんですが、GUIにしたら普通に使えました。 ただ、とても遅いです。 今日、ニュースでみたプラスチックの光ファイバーがいますぐ欲しくなります。 それか、それくらい速い無線がほしいです。 画面の大きさとかJPEG圧縮とか色数を落とすとか色々しましたが、やっぱりラグが残ります。 そして、OpenGLのコマンドだけ送ってくださいって妄想したんですが、VirtualGLっていうのが既にありました。 ただ、パッケージとかが提供されていないあたり、まだまだなようです。 真保裕一の「震源」面白かったです。 続編が読みたくなったんですが、たぶん、書かれることはないんでしょうね。 門倉司郎さんは、あそこから始まった方なので勝手に期待してました。 おやすみなさい。 |
|
久しぶりにOpenALを触ってみました。
ffmpegもついでにやったらとても、気持ち悪くなりました。 ffmpegはここで、結果はこれです。 C++使ってみて思ったのは、C言語は開放処理がめんどくさいことです。 あと、エラー処理も大変です。 擬似コードの世界は素晴らしいですね。 そういえば、なぜかEasyRPGを動かせる環境がありません。 なので、動くのかどうかわかってないです。 gdbで起動しますと画面がブラックアウトします。 どうしたものか、です。 起動するだけで、大体のエラーは直せるんですけどね。 やっぱり、コンパイルエラーだけのチェックでは不安です。
書いてる人はそれなりに技術のことをよくしってるみたいです。 なので、それなりに詳しい側にいるものとしては楽しめます。 ただ、十年以上前に書かれたものなので、わたしの知識ではよくわからないことも多いです。 地震とか火山とかも、教科書かそれ以下くらいにしか知りません。 でも、そのおかげで話の流れをほとんど予想できないのでいいと思ってます。 おやすみなさい。 |
||
過激な感じが苦手です。 あと、今だったら北朝鮮とかをもっと掘り下げるんでしょうね。 父親がこれを書いた人がすきらしいですけど、たぶん、わたしが尊敬するジャーナリスト像とは違って、苦手です。 そういえば、わたしは熱いものを飲むのが苦手みたいです。 今日は、舌をひどく火傷しました。ヒリヒリします。 おやすみなさい。 |
||
民俗学には詳しくないので、やっぱり難しいです。 比べる対象も無いので、いってることもほとんどわからなかったり……。 あと、本を読む時間って案外少ないですね。 わたしが借りすぎたのもいけないんですが、本っていつ読むんでしょうね。 暇を見つけたら読むようにしているんですが、休憩とかそうゆう時間によむわけにもいかずうまくいきません。 それと、集中的に読んだほうが効率がいいかなーって迷信したり……。 最近、EasyRPGのIRCに顔を出してます。 IRC自体はけっこう前から知ってたんですが、ちゃんとやるのは初めてです。 開発情報が流れてたり楽しいです。 たまに、一人だけになったりして、そうゆうときはちょっと寂しくなります。 それと、botがいたり、なんていうか、Twitterみたいです。 時代とかそうゆうのでは逆なんですけど、遡るとそうゆうふうになっちゃいます。 おやすみなさい。 |
||
「働く」っていうのは資本家が押し付けたことかもしれないんですが、人間にはけっこう大事みたいです。 お金を支給しちゃうと、働くっていうコトを否定する感じがしてこわいです。 あと、お金の余裕よりもココロの余裕の方が欲しい人が多いんじゃないかと思ったり……。 でも、わたしくらいが心配することなんてやってみないとわからないんですよねー。 おやすみなさい。 |
||
|
|