Microsoft Visual C++ ..
348:デフォルトの名無しさん
05/06/22 13:00:02
押忍!2つほど質問を許可願います!!
1!VCTKでコンパったソフトとソース一式をGPLで公開しても問題ないでありましょうか?
この場合、公開するのは自分で書いたcppやh、rcファイルであります。
2!BCCdeveloperみたいな感じの、VCTK対応の開発環境ソフトはないんでありましょうか?
349:デフォルトの名無しさん
05/06/22 13:45:33
>>348
1.OK
2.Relo
350:デフォルトの名無しさん
05/06/22 15:13:08
押忍!ありがとうございました!
351:デフォルトの名無しさん
05/06/23 01:55:07
Reloを使ってみた。日本語が通らん気味だが、なかなか悪くない。
ソース見るとBCBだったんで、ちょうどあったから「コンパイルし直せばいいんじゃん?」と
思ったんだが、通らん・・・。なんか、SynEditのhppがないって言われたんで、そっちもみたんだが、
こっちはデルファイと来てる。hppなんぞ影も形もない。どうなっとるんじゃこれは?
しかしスレ違いだな・・・
352:デフォルトの名無しさん
05/06/23 07:53:37
俺はvcvars32.batでお腹いっぱいです。
353:デフォルトの名無しさん
05/06/23 21:04:15
ハイーキョ?
354:デフォルトの名無しさん
05/06/23 22:37:10
URLリンク(homepage3.nifty.com)
対応した模様。
C/C++の勉強から始める人にオススメ
355:デフォルトの名無しさん
05/06/23 22:42:57
>>354
もういい加減、LSI C-86を入門者に勧めるのはやめてくれよ…
356:デフォルトの名無しさん
05/06/23 23:17:09
>>355
おまい早合点
357:デフォルトの名無しさん
05/06/24 00:32:01
ていうか「複数ソースのコンパイル・リンクは出来ません」なツールはゴミだろ。
358:デフォルトの名無しさん
05/06/24 21:12:34
まあ、試食版だし。
359:デフォルトの名無しさん
05/06/25 00:08:42
>>357
>レスポンスファイルを利用した複数ファイルのコンパイルをサポート。
って書いてあるな。
メンドクサソウダケド。
「ソフト紹介」のその下りは修正してないみたいだな。
360:デフォルトの名無しさん
05/06/26 03:16:26
>>351
URLリンク(www.borland.co.jp)
hppならこれで作れないの?
361:デフォルトの名無しさん
05/06/26 03:44:09
>>360
うお、そんなのがあったのか、デルファイもってないから全然きがつかんかった。
早速試してみる
362:デフォルトの名無しさん
05/07/01 00:46:49
微妙にスレ違いだが、
DirectXのサンプルをコンパイルしようと思ってVCTKとRelo使ってみたが、
エラーが出てぜんぜん成功しない。
BCCの影響なのかそれとも一からインスコすべきか……
BCCでコンパイルはとおったソースなんだけど……あれ?
363:デフォルトの名無しさん
05/07/01 01:39:02
>>362
サンプルはしらんが、チュートリアルのほうはVCTKとコマンドラインで修正無しでOKだった。
モチのロン、適切なLIBをくっつける必要はあったけど。
つーか、サンプル程度ならReloよりもメイクファイル書いたほうがやりやすくないか?
BCCで通ったってことは、LIBの指定がボーランド用になってるか、
ソースがボーランド仕様にしちゃってるか、じゃない?
つーか、VCTKでプログラミングぉぅぃぇぃ、みたいな解説サイトないかね。
このソースはこう弄る、とか、LIBはこうくっつける、とか。
・・・自分でまとめたほうが早い?
364:デフォルトの名無しさん
05/07/01 02:35:40
OH!遺影
365:デフォルトの名無しさん
05/07/01 07:59:52
なむなむ・・・
366:デフォルトの名無しさん
05/07/01 08:06:27
>>362
どんなエラーが出たか書こうよ。
367:デフォルトの名無しさん
05/07/01 23:32:44
>>362
BCCと一緒に入れてるってことは
パスの指定順のせいとか
368:デフォルトの名無しさん
05/07/02 02:30:32
プロファイラって付いてますか?
みなさんは何を使ってますか?
369:デフォルトの名無しさん
05/07/02 02:47:37
time ./a.out
370:デフォルトの名無しさん
05/07/02 07:59:06
>>363
Visual C++ Toolkit 2003 サポートサイト
URLリンク(shrike.s58.xrea.com)
こんなんどうよ
371:デフォルトの名無しさん
05/07/02 11:19:56
>>369
関数ごとに何%処理がかかっているかを知りたいです。
372:デフォルトの名無しさん
05/07/02 12:51:53
>>369
C:\>time ./a.out
入力された時刻は受け付けられません。
新しい時刻を入力してください:
373:デフォルトの名無しさん
05/07/02 13:38:30
>>371
URLリンク(www.xlsoft.com)
374:デフォルトの名無しさん
05/07/02 14:10:50
>>373
無料のものでお願いします。
375:デフォルトの名無しさん
05/07/02 14:50:25
スレ違いだが mingw で gprof でも使えばぁ?
376:デフォルトの名無しさん
05/07/02 17:20:30
>>374
ないなら自分で作る!
377:デフォルトの名無しさん
05/07/05 21:15:02
Win32APIのヘルプって、どこかにありませんか?
できればローカルで使える物がいいです。
378:デフォルトの名無しさん
05/07/05 22:52:23
URLリンク(www.cs.virginia.edu)
英語やけど
379:デフォルトの名無しさん
05/07/05 23:09:46
>>377
PlatformSDKをインストール
URLリンク(www.microsoft.com)
380:デフォルトの名無しさん
05/07/05 23:47:00
>>378
なぜか繋がらない
>>379
やってみる
二人ともサンクス
381:362
05/07/06 22:00:34
ごめん。ちょっと忙しかったので見てなかった。
>363,367
ごめん。正しくはDirectxの説明をしているサイトのサンプルソースを自分改造したものだった。
ちなみに元のソースもできなかった。
BCC環境は消去するつもりなので、消したら再び挑戦するつもり。
382:362続き
05/07/06 22:02:18
>366
えと、
[CMD] "C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin\cl"
"D:\program test\gametest\winmain.cpp" /c /Fo"D:\program test\gametest\winmain.obj"
/I"C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin\..\include"
/I"C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin\..\..\Microsoft Platform SDK\include"
/I"C:\dx9sdk\Include" /nologo
winmain.cpp
C:\dx9sdk\Include\dinput.h: DIRECTINPUT_VERSION undefined. Defaulting to version 0x0800
[CMD] "C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin\link"
/SUBSYSTEM:WINDOWS /NOLOGO /LIBPATH:"C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin\..\lib"
/LIBPATH:"C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin\..\..\Microsoft Platform SDK\Lib"
/MACHINE:IX86 "/LIBPATH:C:\dx9sdk\Lib" "D:\program test\gametest\winmain.obj"
user32.lib gdi32.lib kernel32.lib comdlg32.lib comctl32.lib vfw32.lib winmm.lib
"/OUT:C:\Program Files\Relo\temp\Project1.exe"
383:362続き
05/07/06 22:02:43
winmain.obj : error LNK2019: unresolved external symbol _Direct3DCreate9@4 referenced in function "long __cdecl DXGInit(struct HWND__ *)" (?DXGInit@@YAJPAUHWND__@@@Z)
winmain.obj : error LNK2019: unresolved external symbol _D3DXCreateTextureFromFileExA@56 referenced in function "int __cdecl LoadTex(int,char *)" (?LoadTex@@YAHHPAD@Z)
winmain.obj : error LNK2019: unresolved external symbol _D3DXGetImageInfoFromFileA@8 referenced in function "int __cdecl LoadTex(int,char *)" (?LoadTex@@YAHHPAD@Z)
winmain.obj : error LNK2019: unresolved external symbol _DirectInput8Create@20 referenced in function "int __cdecl InitDInput(void)" (?InitDInput@@YAHXZ)
winmain.obj : error LNK2019: unresolved external symbol _IID_IDirectInput8A referenced in function "int __cdecl InitDInput(void)" (?InitDInput@@YAHXZ)
winmain.obj : error LNK2019: unresolved external symbol _c_dfDIJoystick referenced in function "int __cdecl InitPad(void)" (?InitPad@@YAHXZ)
winmain.obj : error LNK2019: unresolved external symbol _c_dfDIKeyboard referenced in function "int __cdecl InitKey(void)" (?InitKey@@YAHXZ)
winmain.obj : error LNK2019: unresolved external symbol _GUID_SysKeyboard referenced in function "int __cdecl InitKey(void)" (?InitKey@@YAHXZ)
C:\Program Files\Relo\temp\Project1.exe : fatal error LNK1120: 8 unresolved externals
だった。
ちなみに長いとことは適当なところで改行しました。
>370
そんなサイトあったんだ・・・あとで見ておこう。
みなさん、本当にどうもありがとうございました。
384:デフォルトの名無しさん
05/07/06 22:23:49
つーかDirectX関係のlibを追加しろよ……
385:デフォルトの名無しさん
05/07/07 00:04:00
とりあえず、d3d9.lib d3dx9.lib を追加しようぜ。話はそれからだ。
386:デフォルトの名無しさん
05/07/09 16:34:25
スレッドに関してお教え下さい.
これまで,スレッドを使用したプログラムではいくつかの動作を
メインループから指示するために
WaitForSingleObjectもしくはWaitForMultipleObjectsを使用し
Signalによって動作を起動させていました.
今回,いくつかのパラメータをスレッドに渡す必要が生じたのです
がどのような方法が簡単で安全でしょうか?
387:デフォルトの名無しさん
05/07/09 17:07:22
>>386
パラメータを1つの構造体にまとめる。ただしポインタや整数型1つだけならそのまま渡せる。
そしてスレッドを作る側でその構造体型の変数を作り、
そこへのポインタをCreateThread/_beginthreadexの4番目の引数に(必要ならばキャストして)渡す。整数型なら単にキャストするだけで値渡しできる。
そしてスレッド関数では引数として受け取れる。
388:デフォルトの名無しさん
05/07/10 19:29:53
SSEとかのCPU特殊命令を使うための
サポートファイルがあると聞いたのですが…
どういうものなのでしょうか?
どこからダウンロードできますか?
389:388
05/07/10 20:03:02
Visual C++ 6.0 Processor Pack
最終更新日: 2000/09/29
URLリンク(www.microsoft.com)
探してこんなページを見つけたけど、なんか古いような・・・
このToolkit2003に必要なんだろうか
390:デフォルトの名無しさん
05/07/10 20:06:05
>>388
2003ならインラインアセンブラか組み込み関数使えばできる。
__asm{
movaps xmm0, [ebx];
}
意味ないコードだかこんな感じで。感じで。
レジスタの内容は自動的にスタックに退避と復元をしてくれるらしい。
一応聞くが2003の話だよな?
391:デフォルトの名無しさん
05/07/10 20:08:26
> Visual C++ 6.0 Processor Pack
~~~~
最適化は標準でできる希ガス
392:388
05/07/10 21:52:44
>>390
>一応聞くが2003の話だよな?
はい、そうです。
Toolkit2003の話しです。
自前でアセンブラを書くのですか…
それでなんとかするのはわかりましたが、日頃思うのは、
_asm ブロックの前後で、コンパイラの最適化が
邪魔されてしまっているのではないかと疑問に
思っているのです。
コンパイラに拡張命令を使わせるヒントを与えるような
C/C++の関数があれば、コンパイラがスムーズに
最適化を進められるのではないか、と思って質問しました。
それに、アセンブラって、私、ミスしやすいし…
Visual C++ 6.0 Processor Pack の後継者となるサポートパックは
出ていないのでしょうか?
393:388
05/07/10 21:58:50
「組み込み関数」って何でしょうか?
無知でごめんなさい…
インテル(R) C++ コンパイラ 8.1 Windows* 版に含まれているファイル
URLリンク(www.xlsoft.com)
調べて、上のページを見つけましたが、Toolkit2003 の話しでは
ないように見うけられます。
394:デフォルトの名無しさん
05/07/10 23:18:13
MSDNじゃ組み込み関数もIntrinsicsも引っかからないのか。
インライン関数っていうべきなのかな?
組み込み関数についてはこことか。
URLリンク(www.microsoft.com)
MMX、SSE、SSE2の組み込み関数 (題名に3DNowがないのは悲しいことだ)
URLリンク(www.microsoft.com)
ちなみに、2003ならオプション指定すればスカラ演算レベルで拡張命令を使ってくれるはずだ。
ベクトル化してくれるのはIntelコンパイラかVectorC {PC}ぐらいかな。
395:デフォルトの名無しさん
05/07/10 23:35:56
ivec.hとfvec.h、dvec.hには
組込み関数をさらにクラスでラップしたものもある。
toolkitにも入ってるし使ってみたら?
396:388
05/07/11 18:57:41
いろいろとアドバイスありがとうございます
なんだか知らない機能が急に増えた気がしてとまどってます
じっくり調べます
どうもありがとうございました
397:デフォルトの名無しさん
05/07/11 20:45:32
>>396
大きなお世話かもしれないが、君の生半可な知識で「・・・を教えてくれ」と書くよりは、
最終的に何をやりたくてそれを知りたいと思うに至ったかを書いたほうが、より適切な
情報が得られる可能性が増えると思うよ。
398:デフォルトの名無しさん
05/07/12 16:04:51
大きなお世話だ
399:デフォルトの名無しさん
05/07/12 20:07:19
がちょーん
ひどい・・・
400:デフォルトの名無しさん
05/07/12 23:22:38
396と398は別人の希ガス
401:デフォルトの名無しさん
05/07/13 21:52:27
>>399
放置汁
402:388
05/07/13 23:42:07
>>396
すみません、返事がおそくなりました
それから398は違う人です
最終的に何を〜というのは、まだないです
今まで bcc + tasm を使ってました
toolkit2003 ではじめて MS 系のコンパイラにふれます
MS 系には Borland 系とちがって拡張機能を
サポートする態勢がととのっているという印象があって、
どこからふれればいいのやら…と探していました
オプション指定すれば自動的に〜というのは
/arch:SSE2 とかするのかな
拡張機能というと MMX や SSE などがまず頭に浮かびますが
cmov とか sincos とかもC++から気楽に使いたい…
/ と % を同時に求めるとかも
asm文ならすぐだけど
403:デフォルトの名無しさん
05/07/14 00:49:19
>>402
>/arch:SSE2 とかするのかな
それそれ。
拡張命令の売りの一つであるSIMDはもちろん無理で、
SISDとしてしか使われないけど。
あとcmovは/arch:SSE以上の指定でコンパイラも使用するようだ。
もちインラインアセンブラでも使えるだろうけど。
404:デフォルトの名無しさん
05/07/14 00:51:35
それ指定すると、SSE2が仕えないCPUなどでは動かなかったりしないのかな
405:デフォルトの名無しさん
05/07/14 01:31:36
MSDNには書いてないけど、たしかRigid-chpsの15B13dが
SSE2有効でコンパイルされてて問題起こったんじゃなかったっけ?
今度試してみる。
406:デフォルトの名無しさん
05/07/14 02:01:28
>>402
> / と % を同時に求めるとかも
URLリンク(www.linux.or.jp)
でもまぁパフォーマンス取るなら標準のものを用意した上で
特化バージョン作るのがいいのかも。
407:デフォルトの名無しさん
05/07/14 03:05:27
*dsw *dspファイルからmakeってどーやんしょ?
VC++ないと無理?
408:デフォルトの名無しさん
05/07/14 03:09:30
>>407
できません
dspにはMakefileを作るために必要な情報は全て入ってるから、
それをもとに手で書くか、perlスクリプトででも変換しる
409:デフォルトの名無しさん
05/07/19 18:46:04
>>407
Code::Blocks使ってみたら。
VC++のプロジェクトをインポートできる。
URLリンク(www.codeblocks.org)
410:デフォルトの名無しさん
05/07/21 09:18:31
なんか最近SDKのファイル構成変わったの?
IA-32用、IA-64用とかに分かれちゃってるけど。
もしかしてIA-32のパッケージからはATLやらツール類やらが削られたとか?
更新していいものなのかどうか(´・ω・`)
411:デフォルトの名無しさん
05/07/22 18:11:16
>>403
SSEは使いたかったらxmmintrin.hやらfvec.hやらを使えばええよ。
Intelのサイトとかに使い方のマニュアルやらサンプルやらがあるはず。
ICCで使えばもうインラインアセンブラ不要なレベルまで最適化してくれる。
(ロード・ストア操作のスケジューリングを自動化してくれてめちゃくちゃ楽。x86→x64のコード移植も楽々。)
412:デフォルトの名無しさん
05/07/22 20:09:44
>>411
それら一応既出な。>>394-395
ICC持ってんのか。うらやましいもんだ。
ICCも速いらしいがVectorCはどうなんだろうな。
学部生の自分にはどっちも高くて手が出ないがorz
413:デフォルトの名無しさん
05/07/22 21:33:11
貧乏人は gcc 4 の自動ベクトル化に期待。誰か試した?
414:デフォルトの名無しさん
05/07/26 05:07:04
VC++.NET standardでToolkitを使おうと思うんですが
どうやったら使えるようになりますか?
415:デフォルトの名無しさん
05/07/26 14:03:48
>>414
cl.exeを上書き保存
416:デフォルトの名無しさん
05/07/26 17:18:47
>>415
おいおい、
オプションの実行可能ファイルのフォルダ指定で
toolkitのCL.EXEのパスをVSのそれより上位にすればいい。
417:デフォルトの名無しさん
05/07/26 21:46:19
>>415-416
ありがとうございました。
やってみます。
418:デフォルトの名無しさん
05/07/26 21:51:21
>>415-416
ありがとうございました。
やってみます。
419:デフォルトの名無しさん
05/07/28 07:09:21
Code::Blocksいいねこれ
簡単にコンパイルできる環境ができたよ
420:デフォルトの名無しさん
05/07/29 08:07:24
VC++6でToolkitを使おうと思うんですが
無理ですか?
421:デフォルトの名無しさん
05/07/29 12:26:20
>>420
漏れは使ってる。
2003TKだと6のデバッガが使えずめどいのでテスト中は6でビルド。
6のMFCもmsvcrt71.dllとmsvcrt.dllと両方ロードするようになるのさえ我慢すれば一応リンク可。
422:デフォルトの名無しさん
05/08/01 01:30:32
先週、外装交換してもらうためにauショップいったらそろそろ外装交換ができなくなるような話をしてた…
423:デフォルトの名無しさん
05/08/01 02:21:50
>>422
誤爆?
424:420
05/08/02 03:39:13
>>421
サンクスコ!
やってみるです。
(回線細いので落とすのに勇気が必要だった)
425:デフォルトの名無しさん
05/08/08 17:29:43
Code::Blocks 1.0-RC1-1出てた。
426:デフォルトの名無しさん
05/08/10 11:19:15
Code::Blocksって普通に日本語使えるの?
427:デフォルトの名無しさん
05/08/11 19:23:46
使える
428:デフォルトの名無しさん
05/08/15 02:37:01
Code::Blocksで
「LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt」
とでてしまうのですが、何が問題なのでしょうか?
DOSプロンプトから手打ちでは、成功します。
URLリンク(cazlog.cocolog-nifty.com)
に載っているサンプルプログラムを試しています。
429:デフォルトの名無しさん
05/08/15 18:46:59
>>428
やってみたけどエラー出なかった。
とりあえず、コンパイラログを貼ってみて。
「Compiler Settings」>「Other」で「Compiler logging」を「Full command line」にしておけよ。
430:428
05/08/15 20:13:16
>>429
わざわざ試して頂いてありがとうございます。
ちょっと長くなりますが、こんな感じのエラーでてしまいます。
Project : Console application
Compiler : Microsoft Visual C++ Toolkit 2003 (called directly)
Directory : F:\PROJ\testPoj\
--------------------------------------------------------------------------------
Switching to target: default
RC.Exe /I"D:\Microsoft Visual C++ Toolkit 2003\include" /I"D:\Microsoft Platform SDK\Include" -fo.objs\vctest.res vctest.rc
cl.exe /nologo /I"D:\Microsoft Visual C++ Toolkit 2003\include" /I"D:\Microsoft Platform SDK\Include" /c vctest.cpp /Fo.objs\vctest.obj
vctest.cpp
link.exe /nologo /LIBPATH:"D:\Microsoft Visual C++ Toolkit 2003\lib" /LIBPATH:"D:\Microsoft Platform SDK\Lib" /out:consoleTest.exe .objs\vctest.obj .objs\vctest.res user32.lib kernel32.lib gdi32.lib
LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
Process terminated with status 1 (0 minutes, 1 seconds)
1 errors, 0 warnings
431:デフォルトの名無しさん
05/08/15 20:26:15
ライブラリの形式が違うってエラーじゃなかった?
432:デフォルトの名無しさん
05/08/15 23:22:34
ライブラリですか。。
user32.libはたぶんMicrosoft Platform SDKのを使っていると思います。
ちゃんとパスが通ってるのなら。
433:デフォルトの名無しさん
05/08/15 23:46:49
他にリンクしているライブラリや、コンパイル済みのobjファイルが
あると思うんだけど。
434:デフォルトの名無しさん
05/08/16 00:27:41
DOSコマンドラインで手動ビルドが成功してるんなら既製ライブラリには問題ないんじゃないの。
たまたまvctest.obj vctest.resの生成に失敗してるのかもしれない。
2,3回リビルドしてみたら。
コンパイルログは問題なさそう。
こっちではこれでいけてる。参考までに貼っとく。
Project : Console application
Compiler : Copy of Microsoft Visual C++ Toolkit 2003 (called directly)
Directory : D:\UnPack\test\
--------------------------------------------------------------------------------
Switching to target: default
rc.exe -fo.objs\test.res test.rc
cl.exe /nologo /ID:\Microsoft\VC++Toolkit\include /ID:\Microsoft\psdk\include /ID:\dxsdk\Include /c main.cpp /Fo.objs\main.obj
main.cpp
link.exe /nologo /LIBPATH:D:\Microsoft\VC++Toolkit\lib /LIBPATH:D:\Microsoft\psdk\lib /LIBPATH:D:\dxsdk\Lib /out:D:\UnPack\test\console.exe Kernel32.lib User32.lib Gdi32.lib .objs\main.obj .objs\test.res
Process terminated with status 0 (0 minutes, 10 seconds)
0 errors, 0 warnings
435:デフォルトの名無しさん
05/08/16 02:21:47
みなさん、ありがとうございます。
個人的に怪しかったcvtres.exeを代えてみたところ、まずうまくいきました。
以前はpsdkのwin64に入ってたものを使っていたのですが
これをFramework(v1.1.4322)のものに変えたらすんなり実行できました。
win64はたぶん64bitCPUに対応したもので
うちのCPUはPIIIなのですが、これがいけなかったのかと思っています。
そして別のサイトさんで
「I-64用なので、環境変数PATHの一番最後に指定」
とあったので、CompilerSettings-Programs-Additional Pathsで
VCTKitのBIN SDKのBin SDKのBinのWin64 の順に登録したらwin64中のcvtres.exeで
通るようになりました。
要はWin64ディレクトリにある他のDLLファイル等はIA-64用だったので
これを最後に見に行くようにしてなかったのがいけなかったようです。
明日も早いので、むちゃむちゃな文章で悪いのですが
簡単な情報として書き込んで失礼致します。
436:デフォルトの名無しさん
05/08/19 12:41:29
ハイーキョだなあ……
437:デフォルトの名無しさん
05/09/02 01:38:39
すみません教えてください。
Win32APIのReadConsoleとか使ってコンソールアプリを作っているのですが
パスワード入力のところで、エコーバック無しで入力させたいのですが
どのようにすれば良いのでしょうか?
SetConsoleModeとか?いろいろやってみたのですがダメです。
438:デフォルトの名無しさん
05/09/02 01:57:36
>>435
>psdkのwin64に入ってたものを使っていたのですが
…
439:デフォルトの名無しさん
05/09/02 02:10:12
>>437
試してないけど↓こんな感じでいけないの?
BOOL bRet = FALSE;
DWORD dwOldMode = 0;
//現在のモード取得
bRet = GetConsoleMode(hConsoleHandle,&dwOldMode);
//エコーのビットを落とす
dwNewMode = dwOldMode & (~ENABLE_ECHO_INPUT);
bRet = SetConsoleMode(hConsoleHandle,dwNewMode);
//パスワード入力処理
ReadConsole等…
//もとにもどす
bRet = SetConsoleMode(hConsoleHandle,dwOldMode);
440:デフォルトの名無しさん
05/09/29 18:48:35
これでコンパイルしたlame.exe(lame-3.96.1)はICLでコンパイルされた
RareWareで配布されているバイナリとかServices for Unixに付属の
gcc-3.3と違うエンコ結果になる。VB.NET Standard付属のcl.exeも同様。
441:デフォルトの名無しさん
05/09/29 19:11:27
そうやって簡単に言い切れるところがすごい
442:440
05/09/30 04:04:46
いや試すのは簡単。用意されているmakefile使ったりconfigureすれば
いいだけだから。あとはmp3ファイルのmd5sumを取ればいい。
443:デフォルトの名無しさん
05/09/30 07:04:44
ソフトの処理内容がコンパイラによって変わるってあやしすぎね?
444:デフォルトの名無しさん
05/09/30 10:31:00
浮動小数の演算結果が処理系によって違いが出るのは至って普通
445:デフォルトの名無しさん
05/09/30 10:48:42
ファイルを配布する側は、すべての環境でテストしたわけじゃないから
用意されてるmakefileがあなたのお使いの環境にあってる保証はないですよ。
446:デフォルトの名無しさん
05/09/30 15:24:28
sseとかの有無は合わせてるのか?
447:440
05/09/30 16:18:38
>>443
そうなんです。あやしすぎます。
>>444
それかもですねぇ。
>>445
MSVC用ってだけなんで個々(VC6, VC7など)の cl.exe 間の相違については考慮
してないのかも。もうちょっと詳しく見てみます。
>>446
MMXの使用有無は試しました。使っても使わなくても同一のMP3ファイルが
できました。SSE*は私のCPUにはついてないので試せないですorz
448:デフォルトの名無しさん
05/09/30 16:25:31
最適化が影響与えてるとか
449:デフォルトの名無しさん
05/10/05 00:19:34
>>447
MMXの有り無しで違いがないなんて普通はないはず。
MMX整数を使えば精度が落ちる。
ちゃんとMMXが使われているかどうかアセンブラコードを出力して確認してみろ。
450:デフォルトの名無しさん
05/10/24 10:39:12
クラスの内部でconstを使った定数を使いたいのですが、どのように書けばよいのでしょうか?
451:デフォルトの名無しさん
05/10/24 17:14:34
>>450
class hoge
{
static const int Foo = 1;
};
452:デフォルトの名無しさん
05/10/25 13:59:57
>>449
>MMX整数を使えば精度が落ちる
整数演算で精度は落ちないだろ?
MMXレジスタで数値オーバーするような状況に
MMXを適用してるとしたらプログラムがタコ
453:デフォルトの名無しさん
05/10/25 14:18:37
>>452
わろた
454:デフォルトの名無しさん
05/10/26 00:41:03
>>452
アホ?
それともプログラミングしたことないのか?
455:デフォルトの名無しさん
05/10/26 00:56:57
流れも読まずに飽和演算の動きが違うからと言ってみる
456:デフォルトの名無しさん
05/10/26 02:06:51
まあそう言ってやるな。
つまるところ有効精度の問題だ。
MMXだとDWORDx2を使うと、汎用レジスタ使った方が早い。
従ってMMX使う場合、まあWORDx4で演算することになる。
乗除算で有効精度はどんどん落ちる。
あと、・整数で演算するからといって、演算対象が整数だとも限らん。
(判り易く10進数で例示すると、 123.45 * 100 = 12345 (整数化))
457:デフォルトの名無しさん
05/10/26 02:30:00
>>452
オーバーフローなんか精度云々以前の問題だろ。
結果が全然違ってくるぞ。
458:440
05/10/26 05:01:29
すんませんです。私のせいかも。まだ検証していません。
もしお暇な方がいらっしゃいましたら検証おながいします。
ほんとにすんません。
459:デフォルトの名無しさん
05/10/26 08:49:18
>>456
> MMXだとDWORDx2を使うと、汎用レジスタ使った方が早い。
嘘つくなって。
しかも有効精度とかいってるあたり、何か勘違いしてるだけのような気が。
> あと、・整数で演算するからといって、演算対象が整数だとも限らん。
ヒント:標本化 → 量子化 → 符号化
460:デフォルトの名無しさん
05/10/26 17:37:04
わろた。
全然トンチンカンなヒントになってる。
それとちゃんと説明するクセをつけたほうがいいぞ。
じゃないと自分でもわかったつもりになって終わるし、
突っ込むほうだって範囲が広すぎてイヤになる。
461:デフォルトの名無しさん
05/10/26 17:52:13
>>459
>嘘つくなって。
アスロンだと違うのかな?
Pen3/4で非常に苦労してるんだが?
462:デフォルトの名無しさん
05/10/26 18:11:43
>>452
8bitで表わせる範囲の数(0-255)であっても
16bit(WORD)で演算するのはちょっと精度不足だよ。
せいぜい10bit程度しかシフトできないんで、DWORDで計算するのとでは
誤差の出方が違ってくる。
実際プログラミングして試してみれ。
463:デフォルトの名無しさん
05/10/26 22:14:36
あ、ごめん。
いきなり10bitなんて言っても何のことだか分からないよね。
これはある演算をするときにオーバーフローしないぎりぎりの精度を保つときの値で
別の演算には通用しない。(一般には8bit以下しかシフトできない)
が、これでも精度落ちするってこと。
464:デフォルトの名無しさん
05/10/27 03:32:00
「精度」と言う単語を誤用している人間が居るので話がややこしくなる。
465:デフォルトの名無しさん
05/10/27 09:01:26
>>464
俺にはどうややこしくなるのかさっぱりわからんが?
何と混同するっていうの?
466:デフォルトの名無しさん
05/10/27 09:35:51
>>464
ちょっと、どう誤用なのか説明してくれ
URLリンク(www.google.com)
467:デフォルトの名無しさん
05/10/27 10:43:07
>>466
計算精度、有効桁数と言えってことだろうね。
でも誰も意味を取り違えたりしないって。
はっきり言って議論に水さしする、瑣末にこだわる嫌な人って思われるさ。
468:デフォルトの名無しさん
05/10/27 13:03:07
そんな事より >>462 の言っている事がサッパリ分からないヘタレな俺に
詳しく説明してくれまいか
469:デフォルトの名無しさん
05/10/27 14:09:50
>>468
MPEGのデコーダーでそんなのがあった気がする。
32bit-MMXだと精度不足になるだとか。
俺がよく知ってる事例だと、YUV->RGB変換でのMMX計算とかかな?
470:468
05/10/27 15:38:00
>>469 さんありがとぅ、でもそう言うのじゃないんです
>>462 の
> 8bitで表わせる範囲の数(0-255)であっても
> 16bit(WORD)で演算するのはちょっと精度不足だよ。
この場合、最大8bitの整数同士の演算結果を16bitで表すのだから
オーバーフローやアンダーフローも起こり得ないのに「精度不足」
と言うのが分からない
> せいぜい10bit程度しかシフトできないんで、DWORDで計算するのとでは
> 誤差の出方が違ってくる。
整数演算の結果をなぜシフトする必要があるのか?整数演算での誤差?
まさかとは思うが、固定小数点での演算を整数演算と言っているの?
471:デフォルトの名無しさん
05/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で誤差無くす方法なんてなんぼでもあるだろ。
面倒いけど。
472:デフォルトの名無しさん
05/10/27 21:41:47
どうしていつの間にか整数演算になっちゃったんだろう?
MPEG音声圧縮の話なんだろ、元々は。
473:デフォルトの名無しさん
05/10/27 21:45:42
しかもVCTKには関係ない話題だ。
なんかVC++のよろず質問スレと勘違いされている。
474:デフォルトの名無しさん
05/10/28 02:05:29
元の質問はスレ違いでもないと思うけど
475:デフォルトの名無しさん
05/10/28 17:08:48
VCTK2003でプリコンパイル済みヘッダ使う場合、/Ycと/YuのオプションつければOKですか?
あと、/Yuでパス指定する場合はフルパスじゃないとだめですか?
今までVC++6.0ばっかり使ってきたんで、この辺さっぱりわからないですorz
476:デフォルトの名無しさん
05/10/28 17:26:38
VC++6でプロジェクト作ったらわかりそうなもんだが
477:デフォルトの名無しさん
05/10/28 20:17:31
>>475
VC6のプロジェクトの設定(プロパティかも)をじっくり見ろ。
478:デフォルトの名無しさん
05/10/28 21:15:57
ブルジョワどもめ。
479:デフォルトの名無しさん
05/10/29 09:31:16
あるえ
480:デフォルトの名無しさん
05/11/01 20:43:08
>>459
Pentium4のデータだが、全命令でそうだとは言わないが、
大体、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
481:デフォルトの名無しさん
05/11/01 21:12:47
>>480
レイテンシの意味わかってる?
482:デフォルトの名無しさん
05/11/01 22:29:13
レイテンシ:
IA-32 命令を構成しているすべてのマイクロオペレーション
(μOP) の実行が実行コアで完了するのに要するクロック・サイクル数。
スループット:
発行ポートが同じ命令を再度自由に受け入れられるようにな
るまで待たなければならないクロック・サイクル数。多くの
IA-32 命令は、命令のスループットのほうがレイテンシより
もかなり小さい。
483:デフォルトの名無しさん
05/11/01 22:42:53
いかにレイテンシを隠蔽するかが問題。
・実行コアへのμOPの流入量を最大にする
・インターリーブしてリソースの競合(ポート、実行ユニット)を避ける。
・クリティカルパス上の依存関係チェーンのレイテンシを最小にする。
俺はスループットは殆ど考慮しない。
484:デフォルトの名無しさん
05/11/02 00:59:59
ALUとSSE2を同時に回せ
485:デフォルトの名無しさん
05/11/02 11:06:09
アルゴリズムレベルから最適化すべし。
終了。
486:デフォルトの名無しさん
05/11/23 02:26:10
ハイキョってるなあ・・・
487:デフォルトの名無しさん
05/11/23 03:14:05
まぁ2005Express出ちゃったしねぇ…。
488:デフォルトの名無しさん
05/11/23 04:57:20
Microsoft Visual C++ Toolkit 2005は出るの?
489:デフォルトの名無しさん
05/11/23 09:26:01
そのうち
490:デフォルトの名無しさん
05/11/23 11:34:34
Expressがこのままフリー提供になってVCTKの代わりになっちゃうんじゃねぇかしら。
491:デフォルトの名無しさん
05/11/23 12:10:04
フル機能を持つMicrosoft Visual C++ Toolkit 2005が出るとしたら
8Pro以上がそれなりに無意味になるな。
Expressか、せいぜいクラスデザイナのあるStandard辺りを買っておけば良いわけだ。
そんなわけでやっぱりVCTK2005は出さないかもなぁ…。
492:デフォルトの名無しさん
05/11/23 12:11:52
いやでもそれをやったのがVCTK2003+VC7 Standardなのか
とはいえそれも他社に押される形だったし、
最初からその辺考えられる今回は無理かねぇ。
それとも一度やったことは続けるのかね。
493:デフォルトの名無しさん
05/11/23 19:50:02
VCTKを無償公開したときの口実に、2003stdのユーザにも最適化コンパイラを
提供するとかいうのがあったはずなので、VCTK2005は出ないと思う。
たぶん>>490の通りになるかと。
494:デフォルトの名無しさん
05/11/23 20:28:43
どうせ2005 Expressも今までと同等の最適化はある。
495:デフォルトの名無しさん
05/11/23 23:00:03
>>493
その理屈だと、Express、2005stdユーザにもPGOコンパイラを、ってならないのか
496:デフォルトの名無しさん
05/11/23 23:49:47
PGOはコンパイラ単体の機能実現できないんだし、いいんじゃね?
さすがにPGO欲しいなら買えばいいとおもうんだが。
497:デフォルトの名無しさん
05/11/23 23:50:28
修正:
PGOはコンパイラ単体の機能じゃ実現できないんだし、いいんじゃね?
さすがにPGO欲しいなら買えばいいとおもうんだが。
498:デフォルトの名無しさん
05/11/23 23:54:46
> PGOはコンパイラ単体の機能じゃ実現できない
ほんとかよ
499:デフォルトの名無しさん
05/11/24 01:02:33
そらそうだろ。
プロファイル結果に基づいて最適化する機能なんだから。
プロファイラがなくてどうするよ。
500:デフォルトの名無しさん
05/11/24 01:09:16
なんでVCTKがコンパイラ単体の機能しか付かない事になってんのよ
501:デフォルトの名無しさん
05/11/24 01:13:15
URLリンク(www.microsoft.com)
ここを見る限りコンパイラ単体の機能じゃないな。
プロファイラって言うよりリンカが特別なコードを挿入して
一度アプリケーションを実行することで、PGOに必要なファイル(.pgc)を生成。
その後再コンパイルする時に、プロファイル結果(.pgc)を利用するという動作みたい。
ってことでPGOを行うには、コンパイラとリンカが対応する物の必要がありそう。
502:デフォルトの名無しさん
05/11/24 01:20:13
>>500
それもそうだな。
495のPGOコンパイラって表現に反応しすぎた。失礼。
まぁどの道ExpressじゃPGOは利用できないだろうしなぁ。
VCに限って言えば、今回の目玉だろうしなぁこれ。
503:デフォルトの名無しさん
05/11/24 01:23:28
うんだからVCTK2003にもリンカくらいついているという話
504:デフォルトの名無しさん
05/11/24 01:25:10
おっと503は501宛ね
505:デフォルトの名無しさん
05/11/24 03:13:55
っていうか2003で十分じゃない?おまいらも.NETなんてどうでもいいんだべ?
506:デフォルトの名無しさん
05/11/24 04:01:37
VCTK+WinSDKでは、リソース関連のヘッダが不足してて苦労しない?
どうしてる?
507:デフォルトの名無しさん
05/11/24 04:46:26
どうせ自分で組むので気にならない
508:デフォルトの名無しさん
05/11/24 07:54:08
ぷらっとふぉ〜むSDKとだいれくとえっきすSDKをフルインスコしても無理か?
509:デフォルトの名無しさん
05/11/24 15:52:54
Expressには単純なプロファイラも付かないの?
510:デフォルトの名無しさん
05/11/24 16:29:26
Express期限があるから安心して使えねえ
511:デフォルトの名無しさん
05/11/29 01:11:45
これでコンパイルしたLAMEのバイナリでエンコしたMP3ファイルと
公式(?)バイナリでエンコしたMP3ファイルが一致しない件ですが
cl のオプションで浮動小数点の精度に関するものは
/Op と /QIfist しかないよう。どちらか片方と両方同時も
試しましたがやはり一致しませんでした。
こんな状況ではLAMEで作ったMP3の音質をああだこおだ議論している
人たちがうさんくさくて仕方がありません。
512:デフォルトの名無しさん
05/11/29 01:44:20
>>440 の方? 試したコンパイラはこれ?
ICL (RareWareで配布されているバイナリ)
Services for Unixに付属 gcc-3.3
VB.NET Standard付属のcl.exe
MSVC 2003
このうち MSVC 2003 のだけ結果が違うの?
513:デフォルトの名無しさん
05/11/30 00:45:56
以前試したときはSFUのとICLのは一致していたのですが曲によっては
一致しないらしく今回は一致しませんでした。つまりすべて一致せずです。
514:デフォルトの名無しさん
05/12/12 17:18:24
素直にFIIS console(v3以降)CBR320Kで。
515:デフォルトの名無しさん
05/12/13 05:35:50
Platform SDKのサンプルのVListVwをmakeしようとすると
LINK : fatal error LNK1104: cannot open file 'LIBCMTD.lib'
NMAKE : fatal error U1077: 'link' : return code '0x450'
Stop.
ってエラーが出ます。助けてください
516:デフォルトの名無しさん
05/12/13 14:58:19
>>515
どっか弄った?
どうやってmakeした?nmake?
そのままmakeしたのならデバッグバージョンのlibmtを使うとは思えないんだけど?
VCTK2003にはlibmtdは付属してないんでね。
まあ何にしろretailビルドに変えてみては。
517:デフォルトの名無しさん
05/12/13 15:19:03
retailビルドって何か新鮮だな、bulkビルドみたいな
518:デフォルトの名無しさん
05/12/13 15:39:39
>>516
nmake -f makefile
でやったのだけど・・・
519:デフォルトの名無しさん
05/12/13 16:07:35
>>518
えっと、じゃあ環境を変えて再チャレンジ。
Set Windows XP 32-bit Build Environment (Retail)
からやってみそ。
520:デフォルトの名無しさん
05/12/13 16:19:07
あと
>>517
Debug Build / Retail Build
っていつも言ってるけど、そんなに新鮮に聞こえるほど
ローカルな用語だったの?
521:デフォルトの名無しさん
05/12/13 16:32:16
普通はdebug/releaseを使うだろ
522:デフォルトの名無しさん
05/12/13 16:34:57
Retailなんて初めて聞いたな
PCパーツか
523:デフォルトの名無しさん
05/12/13 16:54:47
そんなこと無いだろ。
debug/retailって使うよ。
スイッチだって/debugと/retailだし。
debug/releaseというよりdebug/retailというほうがメジャーだよ。
確かに、Visual Studioではdebug/releaseだったけど。
524:デフォルトの名無しさん
05/12/13 19:10:16
debug/release の検索結果 約 33,500 件中 1 - 10 件目 (0.19 秒)
debug/retail の検索結果 約 422 件中 1 - 10 件目 (0.07 秒)
525:デフォルトの名無しさん
05/12/13 19:29:59
debug release 約 7,160,000 件
debug retail 約 482,000 件
そりゃまあ検索したらreleaseが多いのは当然だろう。
Visual Studio使ってる奴が一杯いるから。
でもWindows VisualStudioを除くとどうなることやら。
同じWindowsでもCEとかembeddingだとまた違ってくるぞ。
526:デフォルトの名無しさん
05/12/13 19:40:08
retail版ならおかしくないが、retailビルドって変な気がする
527:デフォルトの名無しさん
05/12/13 19:44:50
>>525
> 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 秒)
528:デフォルトの名無しさん
05/12/13 20:00:59
なんか急に強気になったよな。>>520と同一人物とは思えないくらい。
まさか複数居るわけ無いし。
debug/release組は、複数居るのは確かだけど。
529:デフォルトの名無しさん
05/12/13 20:05:46
retail という用語には、商業上の「小売り」の意味合いが出てくる。
有償・無償の意味を一切もたない release の方が、Linuxなどでも使うべき汎用的な用語だと思う。
そんなわけでreleaseの勝利。
以下、スレテーマに戻る
530:デフォルトの名無しさん
05/12/13 20:17:35
なんでもいいよ。バグが入ってることには変わりないんだから。
531:デフォルトの名無しさん
05/12/13 20:41:58
>>519
ありがとうございます凡ミスしてますた。
setenv /XP32 /RETAIL
で起動してみたらエラーが出てPlatform SDKのインストール作業をしてなかったことに気がつきますた(HDに入っているだけの状態)。
パスは正常に通してあって、今まで何事もなく使ってたので大丈夫かと思ってました。
setenv /XP32 /RETAIL
nmake /f makefile
で無事にいけますたありがとうございます。
532:デフォルトの名無しさん
05/12/13 20:45:42
Microsoft Platform SDK\Samples\Begin\Simple
ぼっきしますた
533:デフォルトの名無しさん
05/12/13 21:03:56
release build の検索結果 約 134,000,000 件
retail build の検索結果 約 34,800,000 件
約4倍の差だけど、逆にたった4倍しか差が無いのって思わん?>みんな
534:デフォルトの名無しさん
05/12/13 21:08:47
"release build" 272000
"retail build" 11200
535:デフォルトの名無しさん
05/12/13 21:11:07
>>534
俺の言いたいことを見事に表してくれたな
533に意味が分かるだろうか
536:533
05/12/13 21:15:15
>>535
なんか俺に含むところでもあるの?
537:デフォルトの名無しさん
05/12/13 21:19:06
"release build" の検索結果のうち microsoft.com からの約 528 件
"retail build" の検索結果のうち microsoft.com からの約 127 件
debug release の検索結果のうち microsoft.com からの約 66,100 件
debug retail の検索結果のうち microsoft.com からの約 11,000 件
538:デフォルトの名無しさん
05/12/13 21:19:43
>>536
(ノ∀`) アチャー
539:デフォルトの名無しさん
05/12/13 21:22:47
たった27倍の差しか無いってさ。
例えば
microsoft+buildだと226,000件
linux+buildだと375,000件
こういうのと同列で
retail+buildやrelease+buildの件数を比較しても
全然意味無いんだよ。
release buildとretail buildという熟語同士で比較するならともかく、ね。
540:デフォルトの名無しさん
05/12/13 21:29:58
まあMSはリテール版のWindowsも作っているわけで。
リテール版Windowsの対義語はデバッグ版Windowsなのかな、と。
日本語(カタカナ)になるとニュアンスが変わるのかもしれないけどね。
541:デフォルトの名無しさん
05/12/13 21:43:39
でもさあ、確かにMSも"retail build"って単語使ってるね。
542:デフォルトの名無しさん
05/12/13 21:47:21
まあ何はともあれ、retailビルドってのをはじめて聞いただなどとほざく輩はおよびじゃないな。
543:デフォルトの名無しさん
05/12/13 21:54:07
retail buildってrelease buildを標準語とすると、広島弁みたいなもんでしょ?
544:デフォルトの名無しさん
05/12/13 21:55:17
失笑はしたけど意味は通じたしな。
545:デフォルトの名無しさん
05/12/13 22:03:13
retail <-> bulk
って直結する短絡的な頭は幸せだなあ。
546:デフォルトの名無しさん
05/12/13 22:13:26
どこにbulkなんて書いてあるんだろう・・・
547:デフォルトの名無しさん
05/12/13 22:20:00
>>546
ちゃんと見直せよ。最初にあっただろ。
数が少なかろうがMSがretail bulidって言葉を使ってる限り
それを笑うのはいかがなもんだろうか?
逆に己の知識の狭さを披露してることになりはしないのだろうか?
一つのことしか許容できないってのは精神の未熟を示してるぞ。
なので、俺はどっち派でも無いのである。
548:デフォルトの名無しさん
05/12/14 00:03:33
>>543
いや、標準語、公用語に対する東京弁みたいなものがより近い。
549:デフォルトの名無しさん
05/12/14 00:04:12
>>547
俺はどっちでもいい派
550:デフォルトの名無しさん
05/12/14 00:11:50
>>547
そういう連中の釣り行為を放置できないお前の精神も未熟だと思うぞ。
そろそろ終わってくれないか、ビルド呼称に関する口論。
551:デフォルトの名無しさん
05/12/14 00:33:46
retailビルドだって言ってた奴のおかげで大元の質問者は解決したようで役立ってるんだけども
その他の奴ってしょうもない奴ばっかりだな。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5371日前に更新/181 KB
担当:undef