Windowsのgvim用にRictyを作るのが面倒だったので

vim

http://www.levien.com/type/myfonts/inconsolata.htmlからInconsolata http://mix-mplus-ipa.sourceforge.jp/からMigu 1M をダウンロードしてインストールする。 .gvimrcに set guifont=Inconsolata:h12 set guifontwide=Migu_1M:h12 と書き込む。 あとはgd…

Boostで抽象構文木を作ってllvm言語に変換してみた

Boost.Variant、Boost.Spirit.Qi、Boost.Spirit.Phoenixを使って簡単な中置記法の計算するための抽象構文木(AST)を作って、そのASTをllvm言語に変換するというのを作ってみました。コード書き殴り。 BoostでASTが割とすっきりと書け、そこからllvm言語に変…

X11 extensionsのXRandRでディスプレイの名前と使用できる解像度とリフレッシュレートを取得してみる

man見たりしたけど、XRRScreenResourcesとかが見当たらなかったのでX11/extension/Xrandr.hの転載をのせつつメモ。 XRandRのバージョンが1.2以上なら使えるはずです。 準備 以下のヘッダをインクルードします。 #include <X11/extension/Xrandr.h> まずXRRGetScreenResourcesを使って</x11/extension/xrandr.h>…

BOOST_USE_WINDOWS_H

windows.hとBoost.Chronoを同時に使うとboost/detail/winのファイルで次のような警告が出ることがあります。(以下の警告はgccのものです。) warning: declaration of 'void boost::detail::win32::GetSystemTimeAsFileTime(boost::detail::win32::FILETIME…

DirectInputのSetCooperativeLevelにNULLポインタ

IDirectInputDevice8::SetCooperativeLevelについて。(日本語)http://msdn.microsoft.com/ja-jp/library/bb205980(v=vs.85).aspx (英語)http://msdn.microsoft.com/en-us/library/microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.setcoo…

OpenGLのVSync待ち

OpenGLでVSyncを待つようにをするには、wgl(Windows)ではwglSwapIntervalEXT関数、glX(X11)ではglXSwapIntervalEXT関数またはglXSwapIntervalSGI関数を使います。しかし、これらは拡張関数なので対応しているかどうかを調べたほうが良いでしょう。 拡張…

いまさらVariadic Templatesをまとめてみる

C++

この記事はC++ Advent Calendar 2012の13日目です。 Variadic Templatesとは C++11ではテンプレートで"."を3つ付けることが出来るようになりました、 こんな感じで。 template <class... Ts> これで何が出来るのかというと、0個以上の任意のテンプレート引数を受け取れる</class...>…

移行してみた

#include <iostream> int main() { std::cout << "Hello, hatena." << std::endl; }</iostream>