Code Archive Skip to content Google About Google Privacy Terms
CMakeの開発版ブランチ(next)と、Ninjaの対応ブランチ( https://github.com/syntheticpp/ninja/tree/ninja-for-cmake )でCMake + MSVCとMinGWのくみあわせが使えるようになった。このまま順調に行けば、CMake 2.8.9からすぐにWindows上でもNinjaが使えるようになるかもしれない。ちなみに、POSIX上でのNinjaはCMake 2.8.8以降で使用することができる。 Ninjaは非常に軽量なビルドツールで、makeのようなほかのビルドツールと違って、他のプログラムからビルドルールを出力することを想定している。Chromiumのために開発されたのでgypが唯一の生成元だったが、CMake 2.8.8からCMakeプロジェクトをNinjaでビルドできるようになっていた。 従来、CMakeプロジェクト
Go言語でGUIしたいかー?! おー!! とまあ、そんなノリで始まります。 Go言語でGUIするには? Go言語でGUIするライブラリは意外と色々あります。 go-ui 「Go言語 GUI」でググった時に、おそらく一番情報の多いライブラリ。ただ情報はあるけど大して気合の入ったライブラリではない模様。 go-uiなんて大層な名前をしてるけど、その実態はQtバインディングだったりする。 開発はもう終わったみたいで、 GoQt というのが後継らしいけど、 GoQt の方はまだリポジトリを作っただけのような状態だった。 Windowsで導入するのがほぼ無理ゲー。(最重要事案) go-gtk mattn氏が開発の中心となっているGo言語のGtk+バインディング。多分Go言語のGUIライブラリで一番開発が活発。 Windowsでも動くらしいけれど、Win64な環境ではしったこっちゃないし、そもそもGt
Twitterで「Go言語で、いわゆるプラグインの動的ロードってできる?」という発言を見かけたので。 CGOが書けるのでなんでも出来ます。Linux であれば goffi を使えばほぼ何でも出来ます。 cookieo9/goffi - GitHub Go FFI (and dlopen) packages to wrap C libraries. This code is not being actively d... https://github.com/cookieo9/goffi Windows であれば CGO を使わずとも、もともと Windows API には LoadLibrary、GetProcAddress という物が用意されており、Go言語にもその wrapper が提供されています。 package main import ( "log" "syscall" "uns
ゲームフレームワーク的なものを作る。番外編1。 windowsプログラミングにおいて、HDCなどのハンドルの管理は非常に面倒ですよね? HWND hwnd = ...; HDC hdc = GetDC( hwnd ); GDIを使った描画など; ReleaseDC( hwnd, hdc ); //使い終わったらReleaseするのが面倒! std::unique_ptrを使う。 デバイスコンテキストクラス的なものを作って、デストラクタでReleaseすれば良いわけですが、正直デストラクタも書きたくないのです。 参考:本物の C++er はデストラクタを書かない - 野良C++erの雑記帳 こちらをお手本にして、std::unique_ptrを使ってみましょう。 deleterでWindowDCを解放する。 /** * WindowDCを解放するためのdeleter */ struct dc
ホーム < ゲームつくろー! < OpenGL技術編 その1 ライブラリのインストールとOpenGLの初期化 では、OpenGLを使ってみます。…って、ど、どうするんだろう(^-^;。とりあえずWebを調べる事にします。 OpenGLの公式サイトはこちらです。ここの右側カラムにある「Getting started with OpenGL(OpenGLを始めてみよう)」が良さそうです。ここの「Downloading OpenGL(OpenGLのダウンロード)」の冒頭を読むと、「主要なデスクトッププラットフォーム(Linux、MacOS XそしてWindows)にはシステムにすでにOpenGLがあります。でもグラフィックスドライバは最新にしてね。」とあります。ういっす(-_-)/ そのちょっと下「Writing an OpenGL Application(OpenGLアプリケーションを書く)」
canything: CUIでAnything コマンドラインからEmacs Anythingを使えるプログラムです。 zshの補完でも十分だが、Anythingのインターフェースの方がある場合にはすぐれているので作った。 パイプ専用なので汎用的に使えると思います。 http://filmlang.org/soft/canything そう言えば昨日、canything を windows でも動かせるようにパッチ書いて pull-req 送って取り込まれた。 keiji0/canything - GitHub https://github.com/keiji0/canything ls | canything | xargs cat こんな風にパイプで囲まれた時に pdcurses が初期化出来ないっていうエラーに悩まされたけど、CreateConsoleScreenBuffer で新し
絶対パスの先頭に/が来る事を期待してはいけない しかしながら絶対パスの先頭にドライブレターが来る事を期待してはいけない UNCパスのホスト名やシェア名はディレクトリではないのでファイルシステムAPIは使えない事を意識しておく unixに比べパス内に空白文字が入る可能性が高い事を意識しておく ホームディレクトリを意味するパスの先頭チルダは自前で展開する必要があり、またパスの途中にチルダが混じる事は日常的にある ソケットディスクリプタに対してもread/writeで送受信できる事を期待してはいけない パイプでない標準入力のselectはやっても意味がない ディレクトリ内にあるファイルを開き、ハンドルを保持したままディレクトリを消せるのは当たり前だと思わない パスのセパレータが/¥である事を期待してANSI APIを使ってはいけない Cランタイム(POSIX互換API)とWindows APIを
◆不定期連載「『なるほどUnixプロセス』で学ぶWindows版Rubyの基礎」〜はじめに _ 達人出版会さんから刊行されている話題の書『なるほどUnixプロセス ― Rubyで学ぶUnixの基礎』を紐解きながら、Windows版RubyがどーやってUnix版Rubyとスクリプトレベルの互換性を維持していたりいなかったりするのか、ということを解説してみようと思い立ってしまったのでありました。 ◆不定期連載「『なるほどUnixプロセス』で学ぶWindows版Rubyの基礎」〜第3章 プロセスにはIDがある、Windowsであろうとも _ 当たり前だが、Windows上でも puts Process.pid とすればpidが確認できる(ところでなんでputsなの?)。 Windowsにはpsコマンドはないがtasklistコマンドがあって、それで現在実行中のプロセスのpidが確認できるので、比
cmd.exe の引数の扱いがあまりにもカオスだったのでちょっと頑張って調べてみた。 本来ならここは公式の資料に当たるのが正しいアプローチだと思うけど、どうしても公式の資料が見つからなかったので、色々試して推測してみることに。 断片的な資料は見付けたけど、完全じゃない。一応URL貼っておく。Windows Server 2003 のヘルプだけど、恐らくそんなに変わらないと思う。 コマンド シェルの概要 コマンド リダイレクト演算子を使用する なので、以下で述べる内容は間違いを含む可能性があります。というか正確さは一切保証されないのであしからず。 検証方法 以下のような引数をただ表示するだけの簡単な C のプログラムを用意した。仮に args.exe とでもしておく。 #include <stdio.h> int main(int argc, char const* argv[]) { in
asynchronous disk I/O | libtorrent blog Libtorrent experience - the poor state of async disk IO | Hacker News libtorrentの作者が、ディスクI/Oをパフォーマンスを向上させるために非同期I/Oを試した結果、どの環境でも残念なので、ブロックI/Oをスレッドプールで行う擬似非同期I/Oで実装したとブログを書いている。その問題について、Hacker Newsでも議論されている。 非同期I/Oは、話を聞くとたのもしい機能に思える。読み書きが完了するまでブロックせずに、完了したらOSが通知するという仕組みだ。 問題は、その実装がどの環境でも貧弱だという事だ。 環境というのは、主にOS側のことだ。多くのモダンなOSは非同期I/Oを提供している。特に著名なのがみっつある。 Linux A
このサイトについて このサイトでは、Proxomitron というソフトウェアについて日本語での情報を提供しています。 Proxomitron は、Windows 上でローカルプロクシとして動作し、HTTP サーバからの情報を書き換えてからブラウザに渡すことで、ウェブサイトをさまざまにカスタマイズすることができるソフトウェアです。詳しくは 日本語訳説明書 をご覧ください。 作者である Scott R. Lemmon 氏が亡くなったため、現在公式サイトは存在しません。英語での情報は Proxomitron.info または メーリングリスト などでやりとりされています。 Windows 7 での動作状況 Windows 7 (32bit、64bit とも)において、Proxomitron が動作することを確認しました。 更新情報 (2013/09/07) Proxomitron はもしかする
Metro では,AppContainer という特殊な環境でアプリケーションが実行されます.IME DLL は *1,対象の Metro スタイルアプリケーションプロセスに読み込まれ,AppContainer の管理下で動作することが求められます. 実際,Microsoft は Windows 8 Release Preview の公開に合わせ,Guidelines and checklist for IME development (Metro style apps) というガイドラインの提供を開始しました*2.同ドキュメントには,AppContainer 内で IME の機能を実装する上で,次のようなケースに注意せよとあります. 辞書ファイルの置き場所 インターネットを利用したアップデート 学習機能 プロセス間での(設定や学習)情報の共有 同ドキュメントには,IME の学習機能や,プ
Windows を UNIX っぽく使おうとすると、必ずお目にかかるであろうこのメッセージ。 UNIX に慣れている人は、コマンドプロンプトを使いたがる。しかし全ての場合においてコンソールアプリケーションは有能では無いし、異常に長い引数は省略したい。Java VM で動く言語のクラスパス等はスクリプトに書きたいし、オフィシャルから Windows ユーザ向けに用意される物はだいたいバッチファイルだ。しかしながら Cygwin は標準提供物ではないし、嫌いだ。いや、大嫌いだ。 そこで私達は一般的に、バッチファイルという一見便利そげで実は非情なまでに我々に独特の仕様を強要するDSLを頻繁に使う事になる。 例えば Java VM 上で動く clojure を Windows 上で repl として使う場合、僕は以下の様なバッチファイルを「clj.bat」というファイル名にして使っている。 @ec
Boot Camp からWindows を呼び出してFusionで起動している時、アクティベーションを繰り返さない様にする 【症状】 Boot Campにインストールして認証済みのWindows をVMware Fusionから呼び出して仮想マシンとして実行する時、繰り返しアクティベーションを要求される事があります。 【原因】 Boot Camp 上の Windows を VMware Fusion で呼び出した際に、Windows OS の認証済みに関する情報が正しく処理されない為発生します。 これは、Mac を再起動して Boot Camp で Windows を実行しているときは Mac のハードウェアを直接使用しているのに対し、VMware Fusion では仮想マシンと呼ばれる バーチャルな Windows PC 機環境に切り替わるため、Windows OS から見てハードウェア
Hello Worldすら表示しない空のウィンドウを表示するプログラムです。C++で素のWindows APIを直接使用しています。 こういうのが欲しくなったとき、どこかから探してきて自分のスタイルに書き換えるという作業を毎回行っているので、次こそはそんな不毛な作業をしなくて済むように、というわけでここに置きます。 #define WINVER 0x0400 #define _WIN32_WINNT 0 #define _WIN32_WINDOWS 0 #define _WIN32_IE 0 #define OEMRESOURCE #include <windows.h> #include <windowsx.h> #include <tchar.h> void OnDestroy(HWND) { PostQuitMessage(0); } LRESULT CALLBACK WndProc
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く