5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

★初心者にVisual C++を教えるスレ★ Part36

1 :デフォルトの名無しさん:2010/05/16(日) 01:06:22
Visual C++入門者・初心者からの質問を、
お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう、特にWindowsForm、MFC、Win32アプリケーションの区別。
・できるだけ具体的に。

質問の仕方については次のページが大変参考になります。
http://www.hyuki.com/writing/techask.html

■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
 (MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。

【過去スレ】
Part35 ttp://pc12.2ch.net/test/read.cgi/tech/1256645713/
Part34 ttp://pc12.2ch.net/test/read.cgi/tech/1245382769/
Part33 ttp://pc12.2ch.net/test/read.cgi/tech/1235292263/
Part32 ttp://pc11.2ch.net/test/read.cgi/tech/1225422971/
Part31 ttp://pc11.2ch.net/test/read.cgi/tech/1217494948/

72 :デフォルトの名無しさん:2010/07/01(木) 20:46:42
>>71
VC初心者ですまん。
Webサービス化するのは出来るんだけど、Cから呼び出す方法がさっぱりだわ。

コマンドラインオプションに/MT付けてると/clr付けられんみたいなんだが、マネージドコード使えねって事なんかな。
フックするためには/MTは外せないっぽい。

73 :デフォルトの名無しさん:2010/07/02(金) 17:50:00
>>72
わかった

74 :デフォルトの名無しさん:2010/07/03(土) 17:29:17
>>72
C#部分はEXEとして作って、フックDLLとはプロセス間通信するのが一番楽だと思う。
あと、フックDLLは/MT必須というのは誤解。

ただ、フックDLLとそこから読み込むDLLでマネージコードを使うのはお勧めしない。
CLR 1.0〜2.0は1プロセス内に共存できない(4で可能になったけど)とか、
DLLのアンロードをどうすんのとか、
Windowsと.NETの暗黒面に次々と出くわすだろうことが明らかなので。

75 :デフォルトの名無しさん:2010/07/03(土) 19:56:53
>> 41
むちゃくちゃ遅れましたがありがとうございます。

76 :デフォルトの名無しさん:2010/07/04(日) 03:12:16
Windows XP 32bitではBeep関数でパソコンの内部スピーカーからビープ音を
鳴らすことができていましたが、Windows 7 64bitでは外部スピーカー
からしか音がしなくなりました。Windows 7 Ultimate 64bitでビープ音を
鳴らすにはどうしたらいいでしょうか?

開発環境は VC++8.0 です。

77 :デフォルトの名無しさん:2010/07/04(日) 03:38:28
>>76
7で行われた変更の一つ
http://blogs.msdn.com/b/larryosterman/archive/2010/01/04/what-s-up-with-the-beep-driver-in-windows-7.aspx

諦めろ

78 :デフォルトの名無しさん:2010/07/04(日) 19:22:53
>>74
レスありがとう。

VB6でCOM作って、import使って呼び出せそうだわ。
プロセス間通信もやったことないんだけど、簡単なんかな?

exe作って引数でデータ渡すのもありだね。
投げっぱなしジャーマンで、成否だけ分かればいい場合だけ
だけど。

79 :デフォルトの名無しさん:2010/07/05(月) 12:26:34
VC++6.0でcuda使えますか?

80 :デフォルトの名無しさん:2010/07/06(火) 18:11:49
Coda kumi?

81 :デフォルトの名無しさん:2010/07/06(火) 18:45:09
>>79
はい使えますん

82 :デフォルトの名無しさん:2010/07/07(水) 08:40:45
VC++2008で、IriaやIrvineのようなダウンロード支援ソフトは作ることできますか?
こういった通信を行うソフトが作りたいのですが

83 :デフォルトの名無しさん:2010/07/07(水) 08:49:41
できる
作れる技術があるかどうかは別だが

84 :デフォルトの名無しさん:2010/07/07(水) 08:54:17
できるか、できないかすら分からないレベルなのでそれを聞いて安心しました
TCP/UDPとかSocketとか難しそうですけど地道に勉強していきたいと思います

85 :デフォルトの名無しさん:2010/07/07(水) 10:06:11
マルチプラットフォーム志向で変態PGならBoost.Asio + OpenSSLでFA.

86 :デフォルトの名無しさん:2010/07/10(土) 03:00:13
#pragma comment(lib,"〜.lib")でライブラリをリンクするとき
#pragma comment(lib,"debug/〜.lib")のようにディレクトリを指定してリンクすることは出来ないのでしょうか?

実際にやってみると
LINK : fatal error LNK1104: ファイル 'debug/〜.lib' を開くことができません。
というエラーをはいてしまいます

87 :デフォルトの名無しさん:2010/07/10(土) 03:44:06
>>86
それって、カレントがどこになると思ってるの?
exeと同じ場所に置くのが無難だと思うけど。
絶対パスでもできた希ガス。

88 :名無しさん@そうだ選挙に行こう:2010/07/10(土) 13:09:27
>>86
link.exeプロセスのカレントディレクトリと%LIB%から探されるから、そんな指定はやめとけと

89 :名無しさん@そうだ選挙に行こう:2010/07/10(土) 13:47:58
そうすると自分用のlibディレクトリにパスを通したあと
デバッグ用のlibとリリース用のlibを使い分けたい場合どうしたらいいのでしょうか?

90 :名無しさん@そうだ選挙に行こう:2010/07/11(日) 20:47:33
普通プロジェクトの設定

91 :デフォルトの名無しさん:2010/07/19(月) 21:02:43
フォームに置くコントロールについてなのですが。
プログレスバーみたいな感じで、バーコードみたいな部分部分で色が変っているような表示(デフラグの時に下のほうに表示されるプログレスバーみたいな帯です。)
をさせたいんですが、どうやったら実現できますでしょうか。

また.NETにはそれ用のコントロールってありますですか?

92 :デフォルトの名無しさん:2010/07/19(月) 21:38:19
線引いて色を塗る

93 :デフォルトの名無しさん:2010/07/19(月) 22:21:44
挫けそうです。orz

94 :デフォルトの名無しさん:2010/07/20(火) 03:01:18
デバッグ情報を埋め込まずに最適化もせずにコンパイルする方法はないでしょうか?

95 :デフォルトの名無しさん:2010/07/20(火) 03:08:33
>>94
>>90

96 :デフォルトの名無しさん:2010/07/20(火) 07:23:58
>>95
ありがとうございます。上手く設定することができました。

97 :デフォルトの名無しさん:2010/07/20(火) 19:00:59
Visual C++2010を使ってC++を知らなくても1から学べる入門書って今は全くない状態なんですか?

98 :デフォルトの名無しさん:2010/07/20(火) 20:20:38
あるよ

99 :デフォルトの名無しさん:2010/07/20(火) 20:26:07
教えてプリーズ
ググってもマネージコードうんちゃらという本一冊しかかからないんですぅ

100 :デフォルトの名無しさん:2010/07/20(火) 21:09:07
C++スレ行けばいい

101 :デフォルトの名無しさん:2010/07/20(火) 22:36:19
エディットボックスの文字位置を揃えるにはどうすればいいですか?
例 1バイトのiとkをそれぞれ5個ずつ表示させると横幅が小さい
iが狭いです。
iiiii
kkkkk 
こんな感じになってしまいます。これを直したいです。願いします。

102 :デフォルトの名無しさん:2010/07/20(火) 22:38:29
等幅フォントを指定すればいい

103 :デフォルトの名無しさん:2010/07/22(木) 18:15:53
>>102 解決しました。ありがとうございました。

104 :デフォルトの名無しさん:2010/07/26(月) 21:03:26
>>97
それ系は買う必要ないと想うが

105 :デフォルトの名無しさん:2010/07/28(水) 08:48:37
Releaseフォルダに出来た.exeファイルの中に***.pdbファイルのフルパス情報が埋め込まれて
しまってるのですが、これを乗せないようにする方法ってないのでしょうか?

106 :デフォルトの名無しさん:2010/07/28(水) 08:50:08
書き忘れ Visual Studio .NET 2003 を使ってます

107 :デフォルトの名無しさん:2010/07/30(金) 07:53:19
解決しました。ありがとうございました。

108 :デフォルトの名無しさん:2010/08/02(月) 20:08:28
VC+2010、Win32でプログラムを作っています.
実行ファイルのパス名を取得するために、下記のようにしています
(パスとファイル名の分離は省略)

TCHAR fName[_MAX_PATH];
GetExeFilePath(NULL, fName, wcslen(fName);
----
これをDEBUGモードでコンパイルしで,デバガのウォッチ式でfNameを
見ると,正しく c:\test\debug\test.exe のように表示されます。
ところがReleaseモードでコンパイルすると fName が c:\ になります.
(実際の実行ファイルは c\test\release\test.exeにある)。

なぜこうなるのでしょうか? 解決方法を教えてください.

109 :デフォルトの名無しさん:2010/08/02(月) 20:24:03
GetModulePath

110 :デフォルトの名無しさん:2010/08/03(火) 10:01:24
>108 の自己レスですが、

//TCHAR fName[_MAX_PATH];
TCHAR fName[500];
GetExeFilePath(NULL, fName, wcslen(fName));

としたら,Release/Debugモード両方で正しく動くようになりました.
stdlib.hで_MAX_PATHは260に定義されていますが,
TCHAR fName[260];ではうまく動きませんでした。
ドライブ名などを含めて、英文字40字程度のファイル名ですので
そんなに長くはないのですが..

理由は分かりませんが、動いたので良いことにしまう

111 :デフォルトの名無しさん:2010/08/03(火) 10:09:03
GetExeFilePath でぐぐってもほとんどヒットしないから
ほとんど誰も使ってないだろうし、確かにどうでもいい。

112 :デフォルトの名無しさん:2010/08/03(火) 12:40:35
>>110
GetExeFilePath が何なのか知らんが wcslen(fName) は駄目でしょ。
_countof(fName) とかに書き直せよ。

113 :デフォルトの名無しさん:2010/08/03(火) 12:56:51
おおおお

TCHAR fName[_MAX_PATH];
GetExeFilePath(NULL, fName, _countof(fName));

で出来ました!!
UNICODE指定時には、TCHARは _wchar_tと同じになるって
書いてあったので,wcslen(fName)で良いと思ってました

114 :デフォルトの名無しさん:2010/08/03(火) 13:10:31
>>113
wcslen() が何をする関数なのかよく調べとけ。

115 :デフォルトの名無しさん:2010/08/03(火) 19:02:35
ティーチャー

116 :デフォルトの名無しさん:2010/08/04(水) 02:37:37
間違えてC++の方に書いちゃったんですが
4>C:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\atlconv.h(757): warning C4995: 'wcscpy': 名前が避けられた #pragma として記述されています。

こういう警告がでます.

1.wcscpy_s wcscat_s vsprintf_s vswprintf_s を使う
2.可能な限り早く、(たとえば、stdafx.hの先頭で)
#define _CRT_SECURE_NO_WARNINGS
する
3.可能な限り早く、(たとえば、stdafx.hの先頭で)
#pragma warning( disable : 4995 )
する

と教わりました.1についてatlconv.hはVisualStudioインストールフォルダのものなんですが変更してもいいんでしょうか?


117 :デフォルトの名無しさん:2010/08/04(水) 06:00:51
2 3 はwarningのメッセージを消すだけだからあってもなくてもいい。

118 :デフォルトの名無しさん:2010/08/04(水) 12:12:07
1が一番いいのかなと考えているんですがprogram filesのファイルを変更するのに抵抗がありまして・・・

119 :デフォルトの名無しさん:2010/08/04(水) 12:49:46
atlmfcが入ってない初心者向けのエディションでも使ってればいいと思うよ

120 :デフォルトの名無しさん:2010/08/04(水) 13:21:26
Expressでしょうか?
入れなおしてみます

121 :デフォルトの名無しさん:2010/08/04(水) 15:42:58
気になる鼻毛を引っ張って抜いたら2cmくらいあった

31 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)