Microsoft Visual C++ Toolkit 2003 質問箱
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
05/03/01 04:24:15http://msdn.microsoft.com/visualc/vctoolkit2003/
関連スレなどは>>2以降で
0314デフォルトの名無しさん
2005/06/01(水) 10:40:260315デフォルトの名無しさん
2005/06/01(水) 11:28:33ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_predir_pragma_directives.asp
0316デフォルトの名無しさん
2005/06/01(水) 22:30:36を指定するのって、どうやるんでしょう?
cl.exe main.cpp /NODEFAULTLIB:libc.lib
とかやってもエラーになります。
0317デフォルトの名無しさん
2005/06/01(水) 23:58:59単に/NODEFAULTLIBだけで。
0318デフォルトの名無しさん
2005/06/02(木) 00:38:55/NODEFAULTLIBはコンパイラじゃなくてリンカのオプションだから、
/linkの後に指定する必要がある。
cl.exe main.cpp /link /NODEFAULTLIB:libc.lib
0319316
2005/06/02(木) 01:20:450320デフォルトの名無しさん
2005/06/03(金) 12:02:550321デフォルトの名無しさん
2005/06/03(金) 17:28:13一部。
0322デフォルトの名無しさん
2005/06/03(金) 18:31:00具体的にはブロック内での任意の位置とforの初期化時の変数宣言、
//での1行コメント、inline関数、_Boolとstdbool.hがない代わりにbool/true/falseなど
あと/Ze(標準で指定済みの状態になっている)で構造体の最後のメンバの配列の要素数省略ができるようになる。
0323デフォルトの名無しさん
2005/06/13(月) 16:18:406.0よりは新しいようですが、7.1より古い???
7.1だと嬉しいんですが・・・。
0324デフォルトの名無しさん
2005/06/13(月) 16:32:21たしかVisual C++ 2003と同じバージョンのはず。つまり7.1。
0326デフォルトの名無しさん
2005/06/13(月) 16:48:21IDEのバージョンではなくって、コンパイラのバージョンは、cl.exeを呼び出すと
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3052 for 80x86
って表示された。
0328デフォルトの名無しさん
2005/06/14(火) 12:20:29PSDK-amd64.exeとPSDK-ia64.exeとPSDK-x86.exeの3つがあるんですけど、
これは3つとも必要なのですか?
0329デフォルトの名無しさん
2005/06/14(火) 13:11:49うーん、どう説明したら分かりやすいかな..WindowsXPだったら、
「スタートメニュー」→「全てのプログラム」→「アクセサリ」→「システムツール」
の「システム情報」を起動すると、
リストビューの「システムの種類」の項目の値が「X86-ベース PC」
みたいに書いてあると思う。
0331デフォルトの名無しさん
2005/06/14(火) 21:28:19toolkitとPSDKのどちらのパスを優先させるべきでしょうか
C++でハローワールドかいたら、
コンパイル、リンクは通ったのに
実行されたら何も表示されない…
0332デフォルトの名無しさん
2005/06/14(火) 21:46:31PSDKを使うんならPSDKが先の方がいいような気がする。
でもHello, Worldぐらいでは関係ないような気もするが。
状況がよく解らんが
「出来た実行ファイルをダブルクリックしても一瞬黒いウインドウが表示されるだけで…」
なんていう冗談はやめてくれよ。
0333331
2005/06/14(火) 21:49:58環境変数でPSDKの方を優先させてmakeすると
helloを実行させても何も出ない
PSDKの下のlibにlibcp.libがあって
(libcpdとかlibcとかはなく、なぜかlibcpだけある)
これがうまくいってないみたい(?)
そのままPSDKを優先させたまま、
linkで
link hello.obj toolkit\lib\libcp.lib こんなかんじで
toolkit側のlibcpを使うように直接指示したら
helloを実行させると文字が出力された
PSDKの下のlibcp.libって削除していいのだろうか
0334デフォルトの名無しさん
2005/06/14(火) 22:21:46俺はToolkit優先にしてる。
ちなみにうちのPSDKは少し前のバージョンだが、
libフォルダ見てみたらlibc関係のライブラリは入ってなかった。
それと、削除するよりリネームするにとどめておいたほうがいいぞ。
いつ必要になるか分からんしな。削除は危険。
(そのつもりで敢えて「削除」と言ってたのならごめん。)
0335331
2005/06/14(火) 22:30:14Microsoft Platform SDK for Windows Server 2003 SP1
というメニューがあるバージョンを使っているんだけど
前のバージョンにはlibc関連はなかったのか…
リネームすることにするよ
(削除はそのつもりで書きました…ごめんだなんてとんでもない
するどい読みとやさしいフォローありがと)
toolkit優先だと、kernel32.libとかが気になりませんか?
これこそPSDK側を使いたくなる
0336デフォルトの名無しさん
2005/06/14(火) 22:31:440337334
2005/06/14(火) 22:49:310338デフォルトの名無しさん
2005/06/15(水) 00:55:41動かないプログラムなんか作らないので、どっちでも気にしない。
0339デフォルトの名無しさん
2005/06/17(金) 16:28:10言わせると詐欺だよな
0340デフォルトの名無しさん
2005/06/17(金) 23:31:330341デフォルトの名無しさん
2005/06/17(金) 23:33:02プロフェッショナルが詐欺
0342デフォルトの名無しさん
2005/06/18(土) 02:32:10コンパイラ=プライスレス
0343デフォルトの名無しさん
2005/06/18(土) 02:45:000344デフォルトの名無しさん
2005/06/20(月) 20:46:180345デフォルトの名無しさん
2005/06/21(火) 06:23:15/G6 optimize for PPro, P-II, P-III
/G7 optimize for Pentium or Athlon
のどちらでしょうか?
0346デフォルトの名無しさん
2005/06/21(火) 10:20:120347345
2005/06/21(火) 22:40:55/G7 optimize for Pentium4 or Athlon
の4が抜けてた
Pentium M は G6 なんですかね?
SSE2が使えるけど…
/Ox /G6 /ARCH:SSE2
これがおすすめでしょうか?
0348デフォルトの名無しさん
2005/06/22(水) 13:00:021!VCTKでコンパったソフトとソース一式をGPLで公開しても問題ないでありましょうか?
この場合、公開するのは自分で書いたcppやh、rcファイルであります。
2!BCCdeveloperみたいな感じの、VCTK対応の開発環境ソフトはないんでありましょうか?
0349デフォルトの名無しさん
2005/06/22(水) 13:45:331.OK
2.Relo
0350デフォルトの名無しさん
2005/06/22(水) 15:13:080351デフォルトの名無しさん
2005/06/23(木) 01:55:07ソース見るとBCBだったんで、ちょうどあったから「コンパイルし直せばいいんじゃん?」と
思ったんだが、通らん・・・。なんか、SynEditのhppがないって言われたんで、そっちもみたんだが、
こっちはデルファイと来てる。hppなんぞ影も形もない。どうなっとるんじゃこれは?
しかしスレ違いだな・・・
0352デフォルトの名無しさん
2005/06/23(木) 07:53:370353デフォルトの名無しさん
2005/06/23(木) 21:04:150354デフォルトの名無しさん
2005/06/23(木) 22:37:10対応した模様。
C/C++の勉強から始める人にオススメ
0355デフォルトの名無しさん
2005/06/23(木) 22:42:57もういい加減、LSI C-86を入門者に勧めるのはやめてくれよ…
0356デフォルトの名無しさん
2005/06/23(木) 23:17:09おまい早合点
0357デフォルトの名無しさん
2005/06/24(金) 00:32:010358デフォルトの名無しさん
2005/06/24(金) 21:12:340359デフォルトの名無しさん
2005/06/25(土) 00:08:42>レスポンスファイルを利用した複数ファイルのコンパイルをサポート。
って書いてあるな。
メンドクサソウダケド。
「ソフト紹介」のその下りは修正してないみたいだな。
0360デフォルトの名無しさん
2005/06/26(日) 03:16:26http://www.borland.co.jp/qanda/cbuilder/c0003071.html
hppならこれで作れないの?
0361デフォルトの名無しさん
2005/06/26(日) 03:44:09うお、そんなのがあったのか、デルファイもってないから全然きがつかんかった。
早速試してみる
0362デフォルトの名無しさん
2005/07/01(金) 00:46:49DirectXのサンプルをコンパイルしようと思ってVCTKとRelo使ってみたが、
エラーが出てぜんぜん成功しない。
BCCの影響なのかそれとも一からインスコすべきか……
BCCでコンパイルはとおったソースなんだけど……あれ?
0363デフォルトの名無しさん
2005/07/01(金) 01:39:02サンプルはしらんが、チュートリアルのほうはVCTKとコマンドラインで修正無しでOKだった。
モチのロン、適切なLIBをくっつける必要はあったけど。
つーか、サンプル程度ならReloよりもメイクファイル書いたほうがやりやすくないか?
BCCで通ったってことは、LIBの指定がボーランド用になってるか、
ソースがボーランド仕様にしちゃってるか、じゃない?
つーか、VCTKでプログラミングぉぅぃぇぃ、みたいな解説サイトないかね。
このソースはこう弄る、とか、LIBはこうくっつける、とか。
・・・自分でまとめたほうが早い?
0364デフォルトの名無しさん
2005/07/01(金) 02:35:400365デフォルトの名無しさん
2005/07/01(金) 07:59:520366デフォルトの名無しさん
2005/07/01(金) 08:06:27どんなエラーが出たか書こうよ。
0367デフォルトの名無しさん
2005/07/01(金) 23:32:44BCCと一緒に入れてるってことは
パスの指定順のせいとか
0368デフォルトの名無しさん
2005/07/02(土) 02:30:32みなさんは何を使ってますか?
0369デフォルトの名無しさん
2005/07/02(土) 02:47:370370デフォルトの名無しさん
2005/07/02(土) 07:59:06Visual C++ Toolkit 2003 サポートサイト
http://shrike.s58.xrea.com/
こんなんどうよ
0371デフォルトの名無しさん
2005/07/02(土) 11:19:56関数ごとに何%処理がかかっているかを知りたいです。
0372デフォルトの名無しさん
2005/07/02(土) 12:51:53C:\>time ./a.out
入力された時刻は受け付けられません。
新しい時刻を入力してください:
0373デフォルトの名無しさん
2005/07/02(土) 13:38:30ttp://www.xlsoft.com/jp/products/intel/vtune/index.html
0374デフォルトの名無しさん
2005/07/02(土) 14:10:50無料のものでお願いします。
0375デフォルトの名無しさん
2005/07/02(土) 14:50:250376デフォルトの名無しさん
2005/07/02(土) 17:20:30ないなら自分で作る!
0377デフォルトの名無しさん
2005/07/05(火) 21:15:02できればローカルで使える物がいいです。
0378デフォルトの名無しさん
2005/07/05(火) 22:52:23英語やけど
0379デフォルトの名無しさん
2005/07/05(火) 23:09:46PlatformSDKをインストール
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
0380デフォルトの名無しさん
2005/07/05(火) 23:47:00なぜか繋がらない
>>379
やってみる
二人ともサンクス
0381362
2005/07/06(水) 22:00:34>363,367
ごめん。正しくはDirectxの説明をしているサイトのサンプルソースを自分改造したものだった。
ちなみに元のソースもできなかった。
BCC環境は消去するつもりなので、消したら再び挑戦するつもり。
0382362続き
2005/07/06(水) 22:02:18えと、
[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"
0383362続き
2005/07/06(水) 22:02:43winmain.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
そんなサイトあったんだ・・・あとで見ておこう。
みなさん、本当にどうもありがとうございました。
0384デフォルトの名無しさん
2005/07/06(水) 22:23:490385デフォルトの名無しさん
2005/07/07(木) 00:04:000386デフォルトの名無しさん
2005/07/09(土) 16:34:25これまで,スレッドを使用したプログラムではいくつかの動作を
メインループから指示するために
WaitForSingleObjectもしくはWaitForMultipleObjectsを使用し
Signalによって動作を起動させていました.
今回,いくつかのパラメータをスレッドに渡す必要が生じたのです
がどのような方法が簡単で安全でしょうか?
0387デフォルトの名無しさん
2005/07/09(土) 17:07:22パラメータを1つの構造体にまとめる。ただしポインタや整数型1つだけならそのまま渡せる。
そしてスレッドを作る側でその構造体型の変数を作り、
そこへのポインタをCreateThread/_beginthreadexの4番目の引数に(必要ならばキャストして)渡す。整数型なら単にキャストするだけで値渡しできる。
そしてスレッド関数では引数として受け取れる。
0388デフォルトの名無しさん
2005/07/10(日) 19:29:53サポートファイルがあると聞いたのですが…
どういうものなのでしょうか?
どこからダウンロードできますか?
0389388
2005/07/10(日) 20:03:02最終更新日: 2000/09/29
ttp://www.microsoft.com/japan/msdn/vstudio/downloads/ppack/
探してこんなページを見つけたけど、なんか古いような・・・
このToolkit2003に必要なんだろうか
0390デフォルトの名無しさん
2005/07/10(日) 20:06:052003ならインラインアセンブラか組み込み関数使えばできる。
__asm{
movaps xmm0, [ebx];
}
意味ないコードだかこんな感じで。感じで。
レジスタの内容は自動的にスタックに退避と復元をしてくれるらしい。
一応聞くが2003の話だよな?
0391デフォルトの名無しさん
2005/07/10(日) 20:08:26~~~~
最適化は標準でできる希ガス
0392388
2005/07/10(日) 21:52:44>一応聞くが2003の話だよな?
はい、そうです。
Toolkit2003の話しです。
自前でアセンブラを書くのですか…
それでなんとかするのはわかりましたが、日頃思うのは、
_asm ブロックの前後で、コンパイラの最適化が
邪魔されてしまっているのではないかと疑問に
思っているのです。
コンパイラに拡張命令を使わせるヒントを与えるような
C/C++の関数があれば、コンパイラがスムーズに
最適化を進められるのではないか、と思って質問しました。
それに、アセンブラって、私、ミスしやすいし…
Visual C++ 6.0 Processor Pack の後継者となるサポートパックは
出ていないのでしょうか?
0393388
2005/07/10(日) 21:58:50無知でごめんなさい…
インテル(R) C++ コンパイラ 8.1 Windows* 版に含まれているファイル
ttp://www.xlsoft.com/jp/products/intel/support/intel_faq/cpp/windows/sb/cs-007738.htm
調べて、上のページを見つけましたが、Toolkit2003 の話しでは
ないように見うけられます。
0394デフォルトの名無しさん
2005/07/10(日) 23:18:13インライン関数っていうべきなのかな?
組み込み関数についてはこことか。
ttp://www.microsoft.com/japan/msdn/library/ja/vccore/html/_core_.2f.Oi.asp?frame=true
MMX、SSE、SSE2の組み込み関数 (題名に3DNowがないのは悲しいことだ)
ttp://www.microsoft.com/japan/msdn/library/ja/vclang/html/vclrfMMXSSESSE2Intrisics.asp?frame=true
ちなみに、2003ならオプション指定すればスカラ演算レベルで拡張命令を使ってくれるはずだ。
ベクトル化してくれるのはIntelコンパイラかVectorC {PC}ぐらいかな。
0395デフォルトの名無しさん
2005/07/10(日) 23:35:56組込み関数をさらにクラスでラップしたものもある。
toolkitにも入ってるし使ってみたら?
0396388
2005/07/11(月) 18:57:41なんだか知らない機能が急に増えた気がしてとまどってます
じっくり調べます
どうもありがとうございました
0397デフォルトの名無しさん
2005/07/11(月) 20:45:32大きなお世話かもしれないが、君の生半可な知識で「・・・を教えてくれ」と書くよりは、
最終的に何をやりたくてそれを知りたいと思うに至ったかを書いたほうが、より適切な
情報が得られる可能性が増えると思うよ。
0398デフォルトの名無しさん
2005/07/12(火) 16:04:510399デフォルトの名無しさん
2005/07/12(火) 20:07:19ひどい・・・
0400デフォルトの名無しさん
2005/07/12(火) 23:22:380401デフォルトの名無しさん
2005/07/13(水) 21:52:27放置汁
0402388
2005/07/13(水) 23:42:07すみません、返事がおそくなりました
それから398は違う人です
最終的に何を〜というのは、まだないです
今まで bcc + tasm を使ってました
toolkit2003 ではじめて MS 系のコンパイラにふれます
MS 系には Borland 系とちがって拡張機能を
サポートする態勢がととのっているという印象があって、
どこからふれればいいのやら…と探していました
オプション指定すれば自動的に〜というのは
/arch:SSE2 とかするのかな
拡張機能というと MMX や SSE などがまず頭に浮かびますが
cmov とか sincos とかもC++から気楽に使いたい…
/ と % を同時に求めるとかも
asm文ならすぐだけど
0403デフォルトの名無しさん
2005/07/14(木) 00:49:19>/arch:SSE2 とかするのかな
それそれ。
拡張命令の売りの一つであるSIMDはもちろん無理で、
SISDとしてしか使われないけど。
あとcmovは/arch:SSE以上の指定でコンパイラも使用するようだ。
もちインラインアセンブラでも使えるだろうけど。
0404デフォルトの名無しさん
2005/07/14(木) 00:51:350405デフォルトの名無しさん
2005/07/14(木) 01:31:36SSE2有効でコンパイルされてて問題起こったんじゃなかったっけ?
今度試してみる。
0406デフォルトの名無しさん
2005/07/14(木) 02:01:28> / と % を同時に求めるとかも
ttp://www.linux.or.jp/JM/html/LDP_man-pages/man3/imaxdiv.3.html
でもまぁパフォーマンス取るなら標準のものを用意した上で
特化バージョン作るのがいいのかも。
0407デフォルトの名無しさん
2005/07/14(木) 03:05:27VC++ないと無理?
0408デフォルトの名無しさん
2005/07/14(木) 03:09:30できません
dspにはMakefileを作るために必要な情報は全て入ってるから、
それをもとに手で書くか、perlスクリプトででも変換しる
0409デフォルトの名無しさん
2005/07/19(火) 18:46:04Code::Blocks使ってみたら。
VC++のプロジェクトをインポートできる。
ttp://www.codeblocks.org/
0410デフォルトの名無しさん
2005/07/21(木) 09:18:31IA-32用、IA-64用とかに分かれちゃってるけど。
もしかしてIA-32のパッケージからはATLやらツール類やらが削られたとか?
更新していいものなのかどうか(´・ω・`)
0411デフォルトの名無しさん
2005/07/22(金) 18:11:16SSEは使いたかったらxmmintrin.hやらfvec.hやらを使えばええよ。
Intelのサイトとかに使い方のマニュアルやらサンプルやらがあるはず。
ICCで使えばもうインラインアセンブラ不要なレベルまで最適化してくれる。
(ロード・ストア操作のスケジューリングを自動化してくれてめちゃくちゃ楽。x86→x64のコード移植も楽々。)
0412デフォルトの名無しさん
2005/07/22(金) 20:09:44それら一応既出な。>>394-395
ICC持ってんのか。うらやましいもんだ。
ICCも速いらしいがVectorCはどうなんだろうな。
学部生の自分にはどっちも高くて手が出ないがorz
0413デフォルトの名無しさん
2005/07/22(金) 21:33:110414デフォルトの名無しさん
2005/07/26(火) 05:07:04どうやったら使えるようになりますか?
■ このスレッドは過去ログ倉庫に格納されています