- 1 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 23:23:58 ]
- スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。 過去スレ、関連リンクは>>2-10くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn2.microsoft.com/library/)の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで - Win32API質問箱 wiki wiki.livedoor.jp/program1/d/FrontPage Win32API質問箱 Build68 pc11.2ch.net/test/read.cgi/tech/1215348804/
- 101 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 17:25:49 ]
- いや、俺が見る
- 102 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 17:40:09 ]
- いやいや、ここは俺が
- 103 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 17:41:17 ]
- もうそういうのいいから
- 104 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 17:46:29 ]
- Windows Media Player 11のプラグイン作りたいんだが、そういうのはどのSDKが必要なんだ?
Platform SDKでいいんかな。
- 105 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 18:11:32 ]
- COMポートのGetCommPropertiesを実行したところ、LPCOMMPROP構造体dwMaxBaudがBAUD_USER ユーザー設定可変値
になっているのですが、これはSetCommState()でdcb.BaudRateを設定するときCBR_115200を超えて好きな値を設定できるんですか? CBR_のdefineがないので、230400を直接指定したのですが、SetCommStateでパラメータ異常になってしまいます。 通信速度230400を設定するにはどうすればいいんでしょうか?
- 106 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 18:36:19 ]
- エクスプローラのフォルダツリーペインみたいに
ツリービューにディレクトリ構造を表示させたいのですが 何かいいサンプルとか無いですか
- 107 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 18:44:48 ]
- >>104
Windows Media Player 11 SDK
- 108 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 18:51:41 ]
- >>105
できないからエラーリターンなんでしょ
- 109 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 18:56:01 ]
- COMポートは何?
UART使ったほんとのCOMポートなら、ハードで上限決まるけど。
- 110 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 19:12:58 ]
- マザボについてるCOM1シリアルです。
- 111 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 19:43:35 ]
- その制御チップで上限が決まるって話でしょ?
- 112 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 20:13:14 ]
- それで上限を知りたくてGetCommPropertiesを実行したところ、LPCOMMPROP構造体dwMaxBaudがBAUD_USER ユーザー設定可変値
になっているのですが、この関数の使い方の解釈は間違ってますか?
- 113 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 20:17:57 ]
- エラーが返ってきたらその速度で使えないってことでいいじゃん。
- 114 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 20:19:54 ]
- そうか!すごいわかりやすい。それでいいやありがと!
- 115 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 00:22:50 ]
- APIの情報(関数名,戻り値の型,引数名,引数の型)の一覧がCSVとか、
プログラムで取り込みやすい形式になっているものがほしいんですが、 どなたかご存じないですか? 最悪,MSDNのWebページをパースするしかないですかね?
- 116 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 00:31:34 ]
- ヘッダファイルをパースする方がまだマシじゃね
- 117 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 00:53:19 ]
- 前はwin32api.csvってのがあったな
- 118 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 01:03:55 ]
- doxygenに食わすと判りやすい形でだしてくれる、ってな話を
大昔にradium softwareあたりで読んだけど
- 119 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 01:18:42 ]
- >>117
win32api.csvって付かなくなったの?
- 120 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 02:56:34 ]
- 通常のマウス操作とmouse_event等で擬似的に生成されたマウス操作とを判別するにはどうしたらいいんでしょうか。
- 121 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 04:59:56 ]
- 不可能
- 122 名前:120 mailto:sage [2008/08/06(水) 09:16:02 ]
- おお、ばっさり切られました。
今チート対策研究中なんですが、オートマウス防止って難しいんだなあ。
- 123 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 09:40:38 ]
- マウスの軌道でも監視してて不自然な挙動してたら撥ねるとか
- 124 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 10:45:17 ]
- >>116-118
ありがとうございます。doxygenちょっと試してみます。
- 125 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 10:46:37 ]
- >>120
XP以降になるけどRaw Input APIとかってどうなの?
- 126 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 12:24:31 ]
- >>122
チートはされても問題ないシステムを作れ。つーか操作系はチートに分類すべきではないし基本的にブロックできない。 nProみたく頭の悪いことをしたら駄目だぞ。
- 127 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 12:38:47 ]
- nProtectのようなコードを書いたらプログラマとして終わりだよな。
- 128 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 13:14:10 ]
- というかそんなソフトの需要がある現状が問題じゃないのか
オンラインゲームでチートする馬鹿がいるからだろ
- 129 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 13:33:00 ]
- そりゃ、泥棒がいるから鍵つけなきゃならない世の中がおかしい、と言うようなもんで
正しいけど現実的じゃないような。
- 130 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 13:39:08 ]
- OS側で細かく権限制御できないんだからサードパーティでやるしかないだろ
- 131 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 13:51:21 ]
- そもそもCreateRemoteThreadとかRead/WriteProcessMemoryなんて
チート御用達APIが一般アプリで使い放題というWindowsのセキュリティの甘さが問題
- 132 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 14:32:24 ]
- オープンソースのOSで動かすもののほうが、何でもやりたい放題にできるべ。
- 133 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 14:45:20 ]
- ↑話を理解してない馬鹿
- 134 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 14:47:18 ]
- 理解できないとそれしか貼り付けられないバカがまた来たか
- 135 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 14:58:36 ]
- ↑話を理解してない大馬鹿
- 136 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 15:11:06 ]
- チョン製だから仕方ない・・・
- 137 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 16:29:54 ]
- >>125
そういえば、MAMEがRaw Input APIを使うようになって JoyToKeyが使えなくなったという話を聞いたことがあるな。
- 138 名前:デフォルトの名無しさん [2008/08/06(水) 17:15:36 ]
- アドレスバーみたいにエディットボックスにいくと自動で全選択させるエディットボクスをつくるAPIを教えてくださいm(_ _)m
- 139 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 17:18:41 ]
- 自分でイベントをハンドルしてEM_SETSELでも送れ
- 140 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 17:38:17 ]
- >>138
あれはComboBoxの機能だろ
- 141 名前:デフォルトの名無しさん [2008/08/06(水) 18:59:42 ]
- レスありがとうございますm(^ ^)m
どうやら自分はサブクラス化とかわからないそうなので ボンボボックスを代用したいと思います!
- 142 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 19:12:54 ]
- >ボンボボックス
0点
- 143 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 19:14:12 ]
- >ボンボボックス
ワロスw
- 144 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 19:58:54 ]
- >>142-143
そういう揚げ足取りいらないから。
- 145 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 20:01:33 ]
- ここは面白い発言に笑うことも許されない陰気なインターネットですね
- 146 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 20:51:42 ]
- >>138
EN_SETFOCUSがきたらEM_SETSELするだけかと
- 147 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 21:04:55 ]
- >>144
あげあしっていうか、ボンボでなけりゃスルーされたとこだけど、なにせボンボだからなぁ
- 148 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 21:16:35 ]
- お礼レスなんてスルーでいいだろ
- 149 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 21:56:58 ]
- どうでもいいが、テキストの途中を編集しようと位置決めしてクリックしたのに
勝手に全選択されて、もう一度クリックしないといけないUIはイライラする
- 150 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 22:13:24 ]
- 勝手にイライラしとけば?
- 151 名前:120 mailto:sage [2008/08/06(水) 22:56:43 ]
- 今回チート対策を調べているのは自分の勉強の側面が強いです。
>>123 それは考えてました。 判定に自分のセンスが試されそうな話ですね。 >>125 ざざっと調べてみましたが、使えそうな匂いがしますね。 これから詳しく調べてみます。 >>126 チートはされても問題ないシステムを作れ、との言葉、心に留めます。 今回はテーマが違うのであれですが。
- 152 名前:デフォルトの名無しさん [2008/08/06(水) 23:32:24 ]
- >>20
writefileで何を書き込めば良いんでしょうか? createfileのときはドライブを開けば良いんですよね?
- 153 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 23:38:18 ]
- nProって何やってるわけ?
- 154 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 23:38:47 ]
- 監視
- 155 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 01:12:55 ]
- rootkitみたいなこと
- 156 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 01:57:18 ]
- チート対策の勉強といいつつ実はチート方法を勉強したいのだろう
- 157 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 06:51:42 ]
- >>153
rootkitのためのネイティブAPIのフックとか時間関係をいじれなくするためのAPIのフックとか、ソフトウェアからのキー入力をはじくためのフィルタドライバじゃね。 結果、サードパーティの特殊なハードが使えんし(6ボタン以上あるマウスとか自由に割り当て可能なキーのあるキーボードとか) OSのバージョンがあがるたびにブルースクリーンだすような代物。
- 158 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 07:51:06 ]
- ダブルバッファリングについて質問です。
子ウインドウ(ボタンやボックスなど)が多数存在する状況で、ウインドウ全体を再描画したいのですが、ちらついてしまいます。 まず子ウインドウの内容も全部まとめて一つのオフスクリーンに描画してからBitbltで画面に表示、ということが出来れば、と考えたのですが、方法が分かりません。 よろしければ方法を教えていただけないでしょうか。もしこの方法で無理なら、ちらつきを抑える代替案を挙げていただけないでしょうか。 よろしくお願いします。
- 159 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 07:56:20 ]
- > 6ボタン以上あるマウスとか自由に割り当て可能なキーのあるキーボードとか
そもそもこういうの自体OSのバージョン上がった時にドライバ用意できないと動かない可能性高いが
- 160 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 09:09:48 ]
- >>158
親にWS_CLIPCHILDRENをつければ、子をオフスクリーンに描く必要はないんでない
- 161 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 11:26:43 ]
- 3DのRPGを作ろうと思っているのですがC言語とC++を一通り学んだので
Win32APIで、ゲームを作る上で必須な項目 ってなんですか? 自分で調べた結果必要だと思った↓ GDI描写、フォントとテキスト、入力処理、ウィンドウ操作、メニュー、ビットマップ、 アニメーション、を勉強しました。 他にこれはやったほうがいいよ、というのがあったら教えてください Win32APIの基礎を覚えたらDirectXの勉強をしようと思います。
- 162 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 13:01:37 ]
- このスレで聞かれても、Win32APIを勉強しろとしか答えようがないがw
- 163 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 13:11:05 ]
- ものすごく遠い道のりだな
気づいたときにはみんな大人になっていたというオチだ
- 164 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 13:26:40 ]
- jpegやpngを表示するにはどうすればいいんですか?
ファイルヘッダーを文字で表示することは出来たのですが、ここからどうしていいかが分かりません。 詳しい手順を教えてくれませんか?
- 165 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 13:37:59 ]
- Gdiplus::Image img(L"hoge.jpg");
Gdiplus::Graphics g(hdc); g.DrawImage(&img, 0, 0);
- 166 名前:165 mailto:sage [2008/08/07(木) 13:53:19 ]
- GDI+を使えばいいんですね。
ありがとうございます。 ただ、上手くいえないんですけど、そういうのって自分で書けないんですか? CreateCompatibleDCとかLoadBitmapの中身が見てみたいんですけど、どこかで見れますか?
- 167 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 13:55:03 ]
- 自分でjpeg書きたいなら、libjpeg、libpngのソース見たり利用したりすればいいじゃない。
- 168 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 14:00:12 ]
- CreateCompatibleDCについてはwineのソースでも読んでみたらいいんじゃねえのか
それはそれで楽しいとは思うが実にはならないと思う
- 169 名前:164 mailto:sage [2008/08/07(木) 14:09:49 ]
- レスありがとうございます。
紹介してもらったものを見てみましたが、自分には早すぎたみたいです。 何年後かに挑戦します。
- 170 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 17:03:20 ]
- 日経ソフトウェアで前に紹介されてたな…
- 171 名前:デフォルトの名無しさん [2008/08/07(木) 17:05:02 ]
- JPEGのエンコーダ、デコーダ実装で一冊本になってるよ。
- 172 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 00:46:48 ]
- なんか本が一冊でてたな
C++的には全然イケてないコードだったのは覚えてる
- 173 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 01:00:04 ]
- DCTが分かればjpegなんて大したこと無いよ
- 174 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 07:16:18 ]
- このスレにWikiなんてあったんだなw
- 175 名前:前スレVirAlloc相談者 mailto:sage [2008/08/08(金) 07:51:49 ]
- また、からかわれ覚悟で出て来ましたですヨ。
先ず、懸案の VirtualAlloc() などの件は無事終わった。いろいろに感謝。 チラ裏になるが、VirtualFree() の flag の指定が悪く、使った後の解放 が出来てなくて、5MBのJpeg写真を読み込んで、31MBのDIBを吐き出す操作 を27回繰り返すと、「この操作を行うにはメモリが足りません」とか宣 まわった。Jpeg解凍のDLLは、Dos時代から使っているソースから自分でコ ンパイルしたもの。VirtualAlloc()関係のソース例は意外に少ない印象で 一時困ったが、お笑いなのは、自分のプログラム内にもう使用例があって これで解決した次第。因みに、RamDisk操作で //diskio.c Copyright (C) 1999-2003 K.Takata #define AllocDiskIO(siz) VirtualAlloc(NULL, siz, MEM_COMMIT, PAGE_READWRITE) #define FreeDiskIO(buf) VirtualFree(buf, 0, MEM_RELEASE) がソースにあった。k.Takataさんに改めて感謝。
- 176 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 08:41:51 ]
- もう出てこなくていいよ・・・
- 177 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 09:14:31 ]
- ああ、new/mallocでいいんじゃね?っていう話?
- 178 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 09:36:14 ]
- >>175
前スレもそうだが、こいつって質問者を装って自己陶酔しまくった日記書いてるだけなんだよな こういう自己中な奴ってリアルでも空気読めなくて周囲からウザがられてるんだろうな
- 179 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 09:44:38 ]
- >>175
LSI86-C という脳内コンパイラについて教えてください。
- 180 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 11:33:14 ]
- virtualFree(前スレVirAlloc相談者);
- 181 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 11:41:36 ]
- >>176-180
かまうなよ かまう奴が居るからこの手のは居座る
- 182 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 11:42:10 ]
- error C2065: 'virtualFree' : 定義されていない識別子です。
- 183 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 11:47:43 ]
- >>181
かまってほしくない人はレスしないでください
- 184 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 21:15:26 ]
- #include <windows.h>
#define APP_NAME TEXT("Sample_MainWindow") typedef struct _ThreadParam { HWND owner; POINT point; } ThreadParam; DWORD WINAPI ThreadFunc(LPVOID vdParam){ HDC hdc; RECT rect; ThreadParam param; _ThreadParam { の_って付けるとどういう意味があるんですか?
- 185 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 21:21:42 ]
- アンダースコア+大文字で始まる識別子は言語によって予約されているので、
構造体タグにそのような名前をつけるのはよくありません。 もしお読みの本かなにかにそのようなコードが載っているのであれば、 今すぐ窓から投げ捨ててください。
- 186 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 21:22:59 ]
- いや、誰かが拾って読んでしまうかもしれん。
焼き捨てるべきだ。
- 187 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 21:27:20 ]
- 「Windowsゲームプログ○ミング」という本なのですが、捨てたほうがいいのですか・・・。
専門学校の教科書なんですけど捨てるのはやばいので金庫に入れておきます。 学校で使うときに出します。
- 188 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 21:32:13 ]
- そんな本を教科書に使うってことは、どうせ専門学校だろ。
人生終わったな。 悪いことは言わん。 今すぐやめてコンビニの店員にでもなるんだな。
- 189 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 21:36:39 ]
- すいませんもう200万払っちゃったので・・・。
後の祭りですね・・・。 ゲームクリエイター学科なのにゲーム会社に就職は1割以下で ほとんどが工場のベルトコンベアーの保守プログラム関係みたいです(最近知った) 愚痴ってすいません・・。 独学で勉強してがんばります! それでは失礼します。
- 190 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 21:37:35 ]
- >>185-188
typedef struct _FILETIME { DWORD dwLowDateTime; DWORD dwHighDateTime; } FILETIME, *PFILETIME, *LPFILETIME; Win32SDKのヘッダだってそうなってるんだが。 馬鹿じゃねーの?
- 191 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 21:38:20 ]
- >>187
一応補足しとくと、 アンダースコア+(アンダースコア or 大文字) で始まる識別子は常に予約されている。 その他のアンダースコアで始まる識別子はファイルスコープで予約されている。 予約済み識別子を使用した場合の動作は未定義。 一般的な流儀として構造体タグは、 typedef struct ThreadParam_ { } ThreadParam; // お尻にアンダースコアつけるとか、 typedef struct tag_ThreadParam { } ThreadParam; // tag_ と書くとか、 typedef struct ThreadParam { } ThreadParam; // 何もつけない。
- 192 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 21:39:02 ]
- >>191
ありがとうございます_の謎が少し理解できました
- 193 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 21:40:58 ]
- 同人ゲーム作りが近道と言ってみるテスト
学校なんて何も教えてくれないよ。就職斡旋するだけだからw
- 194 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 21:43:15 ]
- そもそもゲーム業界なんか目差してる時点で人生終わっとる
- 195 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 21:45:32 ]
- >>190
処理系のために予約されているのだから処理系付属のライブラリが使用してもなんら問題はない。
- 196 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 21:56:18 ]
- >>195
処理系付属のライブラリ=Win32SDKとでも言いたいのか 馬鹿丸出し
- 197 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 21:59:17 ]
- 本職組み込み、趣味でゲーム作りが最強
- 198 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 22:02:17 ]
- 処理系だの未定義だの不定だのいう宗教じみた言語厨ってどこにでもいるよな
MS自体そんな事なーんも考えてないのにねぇ
- 199 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 22:02:22 ]
- WSDKは単体配布だけじゃなくて、VC++付属のやつもあるが。
コンパイラについてくるぐらいだから処理系付属といっても差し支えないだろ。
- 200 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 22:05:25 ]
- だいたい処理系は未定義な動作をどういう動作にするか自由に決められるんだから、
処理系を作ったのと同じ組織が書いたコードが動作の未定義な部分を含んでいてもなんら差し支えない。
- 201 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 22:06:53 ]
- > コンパイラについてくるぐらいだから処理系付属といっても差し支えないだろ。
こんなアバウトな俺様定義するくせにアンダースコアには拘るのか
|

|