サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
猫
kryozahiro.hateblo.jp
最近Qtを使い始めたのですが、QtにはQtWebKitというWebKitベースのブラウザエンジンが付いています。 せっかくなので遊んでみよう、と思ったらあまりに簡単で驚いたので紹介です。 #include <QApplication> #include <QtWebKit> int main(int argc, char* argv[]) { QApplication app(argc, argv); QWebView view; view.load(QUrl("http://www.google.com/")); view.show(); return app.exec(); } 実行結果 動作は結構もっさりしています。Google Mapなどは普通に見れますが、httpsでの通信や動画の再生などはこれだけでは出来ないようです。
ゲーム製作者コミュニティ in 札幌の春のシューティング祭りプロジェクトで一ヶ月ほどかけて簡単なシューティングを作りました。 Windowsバイナリは紹介ページ、ソースはHackageから落とせます。ビルドにはSDLが必要です。また、絵と音楽はそれぞれコミュニティのぐぐぐさん、RE-Ya!@D.J.無理王さんに頼みました。 感想 まず、全体的にバグはほとんど出ませんでした。唯一ハマったのはIntのオーバーフローぐらいで、それもSDLとのやり取りのためにIntを使っているので仕方ないかな、という感じです。 IOもそれほど障害にはなりませんでした。面倒なのは事実ですが、do記法を使えば簡単に処理できるのですぐに慣れることが出来ました。ただ、始めは非IO関数として定義しようと思っていたものを、乱数を使いたいとかいう雑多な理由で後からしぶしぶIOにするというケースは結構ありました。 一番困ったのは
CabalでHackageにパッケージを上げたのでやり方をまとめておきます。 0.Hackageのアカウントを用意する Hackageはダウンロードなら誰にでも出来るようになっていますが、アップロードするにはアカウントが必要になります。説明を読んで、ross@soi.city.ac.ukに(英語で)ユーザ名と初期パスワードをもらいましょう。 1.cabalファイルとSetup.hsの生成 次に、cabalコマンドを使って必要なファイルを.tar.gz形式のパッケージにまとめます。まずはアップロードしたいプロジェクトのディレクトリ内で $ cabal init をすると、パッケージ名や作者名を対話的に設定してくれます。この設定ファイルはプロジェクト名.cabalという名前で保存されますが、同時にSetup.hsというHaskellコードも生成されます。これはプロジェクトをビルドするために使う
昨日の続き。 gccのプリコンパイル済みヘッダ(PCH)がかなり速いことに気づいたけど、日本語の資料が少ないので本家のマニュアルを読んだ。結構複雑だったから下にメモしておく。 作り方 foo.hのプリコンパイル済みヘッダを作る場合、普通にコンパイルするように $ gcc foo.h とするとfoo.h.gchができる。完成。ヘッダを認識しない場合は-xオプションで指定すると良いみたい。 使い方 PCHを使いたいコードからfoo.hをインクルードするとき、条件が満たされた場合、自動的にPCHが使用される。条件は以下の通り。 foo.h.gchがサーチされること gccは#include "foo.h"を発見すると、サーチパスのディレクトリごとにfoo.h.gchを探した後でfoo.hを探す。foo.h.gchとfoo.hは同じディレクトリに無くてもかまわない。また、"foo.h.gchディレ
Boostは便利だけど、ちょっと使っただけでビルド時間が一気に長くなってしまうので、何とかならないか調べてみた。 まず、最近のgccではプリコンパイル済みヘッダ(PCH)が使えるらしい。しかし、ヘッダをプリコンパイルしたときのオプションが本番のコンパイル時と違う場合、プリコンパイル済みヘッダは利用されない可能性が高いとのこと(http://d.hatena.ne.jp/rero/20080609/p1)。リリース時のみ使うか、VCで言うところのstdafx.hのようにプロジェクトごとのプリコンパイル済みヘッダを用意する、ということになりそう。 次に、以前から名前は知っていたccacheを見つけた。(本家、windows版) これはヘッダをプリプロセスした結果をキャッシュするツールで、使い方は単に $ ccache gcc foo.c とすれば二度目からコンパイルを高速化してくれる。 こっち
ポータブルで簡単な方法を探していたら、 http://ml.tietew.jp/cppll/cppll/article/4783 がよさそうだったけど、バグがあったのでいろいろ修正してみた。 #include <cstdlib> #include <string> //ワイド文字列からマルチバイト文字列 //ロケール依存 void narrow(const std::wstring &src, std::string &dest) { char *mbs = new char[src.length() * MB_CUR_MAX + 1]; wcstombs(mbs, src.c_str(), src.length() * MB_CUR_MAX + 1); dest = mbs; delete [] mbs; } //マルチバイト文字列からワイド文字列 //ロケール依存 void widen
このページを最初にブックマークしてみませんか?
『kryozahiro’s diary』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く