Microsoft Visual C++ Toolkit 2003 質問箱
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
05/03/01 04:24:15http://msdn.microsoft.com/visualc/vctoolkit2003/
関連スレなどは>>2以降で
0437デフォルトの名無しさん
2005/09/02(金) 01:38:39Win32APIのReadConsoleとか使ってコンソールアプリを作っているのですが
パスワード入力のところで、エコーバック無しで入力させたいのですが
どのようにすれば良いのでしょうか?
SetConsoleModeとか?いろいろやってみたのですがダメです。
0438デフォルトの名無しさん
2005/09/02(金) 01:57:36>psdkのwin64に入ってたものを使っていたのですが
…
0439デフォルトの名無しさん
2005/09/02(金) 02:10:12試してないけど↓こんな感じでいけないの?
BOOL bRet = FALSE;
DWORD dwOldMode = 0;
//現在のモード取得
bRet = GetConsoleMode(hConsoleHandle,&dwOldMode);
//エコーのビットを落とす
dwNewMode = dwOldMode & (~ENABLE_ECHO_INPUT);
bRet = SetConsoleMode(hConsoleHandle,dwNewMode);
//パスワード入力処理
ReadConsole等…
//もとにもどす
bRet = SetConsoleMode(hConsoleHandle,dwOldMode);
0440デフォルトの名無しさん
2005/09/29(木) 18:48:35RareWareで配布されているバイナリとかServices for Unixに付属の
gcc-3.3と違うエンコ結果になる。VB.NET Standard付属のcl.exeも同様。
0441デフォルトの名無しさん
2005/09/29(木) 19:11:270442440
2005/09/30(金) 04:04:46いいだけだから。あとはmp3ファイルのmd5sumを取ればいい。
0443デフォルトの名無しさん
2005/09/30(金) 07:04:440444デフォルトの名無しさん
2005/09/30(金) 10:31:000445デフォルトの名無しさん
2005/09/30(金) 10:48:42用意されてるmakefileがあなたのお使いの環境にあってる保証はないですよ。
0446デフォルトの名無しさん
2005/09/30(金) 15:24:280447440
2005/09/30(金) 16:18:38そうなんです。あやしすぎます。
>>444
それかもですねぇ。
>>445
MSVC用ってだけなんで個々(VC6, VC7など)の cl.exe 間の相違については考慮
してないのかも。もうちょっと詳しく見てみます。
>>446
MMXの使用有無は試しました。使っても使わなくても同一のMP3ファイルが
できました。SSE*は私のCPUにはついてないので試せないですorz
0448デフォルトの名無しさん
2005/09/30(金) 16:25:310449デフォルトの名無しさん
2005/10/05(水) 00:19:34MMXの有り無しで違いがないなんて普通はないはず。
MMX整数を使えば精度が落ちる。
ちゃんとMMXが使われているかどうかアセンブラコードを出力して確認してみろ。
0450デフォルトの名無しさん
2005/10/24(月) 10:39:120451デフォルトの名無しさん
2005/10/24(月) 17:14:34class hoge
{
static const int Foo = 1;
};
0452デフォルトの名無しさん
2005/10/25(火) 13:59:57>MMX整数を使えば精度が落ちる
整数演算で精度は落ちないだろ?
MMXレジスタで数値オーバーするような状況に
MMXを適用してるとしたらプログラムがタコ
0453デフォルトの名無しさん
2005/10/25(火) 14:18:37わろた
0454デフォルトの名無しさん
2005/10/26(水) 00:41:03アホ?
それともプログラミングしたことないのか?
0455デフォルトの名無しさん
2005/10/26(水) 00:56:570456デフォルトの名無しさん
2005/10/26(水) 02:06:51つまるところ有効精度の問題だ。
MMXだとDWORDx2を使うと、汎用レジスタ使った方が早い。
従ってMMX使う場合、まあWORDx4で演算することになる。
乗除算で有効精度はどんどん落ちる。
あと、・整数で演算するからといって、演算対象が整数だとも限らん。
(判り易く10進数で例示すると、 123.45 * 100 = 12345 (整数化))
0457デフォルトの名無しさん
2005/10/26(水) 02:30:00オーバーフローなんか精度云々以前の問題だろ。
結果が全然違ってくるぞ。
0458440
2005/10/26(水) 05:01:29もしお暇な方がいらっしゃいましたら検証おながいします。
ほんとにすんません。
0459デフォルトの名無しさん
2005/10/26(水) 08:49:18> MMXだとDWORDx2を使うと、汎用レジスタ使った方が早い。
嘘つくなって。
しかも有効精度とかいってるあたり、何か勘違いしてるだけのような気が。
> あと、・整数で演算するからといって、演算対象が整数だとも限らん。
ヒント:標本化 → 量子化 → 符号化
0460デフォルトの名無しさん
2005/10/26(水) 17:37:04全然トンチンカンなヒントになってる。
それとちゃんと説明するクセをつけたほうがいいぞ。
じゃないと自分でもわかったつもりになって終わるし、
突っ込むほうだって範囲が広すぎてイヤになる。
0461デフォルトの名無しさん
2005/10/26(水) 17:52:13>嘘つくなって。
アスロンだと違うのかな?
Pen3/4で非常に苦労してるんだが?
0462デフォルトの名無しさん
2005/10/26(水) 18:11:438bitで表わせる範囲の数(0-255)であっても
16bit(WORD)で演算するのはちょっと精度不足だよ。
せいぜい10bit程度しかシフトできないんで、DWORDで計算するのとでは
誤差の出方が違ってくる。
実際プログラミングして試してみれ。
0463デフォルトの名無しさん
2005/10/26(水) 22:14:36いきなり10bitなんて言っても何のことだか分からないよね。
これはある演算をするときにオーバーフローしないぎりぎりの精度を保つときの値で
別の演算には通用しない。(一般には8bit以下しかシフトできない)
が、これでも精度落ちするってこと。
0464デフォルトの名無しさん
2005/10/27(木) 03:32:000465デフォルトの名無しさん
2005/10/27(木) 09:01:26俺にはどうややこしくなるのかさっぱりわからんが?
何と混同するっていうの?
0466デフォルトの名無しさん
2005/10/27(木) 09:35:51ちょっと、どう誤用なのか説明してくれ
http://www.google.com/search?hl=ja&lr=lang_ja&safe=off&ie=sjis&oe=sjis&q=%97L%8C%F8%90%B8%93x
0467デフォルトの名無しさん
2005/10/27(木) 10:43:07計算精度、有効桁数と言えってことだろうね。
でも誰も意味を取り違えたりしないって。
はっきり言って議論に水さしする、瑣末にこだわる嫌な人って思われるさ。
0468デフォルトの名無しさん
2005/10/27(木) 13:03:07詳しく説明してくれまいか
0469デフォルトの名無しさん
2005/10/27(木) 14:09:50MPEGのデコーダーでそんなのがあった気がする。
32bit-MMXだと精度不足になるだとか。
俺がよく知ってる事例だと、YUV->RGB変換でのMMX計算とかかな?
0470468
2005/10/27(木) 15:38:00>>462 の
> 8bitで表わせる範囲の数(0-255)であっても
> 16bit(WORD)で演算するのはちょっと精度不足だよ。
この場合、最大8bitの整数同士の演算結果を16bitで表すのだから
オーバーフローやアンダーフローも起こり得ないのに「精度不足」
と言うのが分からない
> せいぜい10bit程度しかシフトできないんで、DWORDで計算するのとでは
> 誤差の出方が違ってくる。
整数演算の結果をなぜシフトする必要があるのか?整数演算での誤差?
まさかとは思うが、固定小数点での演算を整数演算と言っているの?
0471デフォルトの名無しさん
2005/10/27(木) 16:53:12目だろ。たとえば、Nbit同士の加算なら2Nbitのワーク
スペースで2^N回実行可能。
a_i, b_i をNbitとして c = Σa_i b_i を並列でやるな
ら各乗算結果は2Nbit幅必要。加算結果はΣの数に依る。
バタフライ演算とかでcを次段の乗算係数として用いる
場合、誤差を出さないよう幅を拡張したルーチンに切り
替える場合もあるし、誤差が許容範囲ならNbit演算ルー
チンを使いまわすためにNbitに丸めることもある。
但し、ただ丸めただけでは誤差がひどいので最上位ビッ
トがセットされている状態に丸め(もちろん四捨五入し
た後)、何bitシフトしたかを覚えておいたりする(仮
想的な浮動小数点数のようなもの)。
アルゴリズムによっては上記ビット数を厳密に守らなく
ても良い成果を出す方法もある(加減算を交互に配置す
る、など)。
MMXで誤差無くす方法なんてなんぼでもあるだろ。
面倒いけど。
0472デフォルトの名無しさん
2005/10/27(木) 21:41:47MPEG音声圧縮の話なんだろ、元々は。
0473デフォルトの名無しさん
2005/10/27(木) 21:45:42なんかVC++のよろず質問スレと勘違いされている。
0474デフォルトの名無しさん
2005/10/28(金) 02:05:290475デフォルトの名無しさん
2005/10/28(金) 17:08:48あと、/Yuでパス指定する場合はフルパスじゃないとだめですか?
今までVC++6.0ばっかり使ってきたんで、この辺さっぱりわからないですorz
0476デフォルトの名無しさん
2005/10/28(金) 17:26:380477デフォルトの名無しさん
2005/10/28(金) 20:17:31VC6のプロジェクトの設定(プロパティかも)をじっくり見ろ。
0478デフォルトの名無しさん
2005/10/28(金) 21:15:570479デフォルトの名無しさん
2005/10/29(土) 09:31:160480デフォルトの名無しさん
2005/11/01(火) 20:43:08Pentium4のデータだが、全命令でそうだとは言わないが、
大体、MMXは汎用IA32命令の4倍の時間がかかるよ。
これでも、嘘つくなってって言うのか?
汎用命令
MOV レイテンシ 0.5 スループット 0.5
ADD レイテンシ 0.5 スループット 0.5
MMX整数命令
MOVD mm,r32 レイテンシ 2 スループット 1
MOVD r32,mm レイテンシ 5 スループット 1
PADDD/PANDなど レイテンシ 2 スループット 1
0481デフォルトの名無しさん
2005/11/01(火) 21:12:47レイテンシの意味わかってる?
0482デフォルトの名無しさん
2005/11/01(火) 22:29:13IA-32 命令を構成しているすべてのマイクロオペレーション
(μOP) の実行が実行コアで完了するのに要するクロック・サイクル数。
スループット:
発行ポートが同じ命令を再度自由に受け入れられるようにな
るまで待たなければならないクロック・サイクル数。多くの
IA-32 命令は、命令のスループットのほうがレイテンシより
もかなり小さい。
0483デフォルトの名無しさん
2005/11/01(火) 22:42:53・実行コアへのμOPの流入量を最大にする
・インターリーブしてリソースの競合(ポート、実行ユニット)を避ける。
・クリティカルパス上の依存関係チェーンのレイテンシを最小にする。
俺はスループットは殆ど考慮しない。
0484デフォルトの名無しさん
2005/11/02(水) 00:59:590485デフォルトの名無しさん
2005/11/02(水) 11:06:09終了。
0486デフォルトの名無しさん
2005/11/23(水) 02:26:100487デフォルトの名無しさん
2005/11/23(水) 03:14:050488デフォルトの名無しさん
2005/11/23(水) 04:57:200489デフォルトの名無しさん
2005/11/23(水) 09:26:010490デフォルトの名無しさん
2005/11/23(水) 11:34:340491デフォルトの名無しさん
2005/11/23(水) 12:10:048Pro以上がそれなりに無意味になるな。
Expressか、せいぜいクラスデザイナのあるStandard辺りを買っておけば良いわけだ。
そんなわけでやっぱりVCTK2005は出さないかもなぁ…。
0492デフォルトの名無しさん
2005/11/23(水) 12:11:52とはいえそれも他社に押される形だったし、
最初からその辺考えられる今回は無理かねぇ。
それとも一度やったことは続けるのかね。
0493デフォルトの名無しさん
2005/11/23(水) 19:50:02提供するとかいうのがあったはずなので、VCTK2005は出ないと思う。
たぶん>>490の通りになるかと。
0494デフォルトの名無しさん
2005/11/23(水) 20:28:430495デフォルトの名無しさん
2005/11/23(水) 23:00:03その理屈だと、Express、2005stdユーザにもPGOコンパイラを、ってならないのか
0496デフォルトの名無しさん
2005/11/23(水) 23:49:47さすがにPGO欲しいなら買えばいいとおもうんだが。
0497デフォルトの名無しさん
2005/11/23(水) 23:50:28PGOはコンパイラ単体の機能じゃ実現できないんだし、いいんじゃね?
さすがにPGO欲しいなら買えばいいとおもうんだが。
0498デフォルトの名無しさん
2005/11/23(水) 23:54:46ほんとかよ
0499デフォルトの名無しさん
2005/11/24(木) 01:02:33プロファイル結果に基づいて最適化する機能なんだから。
プロファイラがなくてどうするよ。
0500デフォルトの名無しさん
2005/11/24(木) 01:09:160501デフォルトの名無しさん
2005/11/24(木) 01:13:15ここを見る限りコンパイラ単体の機能じゃないな。
プロファイラって言うよりリンカが特別なコードを挿入して
一度アプリケーションを実行することで、PGOに必要なファイル(.pgc)を生成。
その後再コンパイルする時に、プロファイル結果(.pgc)を利用するという動作みたい。
ってことでPGOを行うには、コンパイラとリンカが対応する物の必要がありそう。
0502デフォルトの名無しさん
2005/11/24(木) 01:20:13それもそうだな。
495のPGOコンパイラって表現に反応しすぎた。失礼。
まぁどの道ExpressじゃPGOは利用できないだろうしなぁ。
VCに限って言えば、今回の目玉だろうしなぁこれ。
0503デフォルトの名無しさん
2005/11/24(木) 01:23:280504デフォルトの名無しさん
2005/11/24(木) 01:25:100505デフォルトの名無しさん
2005/11/24(木) 03:13:550506デフォルトの名無しさん
2005/11/24(木) 04:01:37どうしてる?
0507デフォルトの名無しさん
2005/11/24(木) 04:46:260508デフォルトの名無しさん
2005/11/24(木) 07:54:080509デフォルトの名無しさん
2005/11/24(木) 15:52:540510デフォルトの名無しさん
2005/11/24(木) 16:29:260511デフォルトの名無しさん
2005/11/29(火) 01:11:45公式(?)バイナリでエンコしたMP3ファイルが一致しない件ですが
cl のオプションで浮動小数点の精度に関するものは
/Op と /QIfist しかないよう。どちらか片方と両方同時も
試しましたがやはり一致しませんでした。
こんな状況ではLAMEで作ったMP3の音質をああだこおだ議論している
人たちがうさんくさくて仕方がありません。
0512デフォルトの名無しさん
2005/11/29(火) 01:44:20ICL (RareWareで配布されているバイナリ)
Services for Unixに付属 gcc-3.3
VB.NET Standard付属のcl.exe
MSVC 2003
このうち MSVC 2003 のだけ結果が違うの?
0513デフォルトの名無しさん
2005/11/30(水) 00:45:56一致しないらしく今回は一致しませんでした。つまりすべて一致せずです。
0514デフォルトの名無しさん
2005/12/12(月) 17:18:240515デフォルトの名無しさん
2005/12/13(火) 05:35:50LINK : fatal error LNK1104: cannot open file 'LIBCMTD.lib'
NMAKE : fatal error U1077: 'link' : return code '0x450'
Stop.
ってエラーが出ます。助けてください
0516デフォルトの名無しさん
2005/12/13(火) 14:58:19どっか弄った?
どうやってmakeした?nmake?
そのままmakeしたのならデバッグバージョンのlibmtを使うとは思えないんだけど?
VCTK2003にはlibmtdは付属してないんでね。
まあ何にしろretailビルドに変えてみては。
0517デフォルトの名無しさん
2005/12/13(火) 15:19:030518デフォルトの名無しさん
2005/12/13(火) 15:39:39nmake -f makefile
でやったのだけど・・・
0519デフォルトの名無しさん
2005/12/13(火) 16:07:35えっと、じゃあ環境を変えて再チャレンジ。
Set Windows XP 32-bit Build Environment (Retail)
からやってみそ。
0520デフォルトの名無しさん
2005/12/13(火) 16:19:07>>517
Debug Build / Retail Build
っていつも言ってるけど、そんなに新鮮に聞こえるほど
ローカルな用語だったの?
0521デフォルトの名無しさん
2005/12/13(火) 16:32:160522デフォルトの名無しさん
2005/12/13(火) 16:34:57PCパーツか
0523デフォルトの名無しさん
2005/12/13(火) 16:54:47debug/retailって使うよ。
スイッチだって/debugと/retailだし。
debug/releaseというよりdebug/retailというほうがメジャーだよ。
確かに、Visual Studioではdebug/releaseだったけど。
0524デフォルトの名無しさん
2005/12/13(火) 19:10:16debug/retail の検索結果 約 422 件中 1 - 10 件目 (0.07 秒)
0525デフォルトの名無しさん
2005/12/13(火) 19:29:59debug retail 約 482,000 件
そりゃまあ検索したらreleaseが多いのは当然だろう。
Visual Studio使ってる奴が一杯いるから。
でもWindows VisualStudioを除くとどうなることやら。
同じWindowsでもCEとかembeddingだとまた違ってくるぞ。
0526デフォルトの名無しさん
2005/12/13(火) 19:40:080527デフォルトの名無しさん
2005/12/13(火) 19:44:50> Visual Studio使ってる奴が一杯いるから。
いっぱいいるならdebug/releaseの方がメジャーだろうに。
参考までに
debug release -Visual -Studio の検索結果 約 4,780,000 件中 1 - 10 件目 (0.30 秒)
debug retail -Visual -Studio の検索結果 約 286,000 件中 1 - 10 件目 (0.26 秒)
0528デフォルトの名無しさん
2005/12/13(火) 20:00:59まさか複数居るわけ無いし。
debug/release組は、複数居るのは確かだけど。
0529デフォルトの名無しさん
2005/12/13(火) 20:05:46有償・無償の意味を一切もたない release の方が、Linuxなどでも使うべき汎用的な用語だと思う。
そんなわけでreleaseの勝利。
以下、スレテーマに戻る
0530デフォルトの名無しさん
2005/12/13(火) 20:17:350531デフォルトの名無しさん
2005/12/13(火) 20:41:58ありがとうございます凡ミスしてますた。
setenv /XP32 /RETAIL
で起動してみたらエラーが出てPlatform SDKのインストール作業をしてなかったことに気がつきますた(HDに入っているだけの状態)。
パスは正常に通してあって、今まで何事もなく使ってたので大丈夫かと思ってました。
setenv /XP32 /RETAIL
nmake /f makefile
で無事にいけますたありがとうございます。
0532デフォルトの名無しさん
2005/12/13(火) 20:45:42ぼっきしますた
0533デフォルトの名無しさん
2005/12/13(火) 21:03:56retail build の検索結果 約 34,800,000 件
約4倍の差だけど、逆にたった4倍しか差が無いのって思わん?>みんな
0534デフォルトの名無しさん
2005/12/13(火) 21:08:47"retail build" 11200
0535デフォルトの名無しさん
2005/12/13(火) 21:11:07俺の言いたいことを見事に表してくれたな
533に意味が分かるだろうか
■ このスレッドは過去ログ倉庫に格納されています