■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

★初心者にVisual C++を教えるスレ★ Part19
251 名前:デフォルトの名無しさん :2005/05/26(木) 12:50:41
>>250
リソースの言語が日本語になってない?

252 名前:デフォルトの名無しさん :2005/05/26(木) 12:51:32
>>250
それ、リリースビルドした?

253 名前:デフォルトの名無しさん :2005/05/26(木) 13:52:50
英語のみでよければ関係ないし、初心者レベル超えてるけど、複数言語扱うための方法
http://forums.belution.com/ja/vc/000/126/92s.shtml

254 名前:デフォルトの名無しさん :2005/05/26(木) 13:56:09
>>250
そのプロジェクトのプロファイルを開いて、
リソースの欄のカルチャを見てくれ。

255 名前:デフォルトの名無しさん :2005/05/26(木) 13:57:30
プロファイルじゃないや、プロパティ

256 名前:Failed to create empty document.: :2005/05/26(木) 18:00:55
ご連絡ありがとうございます。251〜255
リソースはプロパティで全て英語(米国)にしてあります。
ファイルは
MFC71.dll  
msvcp71.dll
msvcr71.dll
ABC.exe
ファイルが同階層に4つあるだけなので、
リソースを英語表記に変更して保存しかできてないです。

257 名前:デフォルトの名無しさん :2005/05/26(木) 18:44:07
最初から英語で作って動かなきゃ
日本語で作ったやつを英語に変更するのはもっと無理

258 名前:Failed to create empty document.: :2005/05/26(木) 18:53:06
>257
最初は日本で作って英語にプロパティで変更しました。

259 名前:デフォルトの名無しさん :2005/05/26(木) 18:56:10
>>258
あのさ、その.rcファイルをテキストエディタで開いて
じっくり見てみなさいな
そんでJAPANの文字や、932とか0411の数字検索してみて

260 名前:259 :2005/05/26(木) 18:57:09
最初から英語で作るんで無ければ、
変更するんじゃなくて、英語リソースを追加するほうが
間違いが無くていいと思う

261 名前:デフォルトの名無しさん :2005/05/26(木) 19:03:30
なんでもいいから最初から英語で作ってみろって
それすらできないのか?
アホ?

262 名前:デフォルトの名無しさん :2005/05/26(木) 22:17:47
FormatMessageのサンプルで、
エラーコードをメッセージにするものがありますが、
そこで得た文字列をTRACEで出力すると文字化けを起こしてしまいます。
MessageBoxでの出力は正常にできているし、
ブレークポイントで変数の内容を見ても文字化けしてません。
TRACEでの出力時にだけ文字化けをおこします。
どうすればいいんでしょう。

WinXP SP2 VCnet2003 で、Unicode 文字セットを使用しています。

263 名前:デフォルトの名無しさん :2005/05/26(木) 22:22:38
TRACEに渡すときはMBCSにしておく必要がある。

264 名前:262 :2005/05/26(木) 22:52:10
>>263
無事に解決できました。ありがとうございまた。

265 名前:デフォルトの名無しさん :2005/05/27(金) 00:34:50
GetAsyncKeyStateでキー取得しているのですが、
ウィンドウがアクティブでない時も取得してしまうので、
アクティブがどうかチェックする方法が知りたいです。

266 名前:デフォルトの名無しさん :2005/05/27(金) 00:44:25
>>265
WM_KEYDOWNとWM_KEYUPでやった方がいいんじゃない?

267 名前:デフォルトの名無しさん :2005/05/27(金) 00:46:54
>>265
自分がアクティブウィンドウかどうかの判定?

268 名前:265 :2005/05/27(金) 01:25:55
逆に言えば、アプリがバックグラウンドかどうかが知りたいんです。

269 名前:デフォルトの名無しさん :2005/05/27(金) 01:30:14
WM_KEYDOWN ならアクティブなときしか来ないんじゃない?

270 名前:デフォルトの名無しさん :2005/05/27(金) 04:28:56
Win2k、VC6、MFCな環境でCOMを使おうとしています。
メインスレッドに以下のような関数を作り、やりたいことができることを確認しました。
CoInitialize(NULL);
/* 処理 */
CoUninitialize();

次に、AfxBeginThreadでワーカスレッド作って上記コードを埋めこんだのですが、
最初の1回だけ無事動きまして、2回目以降はruntime errorでプロセスが死にました。
「マルチスレッドだからダメなのか!」と思い、いかにもそれっぽいので
CoInitialize(NULL) を CoInitializeEx(NULL, COINIT_MULTITHREADED) にしましたが、同様の症状です。

戻り値も S_OK なので、これは根本的な理解に欠けてるためだと思い、ちょっと調べてみたところ
アパートメントという言葉に遭遇し、あやふやなCOMの理解と併せて相当しんどそうと感じました。
そこで、虫の良いお願いで申し訳ないのですが、どう書けばとりあえず動くか御教示願えますでしょうか?
動かしたいのは勿論ですが、むしろ理解のための足掛り・お手本を頂きたいなという状況なのです。

長文ですみません。どうぞよろしくお願いします。

271 名前:デフォルトの名無しさん :2005/05/27(金) 05:10:57
スクリーンセーバーを起動する方法を教えてください

272 名前:デフォルトの名無しさん :2005/05/27(金) 07:33:41
>>271
スクリーンセーバはEXEファイルと全く同じで拡張子だけが違う。
だからsystem()やShellExecute()がそのまま使える。

273 名前:デフォルトの名無しさん :2005/05/27(金) 07:42:25
ShellExecute(NULL,"open","スクリーンセーバのファイル名",NULL,NULL,SW_SHOWNORMAL);

274 名前:デフォルトの名無しさん :2005/05/27(金) 09:30:37
GetForegroundWindow() か GetActiveWindow()で
持ってきたハンドルと自分のm_hWndを比べるのはどうか

275 名前:デフォルトの名無しさん :2005/05/27(金) 12:51:38
デバッガで、ある変数の値が変わった時、
ブレークする方法ってありませんか?
ブレークする場所を指定せずに。

276 名前:デフォルトの名無しさん :2005/05/27(金) 13:05:43
フォルダ内のexeを検索して、そのexeが起動中かどうかを判断するにはどうすればよいですかね?
起動中かどうかの判断する方法です

277 名前:デフォルトの名無しさん :2005/05/27(金) 13:47:34
>>275
デバッグメニューのブレークポイントの作成の
データタブの条件

278 名前:デフォルトの名無しさん :2005/05/27(金) 16:06:48
>>276
先に全プロセスのハンドルを入手してそこからGetModuleFilename()でパスを得ておき、
それと検索して見つけたEXEのパスを比較すればいいんじゃない?

279 名前:デフォルトの名無しさん :2005/05/27(金) 16:20:23
>>270
COMをちゃんと勉強したほうがいい。

適当にやって適当に動いていると、後でトンデモナイ目にあう。

280 名前:デフォルトの名無しさん :2005/05/27(金) 16:45:19
<<277
thanks


281 名前:デフォルトの名無しさん :2005/05/27(金) 22:54:34
vs2005β使ってます。

midiファイルを演奏させるためにmciコマンドを以下のとおり入れたのですが、openでエラーになってしまいます

rtncode=mciSendString( "open d:\town.mid type sequencer alias music" , NULL, 0, NULL );

ここで、rtncodeにエラー259(ドライバは指定されたコマンド パラメータを認識できません。)が返送されてきます。
d;\にはmidファイルも置いてあり、WMPで正常再生できたファイルであることは確認しています。
 ※open sequence のみ指定時はエラー0でした。

すみませんが何が悪いのか分かったら教えていただけますでしょうか。

282 名前:デフォルトの名無しさん :2005/05/27(金) 23:01:14
>>281
\tって何か知ってる?

283 名前:デフォルトの名無しさん :2005/05/27(金) 23:17:26
>>282
あっと、そういうことか
d:\\town.mid

いま、やってみたら音が出ました。
3日も悩んだのに〜 orz

284 名前:デフォルトの名無しさん :2005/05/27(金) 23:17:58
ありがとうございました。

285 名前:デフォルトの名無しさん :2005/05/28(土) 07:06:43
まぁ、よくやる失敗だよ
もっと別の文字だったら、コンパイル時にエスケープシーケンスじゃねぇよって言われて気付けたんだろうけどな

286 名前:281 :2005/05/28(土) 08:00:54
皆さんいろいろアドバイスありがとうございます。

また教えてください。
rtncode=mciSendString( "open d:\\test.mp3 type MPEGVideo alias music" , NULL, 0, NULL );

このrtncodeが エラー263(指定されたデバイスが開かれていないか、または MCI で認識されません。)に
なってしまいます。
で、 ttp://hp.vector.co.jp/authors/VA011973/prg_mci.htm のページに登録デバイス表示があったので
試してみたところ
AVIvideo CDAudio Sequencer WaveAudio
の4つが出てきたのですが肝心のMPEGVideoが出てきませんでした

質問1 エラーの原因は登録デバイスに名前が無いのが原因でしょうか
質問2 MPEGVideoを指定できるようにするために必要なLIBはあるのでしょうか?

一晩格闘して全然分かりませんでした。どなたか教えていただけますでしょうか。
 VS2005 β2 使用です。

287 名前:デフォルトの名無しさん :2005/05/28(土) 08:11:42
mci mp3 でぐぐったら何かでてくるぞ

288 名前:281 :2005/05/28(土) 23:02:07
>>287
ありがとうございます。
一日がんばってみたけどだめだったとです。 orz
また明日がんばってみます。

289 名前:デフォルトの名無しさん :2005/05/29(日) 00:42:37
.netの使い方を誰か教えて下さい

猫でもわかるwindowsプログラミングの巻末の資料を頼りにやってるんですけど
そんだけでやってる人いる??

290 名前:デフォルトの名無しさん :2005/05/29(日) 00:58:10
宇宙仮面

291 名前:デフォルトの名無しさん :2005/05/29(日) 01:08:51
C#なんかやりたくない!

292 名前:デフォルトの名無しさん :2005/05/29(日) 01:19:17
>>289
1レスじゃ教えられないな。

293 名前:デフォルトの名無しさん :2005/05/29(日) 01:28:06
.NetのC++とC#ってほとんど一緒じゃないか?
.NetでUnmanagedなら今までのVCと一緒だし

294 名前:デフォルトの名無しさん :2005/05/29(日) 01:29:50
managedとunmanagedを混ぜると、やりとりが面倒だけどな。

295 名前:デフォルトの名無しさん :2005/05/29(日) 01:53:34
混ぜられるんだ!?
知らなかった・・・

296 名前:デフォルトの名無しさん :2005/05/29(日) 01:59:01
>>293
ありがとうございます
¢(。。)いつか二人用の将棋が完成したら、共に指しませう

297 名前:デフォルトの名無しさん :2005/05/29(日) 02:02:27
従来のVisual C++と互換性があって.NETも使える欲張りな言語だから複雑。

ボックス化
アンマネージ→マネージ

ボックス化解除
マネージ→アンマネージ

298 名前:デフォルトの名無しさん :2005/05/29(日) 15:00:07
混ぜずにCOMを使ったほうがいいと思う。

299 名前:デフォルトの名無しさん :2005/05/29(日) 21:49:14
コンパイルエラーが

: error C2143: 構文エラー : ';' が '*' の前にありません。
: error C2501: 'CClashApp::CMainWindow' : 識別名を宣言するのに、型が指定されていません。
: error C2501: 'CClashApp::m_pWnd' : 識別名を宣言するのに、型が指定されていません。



class CClashApp : public CWinApp
{
public:
CMainWindow* m_pWnd;    //すべて、この行のエラー
CClashApp();
public:
virtual BOOL InitInstance();

DECLARE_MESSAGE_MAP()
};

これ、何が原因なんでしょうか?

300 名前:デフォルトの名無しさん :2005/05/29(日) 21:52:10
そこの行までにCMainWindowの定義がないから。

301 名前:300 :2005/05/29(日) 21:52:54
ポインタだから最低宣言だけあればいいか

302 名前:デフォルトの名無しさん :2005/05/29(日) 22:10:56
ありがとうございます。

class CMainWindow;

これを宣言したらエラーは消えました。

303 名前:デフォルトの名無しさん :2005/05/29(日) 22:22:57
宣言も無いのに型として指定することなどできん
こんなことくらい常識だろう?

304 名前:デフォルトの名無しさん :2005/05/29(日) 22:34:31
>>297
えぇ??
Managed C++は使ったことないが、boxing/unboxingは値型と参照型の変換だろ?
Managed-Unmanaged間の変換はマーシャリングじゃないのかと。

305 名前:デフォルトの名無しさん :2005/05/30(月) 01:31:37
えーすいませn

プリプロセッサに _UNICODE を渡すように
プロジェクトの設定をいじったのですが、
TCHAR -> char
MessageBox -> MessageBoxA
TEXT("ほげ") -> "ほげ" (Lプリペンドなし)
になっているようなのですが
どうすれば直りますか?

いじってるのは、
Programming Windows (petzol)
2章に載ってるサンプルコード "SCRNSIZE.C"です。

onegaisimasu

306 名前:デフォルトの名無しさん :2005/05/30(月) 01:48:35
#ifdef _UNICODE

#ifndef _TCHAR_DEFINED
#if !__STDC__
typedef wchar_t TCHAR;
#endif
#define _TCHAR_DEFINED
#endif

#else /* ndef _UNICODE */

#ifdef _MBCS

#ifndef _TCHAR_DEFINED
#if !__STDC__
typedef char TCHAR;
#endif
#define _TCHAR_DEFINED
#endif

#endif /* _MBCS */

#endif /* _UNICODE */

307 名前:デフォルトの名無しさん :2005/05/30(月) 02:24:25
_UNICODE と UNICODE 定義すれば
API も W になった…気がした。

308 名前:305 :2005/05/30(月) 02:40:40
...ですが
winnt.hで定義されているらしい
UNICODEというのも渡したら、直ります田おさわがせすます田

309 名前:270 :2005/05/30(月) 08:53:24
>>279
お返事遅れて申し訳ありません。
やはり腰を据えて勉強するべきでよね・・・了解です。
(ブ厚い)本買ってやってみます。御指導ありがとうございました。

310 名前:300 :2005/05/30(月) 09:17:20
APIの方はUNICODEで、CRTの方は_UNICODEだっけか?

311 名前:デフォルトの名無しさん :2005/05/30(月) 09:39:13
WINMMAPI BOOL WINAPI PlaySoundA( IN LPCSTR pszSound, IN HMODULE hmod, IN DWORD fdwSound);
WINMMAPI BOOL WINAPI PlaySoundW( IN LPCWSTR pszSound, IN HMODULE hmod, IN DWORD fdwSound);
#ifdef UNICODE
#define PlaySound PlaySoundW
#else
#define PlaySound PlaySoundA
#endif // !UNICODE

312 名前:デフォルトの名無しさん :2005/05/30(月) 16:20:47
モーダレスダイアログを作ってそれにコピー中のファイル名を表示させているのですが
作業中に中止させたいと思っています
モーダレスダイアログに中止ボタン作成してボタンをクリックしてコピーを中止させるには
どうすればいいでしょうか

313 名前:デフォルトの名無しさん :2005/05/30(月) 16:24:07
中止ボタンが押されたらコピーを中止する。

314 名前:312 :2005/05/30(月) 16:38:51
あぅ、そうなのですが
コピーをどうすればとめられるのかなぁと思いまして
関数を作ってその中でコピーさせているので
コピーさせる関数を止めるにはどうすればいいのでしょうか

315 名前:デフォルトの名無しさん :2005/05/30(月) 16:40:56
returnすればいい

316 名前:デフォルトの名無しさん :2005/05/30(月) 16:43:16
exit(0);したら止まるぜ。

317 名前:デフォルトの名無しさん :2005/05/30(月) 16:43:24
>>314
・中止ボタンのハンドラでフラグを立てる。
・コピー処理が一段落したらそのフラグを見て勃っていたら中止する。

318 名前:デフォルトの名無しさん :2005/05/30(月) 17:29:39
一度勃ったら中止なんて出来ません!

319 名前:デフォルトの名無しさん :2005/05/30(月) 17:34:40
質問だけでなくギャグのラベルも低すぎるスレだ。

320 名前:デフォルトの名無しさん :2005/05/30(月) 18:47:08
ReadFileExとか使って非同期で処理
初心者スレはWindowsのプログラム作ったことないやつが
いっぱいいそうだな

321 名前:デフォルトの名無しさん :2005/05/30(月) 18:50:17
>>320
大丈夫、>320のような勘違い厨も多いから。

322 名前:デフォルトの名無しさん :2005/05/30(月) 18:56:45
中断処理っていうと印刷でまず出たもんだがなぁ

323 名前:デフォルトの名無しさん :2005/05/30(月) 20:07:32
VC6で検索するときに、"開いているドキュメントをすべて検索"にチェックを入れると
ときどきMSDEV.EXEのエラーでVCごと落っこちてくれるんだけど、何か決定的な理由あるんでしょうか?

324 名前:デフォルトの名無しさん :2005/05/30(月) 21:36:46
MFCやCRTのソースとかサブフォルダまで検索かけてるけど
落ちたことないな

325 名前:デフォルトの名無しさん :2005/05/30(月) 21:56:41
俺も無いな
>>323固有の問題じゃねーの?
メモリーにエラーがあるとか

実際、自分とこでエラーなんて一切出ないプログラムを、
OSは同じだけどマシンの違う他人のPCに持ってったら突然エラー出るとかあるし

326 名前:デフォルトの名無しさん :2005/05/30(月) 22:27:11
CV6はよく落ちるよ

327 名前:デフォルトの名無しさん :2005/05/30(月) 23:52:45
CV6って??

328 名前:デフォルトの名無しさん :2005/05/31(火) 01:52:26
「VC++ .NET Standard Version 2003」の購入に関する相談です。

これには最適化機能が無いと聞いたのですが、総合的にどの位の差が出るものですか?
用途は主に、自分用の小規模、中規模のWindowsアプリケーション作成、
たまに使い捨てのコンソールアプリケーションを作る程度のものです。


329 名前:デフォルトの名無しさん :2005/05/31(火) 02:58:54
なつかしい…。
CV = Code View
MS C version 4あたりに付いてたな。

330 名前:デフォルトの名無しさん :2005/05/31(火) 03:03:38
NEC PC-9801CV21かー。懐かしいな。

331 名前:デフォルトの名無しさん :2005/05/31(火) 10:17:45
>>328
問題ない
はっきりいってその程度だと比べても気がつかない

332 名前:デフォルトの名無しさん :2005/05/31(火) 12:53:52
>>331
便乗質問です。気が付くくらい差が出るのってどんな領域からでしょうか?

333 名前:デフォルトの名無しさん :2005/05/31(火) 13:03:47
流体解析とかじゃね?

334 名前:デフォルトの名無しさん :2005/05/31(火) 13:31:11
数値計算とか計算量がやたら多い領域。
最適化で命令数を減らすと効果が出る。

335 名前:デフォルトの名無しさん :2005/05/31(火) 13:52:26
便乗で、「VC++ .NET Standard Version 2003」で開発したものは商用に使えますか?

336 名前:デフォルトの名無しさん :2005/05/31(火) 14:51:30
>>333
>>334
ありがとうございます。踏面そのような分野に手を出す見込みが無いので安心できました。

337 名前:デフォルトの名無しさん :2005/05/31(火) 14:55:35
MSDN アカデミックアライアンスで提供されるソフトウェアは、非商業、非営利の教育・研究目的にのみ利用できます。実稼動用システム開発用に利用することはできません。また商用ソフト開発用には利用できません。

338 名前:デフォルトの名無しさん :2005/05/31(火) 17:56:46
Stdってアカデミックライセンスなの?

339 名前:デフォルトの名無しさん :2005/05/31(火) 18:44:08
>>324-325
メモリーエラー・・・あるかもしれない。
たまーにアドレス0x〜をReadに出来ないとかそんなメッセージも出ますしorz

340 名前:デフォルトの名無しさん :2005/05/31(火) 19:03:02
>>335
それぐらい調べてわからないような馬鹿なら
買っても使いこなせない

341 名前:デフォルトの名無しさん :2005/06/01(水) 14:20:01
>>339
それはただのバグ。君のコードのね

342 名前:デフォルトの名無しさん :2005/06/01(水) 22:29:52
for(int i=0;i<m_Array.GetSize();i++){}
こんなループを使っていてふとMFCライブラリリファレンスを見てみると

>CArray::GetSize
>配列のサイズを返します。
>INT_PTR GetSize( ) const;
と書いてありました。
配列のサイズを返すのになぜポインタが使われているのでしょうか。
それから上のループでm_Array.GetSize()を整数扱いしているのに
警告が出なかったこともわかりません。

343 名前:デフォルトの名無しさん :2005/06/01(水) 22:39:07
>>342
ヘッダでのINT_PTRの定義を探してみよう。
PTRが何か分かるかな?

344 名前:デフォルトの名無しさん :2005/06/01(水) 22:41:15
本来なら定義を見なくてもわかる名前をつけるべきだとは思うけどね。
INT_PTRじゃ誰だってINT*だと思うだろう。

345 名前:デフォルトの名無しさん :2005/06/01(水) 22:55:30
>>342 一度ははまる罠だな。
http://www.microsoft.com/japan/msdn/library/ja/jpdnw2ksrv/htm/AppSpecServ11.asp

Fixed-precision 型
DWORD32 32 ビット符号なし整数
DWORD64 64 ビット符号なし整数
INT32 32 ビット符号付き整数
INT64 64 ビット符号付き整数

Pointer Precision 型
DWORD_PTR pointer precision 用符号なし long 型
INT_PTR pointer precision 用符号付き整数型

Specific Pointer-Precision 型


346 名前:デフォルトの名無しさん :2005/06/01(水) 23:35:41
>343-345
ありがとうございます。大勘違いしていました。
MSDNにもちゃんと書いてあったのにお恥ずかしいです。

347 名前:デフォルトの名無しさん :2005/06/02(木) 11:55:11
チェックボタンをユーザーに変更できないようにするにはどうすればよかですか


348 名前:デフォルトの名無しさん :2005/06/02(木) 12:04:29
マウスメッセージ捨てちゃえ

349 名前:デフォルトの名無しさん :2005/06/02(木) 12:26:59
タブがきいてる

350 名前:デフォルトの名無しさん :2005/06/02(木) 15:28:13
>>349
つ耳栓

351 名前:デフォルトの名無しさん :2005/06/02(木) 15:32:19
(∩゚д゚)

352 名前:デフォルトの名無しさん :2005/06/02(木) 16:37:39
>>347
グレーになっていじれなくするのでよければ、
チェックボックスのウィンドウをDisableすればいい。

MFCのCWnd::EnableWindow(FALSE)とか、
WS_DISABLEDとか。

353 名前:デフォルトの名無しさん :2005/06/02(木) 16:52:08
クリックされたら強制的に元に戻すとか

354 名前:デフォルトの名無しさん :2005/06/02(木) 20:51:36
VC++で1msの精度のタイマを実現できるでしょうか?

355 名前:デフォルトの名無しさん :2005/06/02(木) 21:06:26
>>347
果たして、ユーザーの触れないチェックボックスなど存在意義があるのだろうか

356 名前:デフォルトの名無しさん :2005/06/02(木) 21:10:11
結局、他にCPUを奪っていくタスクがあれば、
精度なんてあって無いようなものなんだよ。
 割り込みをうけるデバイスドライバを開発するなら話は別だけど。

357 名前:デフォルトの名無しさん :2005/06/02(木) 21:16:09
>>355
現在の状態を表すだけとか

358 名前:デフォルトの名無しさん :2005/06/02(木) 22:48:43
>>356
マルチメディアタイマでも駄目なんですかね?

359 名前:デフォルトの名無しさん :2005/06/02(木) 22:53:20
あれは割り込みだからかなり細かくいけるけど、
完全ではないよね

って割り込みだったのはWin16までだっけ?

360 名前:デフォルトの名無しさん :2005/06/02(木) 23:25:34
成る程ですね・・・・そうなると1msの精度ではなく1ms以下という
条件ならどうでしょうか?
というかそもそもどのくらいの精度まで保証してくれてるんだろう・・・。

361 名前:デフォルトの名無しさん :2005/06/03(金) 00:16:45
while(1){
GetLocalTime(&t);
if(i != t.wMilliseconds){
Func();
}
i = t.wMilliseconds;
}

362 名前:352 :2005/06/03(金) 04:45:44
>>348-355
初心者が回答するなよ。

普通にWindowsのアプリを使っていたら、見かけるだろが。

363 名前:デフォルトの名無しさん :2005/06/03(金) 05:42:30
随分自虐的ですねw

364 名前:デフォルトの名無しさん :2005/06/03(金) 18:07:56
>>360
だから358の言っているマルチメディアタイマ(timeGetTime)じゃだめなのか?
最大1msの精度を持っている。

365 名前:デフォルトの名無しさん :2005/06/03(金) 18:19:54
DebugかReleaseかでアプリの動作が変わってしまうことの原因が
変数の初期化だとしたら、その理屈を教えてください。
DebugとReleaseで何が違うのでしょうか。

366 名前:デフォルトの名無しさん :2005/06/03(金) 18:31:14
Debugは、初期化してない変数をすべて
0xCDのバイト列に初期化するから

367 名前:デフォルトの名無しさん :2005/06/03(金) 18:37:40
>>366ではないが>>366のつづき。

初期化していない変数を参照して何かするプログラムを書くと動作が変わる。
つまり、初期化や代入していない変数を参照してはいけない。

368 名前:デフォルトの名無しさん :2005/06/03(金) 21:46:12
>>365
Debugビルドは通常最適化が無効になっている。
Releaseビルドは最適化が有効になっている。

バグのあるコードを書いたりすると、最適化の結果動作が変わることもある。
たとえばループ内で行っていた演算がループの外に移動したりとかな。

369 名前:デフォルトの名無しさん :2005/06/04(土) 01:08:16
#ifdef _DEBUG
を知らないんだったら、調べとけ

370 名前:デフォルトの名無しさん :2005/06/04(土) 15:21:13
>>365
class A {
 bool flag;
 A() {...} //flagの初期化を忘れてた
 f() { if(flag) .....;}
};

てケースでハマったことあり。
なぜかリリースビルドだと正常に動かない!

371 名前:デフォルトの名無しさん :2005/06/04(土) 19:01:16
VisualC++6.0sp6からVisualStudio.NETのVC7に移行しようと考えています。

互換性についての問題はあまり聞かないのですが、
殆どそのまま移行できると考えてよいのでしょうか?
また、互換性についての問題がまとまっているサイトなどありましたら教えていただけないでしょうか。

372 名前:デフォルトの名無しさん :2005/06/04(土) 19:11:08
>>371
VC++.NETではMFCベースのアプリケーションを
作る事も出来る。MFCベースのネィティブ
アプリケーション作るなら、ほぼそのままの
コードで動く。

373 名前:デフォルトの名無しさん :2005/06/04(土) 19:11:45
なんの互換性かわからんが、VC6で書いたソースがまんまコンパイルできるか
というハナシなら大丈夫のはず

374 名前:デフォルトの名無しさん :2005/06/04(土) 19:17:05
初心者なら移行も何も新規インストールでお願いします。
過去のことはきれいさっぱり忘れよう。

375 名前:デフォルトの名無しさん :2005/06/04(土) 19:28:52
>>373
VC6で開発してきたアプリケーションをそのままVC7でコンパイルしても
(コンパイラのバグなどで)細かな挙動の違いは出てくると思うのですが、
今まで見つかっているものはどんなものがが知りたいと思っています。

http://www.microsoft.com/japan/msdn/library/ja/vccore/html/_core_port_to_the_standard_c.2b2b_.library.asp
は一応見てみましたが、ここに書いてあるのは
あくまでMSが開発時に意図して変更したものしか記載されていないと思いますので。


376 名前:デフォルトの名無しさん :2005/06/04(土) 19:31:04
>>375
MSに相談してくれ
ここは初心者スレ

377 名前:デフォルトの名無しさん :2005/06/04(土) 19:32:00
>VC6で開発してきたアプリケーションをそのままVC7でコンパイルしても

初心者なのか?

378 名前:デフォルトの名無しさん :2005/06/04(土) 19:53:55
>>377
VC7は…

というか、この板の中で他に適切なスレが無いように思うのですが。


379 名前:デフォルトの名無しさん :2005/06/04(土) 21:07:34
.NET2002ならとりあえずサービスパック1を入れておけ。
MFCしか知らないが、MFC限定で言うと、仕様が変わったものがあるから
VC++6.0用のコードをそのままVC++7.0でコンパイルすると警告が出ることがある。
たとえば、ファイルサイズを取得するCFileFind::GetLength()は
以前はUINTを返したけど今は64ビットのU整数を返すから32ビット値だと
思っているとなんで警告が出るか悩むだろう。まあ、移行でソースが間違っていないのに
コンパイルで警告やエラーが出たらその内容をその度にMSDNなどで確認することを
薦める。その内すぐに分かるようになるよ。

380 名前:デフォルトの名無しさん :2005/06/04(土) 22:11:00
こんばんわ

Dialogリソースに、リッチエディットを貼り付けた途端、そのダイアログがエラーで表示されなくなりました。
どうしてなのでしょうか?
何かDialogを表示する前にリッチエディットに対してする前処理があるのでしょうか?

381 名前:デフォルトの名無しさん :2005/06/04(土) 22:32:42
>>380
AfxInitRichEdit();を事前に呼び出す必要があります。

382 名前:デフォルトの名無しさん :2005/06/05(日) 00:06:08
下のように、仮想関数テーブルを持っているhogesub オブジェクトの
ポインタを保持するhoge1オブジェクトへのポインタを保持するvectorに、
hoge1オブジェクトポインタをpush_backするだけで、hogesubの仮想関数テーブルが
破壊されるんですが、何が悪いのか判る人いませんか?

class hogebase {
 virtual void somefunc();
};
class hogesub : public hogebase
{
 virtual void somefunc();
...
};

class hoge1 {
 hogebase* hoge_ptr;
 void someInit() { hoge_ptr = new hogesub; }
 ...
}

void main() {
vector< hoge1* > vec;
 hoge1* ptr = new hoge1;
 vec.push_back( ptr );
}

383 名前:デフォルトの名無しさん :2005/06/05(日) 00:09:36
hogesubの仮想関数テーブルが破壊される
と思った根拠は何?

384 名前:デフォルトの名無しさん :2005/06/05(日) 00:34:07
>>382
破壊されてないに一票。

385 名前:デフォルトの名無しさん :2005/06/05(日) 00:40:45
>>383
デバッガでトレースしていると、push_back中にeaxレジスタにhoge_ptrの仮想関数テーブルのアドレスを入れて、そこにecx(thisポインタ)を入れてます。


386 名前:デフォルトの名無しさん :2005/06/05(日) 00:41:23
>>383
デバッガでトレースしていると、push_back中にeaxレジスタにhoge_ptrの仮想関数テーブルのアドレスを入れて、そこにecx(thisポインタ)を入れてます。


387 名前:デフォルトの名無しさん :2005/06/05(日) 00:43:27
すまん、重複してしまった。

>>384
VC++ですので、vtableが見れるので破壊されるタイミングまで一目瞭然です。


388 名前:デフォルトの名無しさん :2005/06/05(日) 01:24:15
言ってることがよくわからないけど push_back が呼ばれるときに 渡されるのは hoge1 のアドレスだけじゃないのかね?

389 名前:デフォルトの名無しさん :2005/06/05(日) 03:47:21
hogesub関係ねーじゃん

つうかhoge1のコンストラクタで何かしてんの?

390 名前:デフォルトの名無しさん :2005/06/05(日) 12:51:10
VCはダイアログなどのデザインのコツがわかりません。
VBのようなWYSIWYG的なデザインできませんよね?


391 名前:デフォルトの名無しさん :2005/06/05(日) 13:22:34
>>390
.net 2003ならできる。

392 名前:デフォルトの名無しさん :2005/06/05(日) 13:25:36
2003じゃなくても出来るけどね。

393 名前:デフォルトの名無しさん :2005/06/05(日) 13:56:21
>>390
http://www.asahi-net.or.jp/~bx5k-wtnb/dosv/gazo/works_editor01.gif
http://www.jah.ne.jp/~naoyuki/Writings/LLayout1.gif

394 名前:デフォルトの名無しさん :2005/06/05(日) 15:44:12
こんばんわ

質問ですが、
たとえば、
CString string;

string.とカンマまで入れると、ポップメニューが表示されてメンバ一覧が見れますが、
時々、そのポップアップメニューが表示されない時があります。
これはバグなのでしょうか?

使用しているのはVC++6です。

395 名前:394 :2005/06/05(日) 15:45:16
追記ですが、
前後のソースコードに文法上の問題はありません。
コンパイルが通る状態で、string.と入れても、ポップアップメニューが表示されないのです。

396 名前:デフォルトの名無しさん :2005/06/05(日) 15:51:19
コードに不備があると出ないよ
その前にセミコロンがない行があるとか・・・etc

397 名前:デフォルトの名無しさん :2005/06/05(日) 16:10:29
*.ncb ファイルを削除すると良いかもしれない。

ただ、ヒントがどうしても表示されない場合ってのもあるっぽ。
VC7でも出てくれない事あるし…

398 名前:390 :2005/06/05(日) 16:14:58
>>393
これってVCですよね?
でもここからコントロールごとの背景色・文字色・
文字の大きさなどはソース記述していかなきゃだめですよね?
他の開発環境のようにプロパティウィンドウへの記述だけで
できたらなぁ って思ったんです。

399 名前:デフォルトの名無しさん :2005/06/05(日) 16:35:21
ヘタレは他の開発環境つかってろ

400 名前:デフォルトの名無しさん :2005/06/05(日) 18:41:32
>>394
とりあえず、カンマじゃなくてドットな
カンマ打ってもメンバ一覧表示されないのはあたりまえ。

>>398
VBはそもそも、そういうAPIやら使ったコードで指定していかないといけない部分を
全部ランタイム側でラッピングしてユーザーが意識しないでいいようにしてるんだ。
逆にそういう風に隠してるからC/C++でやるのに比べて自由度が低くなる。


401 名前:デフォルトの名無しさん :2005/06/05(日) 18:48:51
>>398
ここに書いてある程度のことは全部できたと思うが・・・
いまなら、Visual C++ 2005 Express Edition Beta 2 日本語版が無料で試せるので
ここでごちゃごちゃ聞くより、Beta版試してみたら?

http://www.microsoft.com/japan/msdn/vstudio/2005/express/visualc/

402 名前:390 :2005/06/05(日) 19:23:24
レスありがとうございます。
早速試してみます。
C++ Builderも。

403 名前:デフォルトの名無しさん :2005/06/05(日) 20:14:37
VC6.0が作るファイル
aps リソースをすばやくロード
opt ワークスペースのウィンドウ レイアウトとか
じゃあncbはなんですか?
Microsoft C/C++ program database 2.00と先端に書かれてます。

404 名前:デフォルトの名無しさん :2005/06/05(日) 21:53:06
調べりゃわかることをいちいち聞くやつ答えるやつ

405 名前:デフォルトの名無しさん :2005/06/05(日) 23:38:56
>>403
プログラムのコンパイルを早くする裏方さんとだけ知っておけば問題ないよ。



…個人情報が含まれている可能性がある
削除しても問題なし、他の人に渡す時にはむしろ削除した方がいいという事も言ってみるテスト。

406 名前:デフォルトの名無しさん :2005/06/06(月) 00:04:24
>>375
MFCなら、MFCのバイナリ互換がなくなった、ということに注意してね。

VC4.2〜VC6.0までは、ライブラリ側とそれを使う側の間で、
違うバージョンのMFCのオブジェクトを受け渡ししても大丈夫だったけど、
MFC7.0以降はそれが禁止されています。不可解なエラーとなるので注意。
ライブラリも含めてコンパイルし直してくださいね。

>>403
クラスビューのキャッシュみたいなもの。
コードを解析した結果が入っているよ。


407 名前:デフォルトの名無しさん :2005/06/06(月) 00:10:24
dllとそれを使用するヘッダーだけのファイルを自分のプログラムで使用したいのですが
libファイルの作成方法を教えてください。
implib でbcc32でのコンパイラでは使えるlibが出来たのですが vc では使えずに困っています、よろしくお願いします。

408 名前:デフォルトの名無しさん :2005/06/06(月) 01:18:12
一般的なライブラリなら新規作成ウィザードでライブラリプロジェクトのスケルトンを
作ったらそこにお好きなファイルを追加してビルドして下さい。
dllの作成も同様です。dllのプロジェクトを作成してビルドすれば
そのdll用のlibとdllが出来ます。

409 名前:デフォルトの名無しさん :2005/06/06(月) 03:56:01
>>407
つまり、
ヘッダーファイルしか提供されていない他人が作ったDLLのインポートライブラリをVC++用に生成したい。
ってことね。>>408さん、早合点でしたね。

VC++には、Borlandのimplib相当のツールはついていません。
フリーウェアでありますので、探してみてください。

410 名前:デフォルトの名無しさん :2005/06/06(月) 07:46:53
ふと思ったんだけどBccのimpdefはVCでも使えないかな。

411 名前:デフォルトの名無しさん :2005/06/06(月) 10:41:31
早合点とかじゃなくて、質問者の情報が少なすぎるんだろ
この場合、わかっててもあえて違うほうで答える場合もある

412 名前:デフォルトの名無しさん :2005/06/06(月) 12:18:13
スレと関係ない話が多すぎるな
隔離スレ作るか
名前の候補を3つ考えてみた
他に希望がなければこの中から決めるぞ

VCのヲタ話はここで
談話室VC
VCなんでも相談室
以上の3つ

413 名前:デフォルトの名無しさん :2005/06/06(月) 12:23:24
#include <stdio.h>

int i_input();//1:integer 0:string
int char2int(char []);

//1000以下の二つの数字を入力させて、その合計を表示しなさい。(6/6の宿題)

main(){
char s[80];
printf("%d\n",i_input(s));

}

int i_input(char a[]){
int i;
printf("1000以下の整数を入力してください。\n");
gets(a);
i=0;
while(a[i]){
if(!(a{i]>='0' && a[i]<='9')) return 0;
i++;
}
return 1;
}

これ、どこがおかしいんですか?

414 名前:デフォルトの名無しさん :2005/06/06(月) 12:31:02
C/C++の宿題を片付けます 44代目
http://pc8.2ch.net/test/read.cgi/tech/1116914132/

415 名前:デフォルトの名無しさん :2005/06/06(月) 12:37:03
>>414
すみません、ではそちらで質問します

416 名前:デフォルトの名無しさん :2005/06/06(月) 13:06:32
最近の宿題って問題があやふやだな
何を予習(又は復習)させようとしてる宿題なのかがわからん

417 名前:デフォルトの名無しさん :2005/06/06(月) 14:28:38
独学で学んだ方が上達も覚えるのも早い希ガス

418 名前:デフォルトの名無しさん :2005/06/06(月) 15:05:27
プログラムなんて嫌々やって覚えられるもんじゃない希ガス。

419 名前:デフォルトの名無しさん :2005/06/06(月) 15:07:52
>>409
死ねよ屑

420 名前:デフォルトの名無しさん :2005/06/06(月) 15:17:48
>>416
出来ない子が多いから
とりあえず出来そうなことをさせて褒めてあげるのが目的。

421 名前:デフォルトの名無しさん :2005/06/06(月) 15:24:40
>>413は やればできる子

422 名前:407 :2005/06/06(月) 19:49:26
>>408-411
お返事ありがとうございます。
その用なツールがあるのですね、探して見ます。

423 名前:デフォルトの名無しさん :2005/06/06(月) 22:18:04
Visual C++.netでは、Win98やWinMeで動作するアプリは作れないのでしょうか?


424 名前:デフォルトの名無しさん :2005/06/06(月) 22:24:20
>>423
作れる。
ただしマネージドC++にすると.Net Fremeworksを相手にインストールしてもらう必要があるし、Win95では動かない。

425 名前:409 :2005/06/06(月) 22:49:44
>>411
いいや、十分な情報が書かれてるよ。
誰しもが通るような道なんだからさ。

初心者なのに回答している香具師にはわからないかもな。

>>419
お前こそな。



426 名前:デフォルトの名無しさん :2005/06/06(月) 22:51:19
>>424
つまり、Win32プロジェクトで作れば良いという事ですか?
あと、コンソールアプリケーションはマネージドC++以外
からは作れない、という認識で良いのでしょうか?


427 名前:423 :2005/06/06(月) 23:57:12
すいません、勘違いしてました。
基本的にはWin32プロジェクトで作れば、
コンソールアプリもウィンドウアプリでも作れますね。
まだ、マネージドC++の位置付が良く理解できてないので、
トンチンカンな回答をしてしまいました。とりあえずは
ヘルプを色々と調べてみることにします。

では、どうもありがとうございました。

428 名前:デフォルトの名無しさん :2005/06/07(火) 07:35:59
>>427
マネージドにしてもコンソールに入出力するプログラムは作れる。
それどころかアンマネージドコードとも混在できるのがマネージドC++の特長らしい。

429 名前:デフォルトの名無しさん :2005/06/07(火) 12:15:23
>>425
だから、全然早合点じゃないだろ

430 名前:デフォルトの名無しさん :2005/06/07(火) 12:16:07
libを作らなくてもdllの呼び出しは可能

431 名前:デフォルトの名無しさん :2005/06/07(火) 12:49:55
質問なんですが、VC++.NET 2002を持っていまして、何度かインストールを
したことがあるのですが、そのときそのときによって、標準状態での
ソリューションエクスプローラが右側であったり左側であったりします。
これはなぜでしょうか。また切り替えることはできますか?

432 名前:デフォルトの名無しさん :2005/06/07(火) 13:00:56
パソコン初心者でも金さえだせば買えるという事実

433 名前:デフォルトの名無しさん :2005/06/07(火) 14:17:57
>>431
>そのときそのときによって
インストールするたびにですか? 普通は変えない限り変わらないはずですが。

>切り替えることはできますか
できます。つかんで移動するだけです。

434 名前:デフォルトの名無しさん :2005/06/07(火) 15:15:14
>つかんで移動するだけです。
>つかんで移動するだけです。
>つかんで移動するだけです。
>つかんで移動するだけです。

インパクの森首相を思い出した
全国で無料IT講習会があったはずだけど
あんまり効果がなかったようだね

435 名前:デフォルトの名無しさん :2005/06/07(火) 15:40:58
grab&drag

436 名前:デフォルトの名無しさん :2005/06/07(火) 17:10:28
だが実際問題、つかんで移動という感じだがな

437 名前:デフォルトの名無しさん :2005/06/07(火) 17:42:46
「つかんで移動」、最高にわかりやすい

438 名前:431 :2005/06/07(火) 17:52:24
>>433
レスどうもです。
最初ドラッグしても横長になったりとうまく収まらないと思ったのですが、
こねくりまわしていたら、移動できました。トンクス。

439 名前:デフォルトの名無しさん :2005/06/07(火) 17:53:16
VS.NETを最近買いまして、
C++に関しては右も左も分からないレベルなんですが、
ちょっと質問が。GUIプログラミングを行うときは
やっぱりMFC使用が当たり前なんでしょうか?
MFC非使用ですべて自作というのは変人レベルですか?

440 名前:デフォルトの名無しさん :2005/06/07(火) 17:54:57
>>439
そんなこと言われると俺は始めた時から変人レベルと言うことになるんだが・・・

441 名前:デフォルトの名無しさん :2005/06/07(火) 17:55:40
>>439
そんな事もない。

442 名前:439 :2005/06/07(火) 17:58:24
>>440
となると、そこまでは珍しくない?
解説サイトをいろいろ見て回ったのですが、
GUIなソフトを作るならMFCで作ってるものしか見かけなかったもので。

443 名前:デフォルトの名無しさん :2005/06/07(火) 18:02:34
>>442
あくまで、俺なら、だが

MFC使ってないなんて変って言われたら、おまえの方が変だって言い返してやるくらい珍しくないとおも

444 名前:デフォルトの名無しさん :2005/06/07(火) 18:02:56
>>442
んなこたない

445 名前:デフォルトの名無しさん :2005/06/07(火) 18:04:55
しかしメッセージクラッカー使っているのは珍しい感じがするんだよな、便利なのに。

そんな俺はWTL。

446 名前:439 :2005/06/07(火) 18:07:33
>>443-444
ボタンとか自作するのめんどくさくないですか?
って書こうとしたらMFCじゃなくても用意してありますね。
MFCがなんなのかよく分からなくなってきた。出直してきます。orz
こんな馬鹿に付き合ってもらってありがとうございました。

447 名前:デフォルトの名無しさん :2005/06/07(火) 18:25:07
>>446
ボタンなんて
DrawEdge()
DrawText()
WM_LBUTTONDOWN
PtInRect()
だぜ。
(略しすぎ)

448 名前:デフォルトの名無しさん :2005/06/07(火) 18:55:52
いやぶっちゃけVCならリソースで終了だろ

449 名前:デフォルトの名無しさん :2005/06/07(火) 22:12:32
VCでコマンドライン入力が必要なプログラムを動かす方法があったら教えてください。

450 名前:デフォルトの名無しさん :2005/06/07(火) 22:32:20
意味がわからん
コンソールアプリを作りたいのか
コンソールからビルドしたいのか

まぁどっちもできるが

451 名前:デフォルトの名無しさん :2005/06/07(火) 22:38:07
コンソールからビルドです

452 名前:デフォルトの名無しさん :2005/06/07(火) 22:39:18
>>449
メニューのツール(T)→外部ツール(E)...を選んで登録したら
コマンドライン入力が必要なプログラムでも何でも動かせるよ。

453 名前:デフォルトの名無しさん :2005/06/07(火) 23:02:24
visual cって行番号表示できないの?

454 名前:デフォルトの名無しさん :2005/06/07(火) 23:02:58
できるよ
どこで設定するかは忘れたけど

455 名前:デフォルトの名無しさん :2005/06/07(火) 23:19:11
思い出してくれ頼む

456 名前:デフォルトの名無しさん :2005/06/07(火) 23:28:46
行番号を表示しないで使うのが普通。
行番号付きBASICじゃないんだから。

457 名前:デフォルトの名無しさん :2005/06/07(火) 23:28:48
ステータスバーにちっこく表示されてるよ
行番号ジャンプはctrl+g

458 名前:デフォルトの名無しさん :2005/06/07(火) 23:37:24
ちっこくでてるのはわかるけどなぁ
直感的にわかりにくいじゃん
場所が

459 名前:デフォルトの名無しさん :2005/06/08(水) 00:25:33
行番号で、直感的に場所が判ったらすげぇや。

460 名前:デフォルトの名無しさん :2005/06/08(水) 05:47:51
場所がどこかわからないと困るケースなんてたいていコンパイルエラー時だし、
エラーメッセージダブルクリックで事足りるし

461 名前:デフォルトの名無しさん :2005/06/08(水) 09:35:16
>>453
VisualStudio2003.netの場合:ツール.オプション.テキストエディタ.C/C++.全般.行番号

462 名前:デフォルトの名無しさん :2005/06/08(水) 09:39:25
>>451
VCVARS32を実行してから
nmake や、 cl を実行する

463 名前:デフォルトの名無しさん :2005/06/08(水) 14:42:21
これからVC++始めようと、VC++2005のβ版を入れたんですが
基本操作がさっぱりわかりません・・・
VC++6の講座があるページ見てみたんですが結構違うみたいで。
初心者の独学にいいページってないですか?

464 名前:デフォルトの名無しさん :2005/06/08(水) 14:59:39
本を買う

465 名前:デフォルトの名無しさん :2005/06/08(水) 15:19:27
悪いことは言わん
本買っとけ


466 名前:デフォルトの名無しさん :2005/06/08(水) 15:24:01
まだ2005の本って出てないですよね。
経験者の方から見てVC++6とVC++2005の操作って同じですか?


467 名前:デフォルトの名無しさん :2005/06/08(水) 15:40:53
>>466
じゃあ2003と2005はどう?

468 名前:デフォルトの名無しさん :2005/06/08(水) 15:57:04
>>467
VC++これから始めるので2003もわかりません・・

469 名前:デフォルトの名無しさん :2005/06/08(水) 16:05:16
向いてないから諦めたほうがいいよ

470 名前:デフォルトの名無しさん :2005/06/08(水) 16:18:00
仕事で使うんでそういうわけにも・・・(´・ω・`)
何か本探してきます。

471 名前:デフォルトの名無しさん :2005/06/08(水) 16:32:47
仕事で使うものをただで教えてもらおうなんて甘い。
その仕事で食ってるんじゃないのか?

472 名前:デフォルトの名無しさん :2005/06/08(水) 16:49:34
とりあえず、これから始めようって人間が最新バージョンのβでやろうってのが間違ってる

473 名前:デフォルトの名無しさん :2005/06/08(水) 16:51:26
立ち読みして役立ちそうなのを数冊みつくろって
買ってくればいい。どれが役に立つかは
読んでみればわかるし、今後立ち読みで
厳選するときに役に立つ

仕事ならそれくらいやるべし

474 名前:デフォルトの名無しさん :2005/06/08(水) 17:21:24
>>472
まだ会社にVC++入ってなくて、仕方なく・・・自分で買う金も無いし、
操作に慣れるだけなら2005でもいいかなと。考えが甘かったわけですが。

>>471,473
心入れ替えていい本探してきます(`・ω・´)ゝ

475 名前:デフォルトの名無しさん :2005/06/08(水) 18:49:51
おめーらみてーな低脳が
人に説教たれてんじゃねーよ
ヴォケ

476 名前:デフォルトの名無しさん :2005/06/08(水) 18:59:09
開き直りはいかん

477 名前:デフォルトの名無しさん :2005/06/08(水) 20:47:52
ワロタ

478 名前:デフォルトの名無しさん :2005/06/09(木) 01:09:48
"hello"出すのに2時間ぐらいかかったぞ(;´Д`)

479 名前:デフォルトの名無しさん :2005/06/09(木) 02:57:03
>>474
やる気ないだけだろ。
やる気あるやつは2005β版でとっくにはじめてるよ。ただだしな。


480 名前:デフォルトの名無しさん :2005/06/10(金) 10:34:54
VC++を購入したいのですが、予算も知識もなく困っております
2003 か 6.0か。 通常版かアカデミックか。 standardかprofessionalか。
いくつか質問させてください

1・アカデミックは、購入する時に学生証の提出等が必要なだけで
一回購入さえできれば、後で学生である事の認証等いりますか?

2・6.0のstandardは Service Pack5をインストールすれば最適化が使えるように
なると聞いたのですが本当でしょうか?
その場合、通常版でなければ無理とか、アカデミック版でなければ無理とかありますか?
2003standardでも現在はService Packをインストールすれば最適化が使える等ありますか?

3・MFCではなく、SDKを中心に学んで使っていきたいのですが
だったら特に6.0より2003のほうが全然いいとかいう機能等はありますか?

教えて頂けると助かります 宜しくお願いします

481 名前:デフォルトの名無しさん :2005/06/10(金) 10:54:45
theSpokeも選択肢に入れたら?

あと、SDKしたいだけなら無料のVC ToolKitで十分

482 名前:デフォルトの名無しさん :2005/06/10(金) 12:53:21
PostQuitMessage(0);
を処理しているのに、アプリが終了しません。
デバッガで確認したから間違いありません。
何故でしょうか?

483 名前:デフォルトの名無しさん :2005/06/10(金) 13:02:11
>>482
メッセージループがまずいんじゃないの。
GetMessageでウィンドウハンドルを指定しているとか。

484 名前:デフォルトの名無しさん :2005/06/10(金) 13:18:07
>>483
Thanks
いつもコピペで入れてたので、気づかなかった。

485 名前:デフォルトの名無しさん :2005/06/10(金) 13:43:28
>>484
どうせwhile (GetMessageなんてやっているんだろ。

486 名前:デフォルトの名無しさん :2005/06/10(金) 15:46:22
別にそれでいいが。

487 名前:デフォルトの名無しさん :2005/06/10(金) 19:01:39
>>480
基本的に学生用でも買う時に証明が要るだけ

488 名前:デフォルトの名無しさん :2005/06/10(金) 19:10:13
1.知らん。.NETはアクティベーションが必要だったはずだが。
2.なる。サービスパック4以降だったかな。コンパイラもサービスパックで
アップデートされるんだが、そのアップデートが最適化コンパイラで
すべてのエディションに適用される。アカデミックも同じ。但し、最適化
オプションは手打ちで設定。.NET2003はまだサービスパックは出ていないが、
Visual C++ .NET 2003 Toolkitとかいう奴を入れると最適化コンパイラが
手に入るらしい。
3.新しいAPIを使いたければ.NET 2003にしておけば良いだろう。

つーか、6.0なんて今となってはやっぱり古いぞ。.NETでコンパイルする方が
実行速度速いし。既に持っているならともかく、今更あえて買うべきでもないと
思うが。以上。

489 名前:仕様書無しさん :2005/06/10(金) 22:09:58
iniファイルのsection情報を取得し、section毎のキー情報をデータに
して格納する。

これって簡単?
GetPrivateProfileSectionNames() と GetPrivateProfileSection()
を使ってうまく出来ないだろうか。

他の掲示板調べたけれどもVBのやりかたしか載ってなし。


490 名前:デフォルトの名無しさん :2005/06/10(金) 22:29:26
VBのやり方を理解してC++で書き直せばよかろう。

491 名前:デフォルトの名無しさん :2005/06/10(金) 22:43:12
フリーなpdfライブラリってないでしょうか?
VC6です。
JavaとかPHP用とかなら見つかるんですけど、
VC用(Windows用)は有料しか見つからなくて。

492 名前:480 :2005/06/11(土) 03:41:56
レスありがとうございます!

コンパイル後のプログラム実行速度ですが
2003standard に NET 2003 Toolkitつける
2003standard
6.0professional
では早い順に並べるとどのくらいでしょうか?

また、NET 2003 Toolkitは 何やら難しそうな感じはするのですが
プログラミング初心者でも使用できるでしょうか?

493 名前:デフォルトの名無しさん :2005/06/11(土) 03:53:16
とりあえず初心者なら実行速度や最適化など気にしない

494 名前:デフォルトの名無しさん :2005/06/11(土) 05:30:37
>>492
toolkitをまず試してみな。
満足行く速度が出ないならそれから考えろ。

495 名前:デフォルトの名無しさん :2005/06/11(土) 12:42:10
初心者ほどくだらないことを気にする。

496 名前:デフォルトの名無しさん :2005/06/11(土) 13:25:30
VisualC++っていうのを買わないとC++のプログラミングはできないんですか?

497 名前:デフォルトの名無しさん :2005/06/11(土) 13:28:06
>>496
できます

498 名前:デフォルトの名無しさん :2005/06/11(土) 13:30:47
C++の開発環境は高いのから無料まで腐るほどある。
しかしここはVisual C++のスレだ。

Microsoft Visual C++ Toolkit 2003 なら無料。
http://msdn.microsoft.com/visualc/vctoolkit2003/
http://homepage1.nifty.com/kazubon/progdoc/poor/vctoolkit.html
http://www.02.246.ne.jp/~torutk/cxx/vc/vctoolkit2003.html

499 名前:デフォルトの名無しさん :2005/06/11(土) 13:40:12
実行速度で比較すると、.NET 2003 +toolkit > .NET 2003 std > 6.0ではないか?
自分のアプリでは.NET2003でコンパイルし直したものの方が6.0でコンパイル
したものより二割くらい速かった。コンパイラが新しくなったのと同時に
ライブラリなども新しいコンパイラでコンパイルされているせいか全体的に
高速化が図られたという感じだ。ちなみにintelのコンパイラ+VC6.0の組み合わせより
.NET 2003オンリーの方が速かった。リンクするVC6.0のライブラリが古いため
であろうか。

500 名前:デフォルトの名無しさん :2005/06/11(土) 13:44:44
最適化できる6.0は 最適化できない.NET 2003 stdに負けるのか?


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.