<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>いちばんやさしいゲームの作り方 &#187; Cygwin</title>
	<atom:link href="http://www.game-create.com/archives/tag/cygwin/feed" rel="self" type="application/rss+xml" />
	<link>http://www.game-create.com</link>
	<description>文系の人でも、数理学がわからない人でもゲームプログラミングをマスターできるブログ</description>
	<lastBuildDate>Tue, 08 Jun 2010 01:28:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>依存関係を制する熱きツール</title>
		<link>http://www.game-create.com/archives/1280</link>
		<comments>http://www.game-create.com/archives/1280#comments</comments>
		<pubDate>Mon, 02 Feb 2009 11:32:58 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[make]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1280</guid>
		<description><![CDATA[いえ、 make のことなんですけど、たとえばアイテムを自作できる RPG のアイテム素材を考えたとき、素材のパラメータを変更した際に及ぶ影響を make によって計算してみたのですが、同じ make でもプログラムによ [...]]]></description>
			<content:encoded><![CDATA[<p>いえ、 make のことなんですけど、たとえばアイテムを自作できる RPG のアイテム素材を考えたとき、素材のパラメータを変更した際に及ぶ影響を make によって計算してみたのですが、同じ make でもプログラムによって品質に差があることがわかりました。</p>
<p><span id="more-1280"></span></p>
<p>結論から言うと gmake が一番良くできている印象を受けました。実は錯覚で、エラーメッセージが簡潔で丁寧なだけかもしれませんが、もっとも安心感があります。 dmake や nmake では途中まで処理してわかるエラーでも gmake だと最初からわかります。</p>
<p>もし gmake を使いたい場合は Cygwin などを検討してみてください。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1280/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ファイルの更新日時を現在の時刻にする</title>
		<link>http://www.game-create.com/archives/1109</link>
		<comments>http://www.game-create.com/archives/1109#comments</comments>
		<pubDate>Mon, 22 Dec 2008 17:15:15 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[touch]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[コマンド]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1109</guid>
		<description><![CDATA[ファイルの更新日時を現在の時刻にするためには touch コマンドを使います。

touch コマンドに実在するファイルへのパスを渡すと、そのファイルの更新日時を現在の時刻に更新することができます。
# hoge.cpp [...]]]></description>
			<content:encoded><![CDATA[<p>ファイルの更新日時を現在の時刻にするためには touch コマンドを使います。</p>
<p><span id="more-1109"></span></p>
<p>touch コマンドに実在するファイルへのパスを渡すと、そのファイルの更新日時を現在の時刻に更新することができます。</p>
<div class="hl-surround" ><div class="hl-main"><pre># hoge.cpp の更新日時を現在の時刻にする
touch hoge.cpp</pre></div></div>
<p>これが何の役に立つのかというと、たとえば make を使っているときに、なんらかの不具合で依存関係の検証を省略されてしまった場合、強制的にファイルをビルド対象にすることができるようになります。</p>
<p>今までファイルを更新扱いにするために、一度ファイルを開いて編集して、元に戻して保存して、という手順を踏んでいた方はぜひともこのコマンドを検討ください。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1109/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>とんでもなく手軽にファイルを作る</title>
		<link>http://www.game-create.com/archives/1107</link>
		<comments>http://www.game-create.com/archives/1107#comments</comments>
		<pubDate>Sun, 21 Dec 2008 16:57:10 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[touch]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[コマンド]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1107</guid>
		<description><![CDATA[とんでもなく手軽にファイルを作るためには touch コマンドを使います。

touch コマンドにファイル名を渡すことで、その名前のファイルを作ることができます。
# index.html を作る
touch ind [...]]]></description>
			<content:encoded><![CDATA[<p>とんでもなく手軽にファイルを作るためには touch コマンドを使います。</p>
<p><span id="more-1107"></span></p>
<p>touch コマンドにファイル名を渡すことで、その名前のファイルを作ることができます。</p>
<div class="hl-surround" ><div class="hl-main"><pre># index.html を作る
touch index.html</pre></div></div>
<p>果たしてこれが何の役に立つのでしょうか？かなり不思議かと思います。しかし、これが役に立つときがあるのです。続報をお待ちください。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1107/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>grep の検索結果から不要な行を削除する</title>
		<link>http://www.game-create.com/archives/1103</link>
		<comments>http://www.game-create.com/archives/1103#comments</comments>
		<pubDate>Sat, 20 Dec 2008 16:44:45 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[コマンド]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1103</guid>
		<description><![CDATA[grep の検索結果から不要な行を削除するためには grep をさらに grep します。

grep はパターンにマッチするファイルすべてから指定したキーワードを検索する便利なコマンドですが、場合によっては検索結果が多 [...]]]></description>
			<content:encoded><![CDATA[<p>grep の検索結果から不要な行を削除するためには grep をさらに grep します。</p>
<p><span id="more-1103"></span></p>
<p>grep はパターンにマッチするファイルすべてから指定したキーワードを検索する便利なコマンドですが、場合によっては検索結果が多くなってしまい、不要な行のせいで目的の情報にたどり着きにくいことがあります。</p>
<p>たとえば、オープンソースのプログラムを解析するときなどに grep コマンドを実行すると、見たくもないテストケースなどもヒットしてしまうことがよくあります。こういう場合は grep に -v オプションを指定して、 grep の検索結果から不要な行を削除する方法が有効です。</p>
<div class="hl-surround" ><div class="hl-main"><pre># すべてのファイルから keyword という文字列を探します
# ただし、 tests を含む検索結果は除きます
grep -nir keyword *|grep -v tests</pre></div></div>
<p>grep -v は除外したいキーワードの数だけ足すことができますので、検索結果をどんどん絞り込むことができます。ぜひとも有効活用してください。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1103/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>自分の求めるパターンのファイルに対して grep を実行する</title>
		<link>http://www.game-create.com/archives/1100</link>
		<comments>http://www.game-create.com/archives/1100#comments</comments>
		<pubDate>Fri, 19 Dec 2008 15:58:48 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[コマンド]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1100</guid>
		<description><![CDATA[自分の求めるパターンのファイルに対して grep を実行するためには grep と find を組み合わせます。

たとえば、特定のディレクトリ以下にあるすべての *.html ファイルに対して grep による検索をか [...]]]></description>
			<content:encoded><![CDATA[<p>自分の求めるパターンのファイルに対して grep を実行するためには grep と find を組み合わせます。</p>
<p><span id="more-1100"></span></p>
<p>たとえば、特定のディレクトリ以下にあるすべての *.html ファイルに対して grep による検索をかけたいとして、次のようにコマンドを打ったとします。</p>
<div class="hl-surround" style="height:16.8px;"><div class="hl-main"><pre>grep -nir keyword *.html</pre></div></div>
<p>grep で再帰検索をするために -r オプションをつけている点に注目してください。一見、これで目的は達成できそうな気がするのですが、実は高い確率でうまくいきません。なぜ、うまくいかないのかというと、実は grep コマンドは再帰的に潜るディレクトリを *.html というパターンによって振り分けてしまうのです。</p>
<p>つまり、次のような結果になります。</p>
<div class="hl-surround" ><div class="hl-main"><pre>./image.gif                   # 検索されません、 *.html にマッチしません
./index.html                  # 検索されます
./sample.html                 # 検索されます
./samples.html/sample00.html  # 検索されます
./samples.html/sample01.html  # 検索されます
./samples.html/sample02.html  # 検索されます
./samples.html/sample03.html  # 検索されます
./files/file00.html           # 検索されません、 files が *.html にマッチしません
./files/file01.html           # 検索されません、 files が *.html にマッチしません
./files/file02.html           # 検索されません、 files が *.html にマッチしません
./files/file03.html           # 検索されません、 files が *.html にマッチしません</pre></div></div>
<p>わかりますでしょうか？つまり、 grep は入るディレクトリを判定する際にも *.html で考えてしまうのです。これは多くの場合、意図する結果ではないはずです。</p>
<p>では、単純に grep -nir keyword * とすれば問題はないのでしょうか？たしかにそれもひとつの答えです。ですが、もし、検索対象のファイル数が膨大な場合は処理時間がかかります。以前のエントリーでも述べましたが Windows の場合は検索が終わるまで処理が返りません。</p>
<p>こういった場合、実は find コマンドを併用することで解決することが多くあります。</p>
<p>find コマンドは特定のディレクトリ以下にあるファイルをすべてリストアップするコマンドですが、これを grep コマンドに連結するとすっきりと目的を達成することができるようになります。</p>
<div class="hl-surround" style="height:16.8px;"><div class="hl-main"><pre>grep -nir keyword `find ./ -name '*.html'`</pre></div></div>
<p>grep コマンドに本来パターンを指定する部分が `find ./ -name &#8216;*.html&#8217;` となっている点に注目してください。このようにバッククォートでコマンドを囲うと、その結果を外側のプログラムに渡すことができるのです。これが最近のエントリーで語っているコマンドの組み合わせなのです。</p>
<p>ただし、このバッククォートが使えるのは UNIX や Linux に採用されている bash などの高機能シェルでのみです。 Windows の場合は Cygwin をインストールすることで使うことができるようになります。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1100/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>指定したディレクトリ以下にあるパターンにマッチするファイルとディレクトリをリストアップする</title>
		<link>http://www.game-create.com/archives/1097</link>
		<comments>http://www.game-create.com/archives/1097#comments</comments>
		<pubDate>Thu, 18 Dec 2008 15:54:00 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[コマンド]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1097</guid>
		<description><![CDATA[指定したディレクトリ以下にあるパターンにマッチするファイルとディレクトリをリストアップするためには -name オプションを渡します。

何も指定しないで find コマンドを実行すると、すべてのファイルとディレクトリが [...]]]></description>
			<content:encoded><![CDATA[<p>指定したディレクトリ以下にあるパターンにマッチするファイルとディレクトリをリストアップするためには -name オプションを渡します。</p>
<p><span id="more-1097"></span></p>
<p>何も指定しないで find コマンドを実行すると、すべてのファイルとディレクトリが対象になりますが、 -name オプションを渡すことでパターンにマッチするファイルとディレクトリのみを結果とすることができるようになります。</p>
<div class="hl-surround" ><div class="hl-main"><pre># すべてのファイルとディレクトリを対象とする
find ./

# *.html ファイルのみを対象とする
find ./ -name '*.html'</pre></div></div>
<p>これはちょっと便利そうですが、まだ優位性は見えませんよね。 UNIX や Linux のコマンドは組み合わせることで威力を発揮します。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1097/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>指定したディレクトリ以下にあるディレクトリのみをリストアップする</title>
		<link>http://www.game-create.com/archives/1095</link>
		<comments>http://www.game-create.com/archives/1095#comments</comments>
		<pubDate>Wed, 17 Dec 2008 15:51:24 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[コマンド]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1095</guid>
		<description><![CDATA[指定したディレクトリ以下にあるディレクトリのみをリストアップするためには find コマンドに -type d オプションを渡します。

何も指定しないで find コマンドを実行すると、結果にはファイルとディレクトリの [...]]]></description>
			<content:encoded><![CDATA[<p>指定したディレクトリ以下にあるディレクトリのみをリストアップするためには find コマンドに -type d オプションを渡します。</p>
<p><span id="more-1095"></span></p>
<p>何も指定しないで find コマンドを実行すると、結果にはファイルとディレクトリの両方が返りますが、 -type d オプションを指定することで、ディレクトリのみを結果とすることができるようになります。</p>
<div class="hl-surround" ><div class="hl-main"><pre># ファイルとディレクトリの一覧を得る
find ./

# ディレクトリのみの一覧を得る
find ./ -type d</pre></div></div>
<p>これも果たしてどうやって活用すればいいのかわからないかもしれませんが、これも組み合わせです。続報をお待ちください。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1095/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>指定したディレクトリ以下にあるファイルのみをリストアップする</title>
		<link>http://www.game-create.com/archives/1091</link>
		<comments>http://www.game-create.com/archives/1091#comments</comments>
		<pubDate>Tue, 16 Dec 2008 15:46:53 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[コマンド]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1091</guid>
		<description><![CDATA[指定したディレクトリ以下にあるファイルのみをリストアップするためには find コマンドに -type f オプションを渡します。

何も指定しないで find コマンドを実行すると、結果にはファイルとディレクトリの両方 [...]]]></description>
			<content:encoded><![CDATA[<p>指定したディレクトリ以下にあるファイルのみをリストアップするためには find コマンドに -type f オプションを渡します。</p>
<p><span id="more-1091"></span></p>
<p>何も指定しないで find コマンドを実行すると、結果にはファイルとディレクトリの両方が返りますが、 -type f オプションを指定することで、ファイルのみを結果とすることができるようになります。</p>
<div class="hl-surround" ><div class="hl-main"><pre># ファイルとディレクトリの一覧を得る
find ./

# ファイルのみの一覧を得る
find ./ -type f</pre></div></div>
<p>これも果たしてどうやって活用すればいいのかわからないかもしれませんが、これも組み合わせです。続報をお待ちください。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1091/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>指定したディレクトリ以下にあるファイルとディレクトリをリストアップする</title>
		<link>http://www.game-create.com/archives/1087</link>
		<comments>http://www.game-create.com/archives/1087#comments</comments>
		<pubDate>Mon, 15 Dec 2008 15:38:45 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[コマンド]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1087</guid>
		<description><![CDATA[指定したディレクトリ以下にあるファイルとディレクトリをリストアップするためには find コマンドを使います。

find コマンドを使うと、指定したディレクトリ以下にあるファイルとディレクトリをすべてリストアップするこ [...]]]></description>
			<content:encoded><![CDATA[<p>指定したディレクトリ以下にあるファイルとディレクトリをリストアップするためには find コマンドを使います。</p>
<p><span id="more-1087"></span></p>
<p>find コマンドを使うと、指定したディレクトリ以下にあるファイルとディレクトリをすべてリストアップすることができます。使い方は簡単、 find コマンドに続いてリストアップしたいディレクトリへのパスを指定します。</p>
<p>たとえば、カレントディレクトリ以下にあるファイルをすべてリストアップしたい場合は次のように指定します。</p>
<div class="hl-surround" style="height:16.8px;"><div class="hl-main"><pre>find ./</pre></div></div>
<p>結果は次のようになります。</p>
<div class="hl-surround" style="height:280px;"><div class="hl-main"><pre>.
./animations
./animations/CheerMadoka.swf
./animations/TopIllust.swf
./bootstrap.php
./comments.php
./footer.php
./functions.php
./header.php
./images
./images/bg_header_sub.gif
./images/bg_header_top.jpg
./images/bg_heading_article.gif
./images/bg_heading_bottom_navi.gif
./images/bg_heading_sidebar.gif
./images/bg_heading_sub.gif
./images/bg_heading_top.jpg
./images/bg_sidebar.gif
./images/bg_sub.gif
./images/bg_top.gif
./images/bn_ranking.gif
./images/bn_ranking_clicked.gif
./images/btn_search.gif
./images/closelabel.gif
./images/icon_author.gif
./images/icon_categories.gif
./images/icon_comment.gif
./images/icon_comments.gif
./images/icon_external_link.gif
./images/icon_feed.gif
./images/icon_internal_link.gif
./images/icon_list.gif
./images/icon_page.gif
./images/icon_permalink.gif
./images/icon_published.gif
./images/icon_search.gif
./images/icon_sidebar_list.gif
./images/icon_tags.gif
./images/icon_trackback.gif
./images/icon_trackbacks.gif
./images/loading.gif
./images/logo_site_title.gif
./images/nextlabel.gif
./images/prevlabel.gif
./index.php
./page.php
./screenshot.png
./scripts
./scripts/builder.js
./scripts/contact.php
./scripts/effects.js
./scripts/game_style.js
./scripts/lightbox.js
./scripts/prototype.js
./scripts/scriptaculous.js
./scripts/swfobject.js
./search.php
./sidebar.php
./single.php
./style.css
./styles
./styles/advertisements.css
./styles/alignments.css
./styles/articles.css
./styles/basics.css
./styles/contents.css
./styles/fonts.css
./styles/hacks
./styles/hacks/gecko.css
./styles/highlight.css
./styles/layouts.css
./styles/lightbox.css
./styles/memo.txt
./styles/pages.css</pre></div></div>
<p>正直、これが何の役に立つのかわからないかもしれませんが、基本ですので覚えてください。他のコマンドと組み合わせると、とんでもないことができるようになるんです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1087/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>再帰的に grep を実行する</title>
		<link>http://www.game-create.com/archives/1078</link>
		<comments>http://www.game-create.com/archives/1078#comments</comments>
		<pubDate>Mon, 15 Dec 2008 13:37:27 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[コマンド]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1078</guid>
		<description><![CDATA[再帰的に grep を実行するためには grep に -r オプションを渡します。

何も指定しないで grep を実行すると、検索対象は現在のディレクトリに限られます。もし、下のディレクトリを検索に含めたい場合は gr [...]]]></description>
			<content:encoded><![CDATA[<p>再帰的に grep を実行するためには grep に -r オプションを渡します。</p>
<p><span id="more-1078"></span></p>
<p>何も指定しないで grep を実行すると、検索対象は現在のディレクトリに限られます。もし、下のディレクトリを検索に含めたい場合は grep -r と実行します。</p>
<div class="hl-surround" ><div class="hl-main"><pre># 現在のディレクトリだけを検索する
grep -ni keyword *

# サブディレクトリも検索する
grep -nir keyword *</pre></div></div>
<p>実際は、いちいち「下のディレクトリまで見た方が良いかなぁ？」と考えるより先に grep -nir と打ち込んでしまうことが多いのですが、もし、下のディレクトリにファイルがたくさんある場合は検索結果が遅くなります。特に Windows の場合は検索が終了するまで処理が返りませんので場合によっては死活問題です。そういう場合は -r を外しましょう。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1078/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

