★初心者にVisual C++を教えるスレ★ Part38
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/11/03(木) 00:54:48.61お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。
■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう、特にWindowsForm、MFC、Win32アプリケーションの区別。
・できるだけ具体的に。
質問の仕方については次のページが大変参考になります。
http://www.hyuki.com/writing/techask.html
■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
(MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。
【過去スレ】
Part37 http://hibari.2ch.net/test/read.cgi/tech/1299982561/
Part36 ttp://hibari.2ch.net/test/read.cgi/tech/1273939582/
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/
0002デフォルトの名無しさん
2011/11/03(木) 00:57:26.21■MFC相談室 mfc22d.dll■
http://hibari.2ch.net/test/read.cgi/tech/1316080347/
Win32API質問箱 Build97
http://hibari.2ch.net/test/read.cgi/tech/1318439361/
【C++】 DirectX初心者質問スレ Part36 【C】
http://hibari.2ch.net/test/read.cgi/tech/1319032065/
C言語なら俺に聞け(入門篇) Part 54
http://pc12.2ch.net/test/read.cgi/tech/1254829314/
C++相談室 part91
http://hibari.2ch.net/test/read.cgi/tech/1315922506/
C/C++の宿題片付けます 152代目
http://hibari.2ch.net/test/read.cgi/tech/1312201995/
0003デフォルトの名無しさん
2011/11/03(木) 00:58:12.13MSDN ライブラリ
http://msdn.microsoft.com/ja-jp/library/default.aspx
Windows SDK for Windows Server 2008 and .NET Framework 3.5
http://www.microsoft.com/downloads/details.aspx?FamilyID=f26b1aa4-741a-433a-9be5-fa919850bdbf&DisplayLang=en
0004デフォルトの名無しさん
2011/11/03(木) 00:58:56.91Win7の64bitマシンを使っています
Visual C++2010を使用しています。
アクティブソリューションぷらっとホームには、x64を追加することが出来たのですが
その下のプロジェクトのぷらっとホームにx64が出ません。何故ですか?
http://up3.viploader.net/ippan/src/vlippan243062.jpg
0005デフォルトの名無しさん
2011/11/03(木) 02:31:12.00http://hibari.2ch.net/test/read.cgi/tech/1299982561/938
にょろん?
0006デフォルトの名無しさん
2011/11/03(木) 03:33:05.20乙です
40代のLinux鯖屋ですが未だにVC6でたまに仕事がありますw
未だに作法がわからず、とりあえず動くものを納品してます。
よろです。
0007デフォルトの名無しさん
2011/11/03(木) 07:30:15.00それわたしです
SDK入れたり色々してみたんですが
やっぱりうまく行きません
0008デフォルトの名無しさん
2011/11/03(木) 17:58:21.43基本ネットにつないであるデスクトップの32ビットVistaに入れたVC++2008EEはthis->とか入れたらドロップリストみたいなのが出て自動入力できるんですが
ノーパソの64ビット7に入れたVC++2010EEでは全く出てくれません。どうしてでしょうか?
0009デフォルトの名無しさん
2011/11/03(木) 18:48:11.40「#include <」とか、
「#include "」とかって書くとどうなります?
2010からヘッダファイルもインテリセンスしてくれるので動作確認できます。
ちなみに、インテリセンスさんは頻繁に気絶されるので、動かないときは再起動してあげてください。
↑で何も変化ないなら、設定切れてるかインストール失敗したのでは?
0010デフォルトの名無しさん
2011/11/03(木) 18:54:46.30ありがとうございます
#include <と書くとヘッダファイルのドロップリストがいっぱいでてきました
でもメンバは全く出ないのです
0011デフォルトの名無しさん
2011/11/03(木) 18:56:42.390012デフォルトの名無しさん
2011/11/03(木) 19:08:29.440013デフォルトの名無しさん
2011/11/03(木) 19:47:33.800014デフォルトの名無しさん
2011/11/03(木) 20:50:26.090015デフォルトの名無しさん
2011/11/05(土) 08:00:18.97ttp://msdn.microsoft.com/ja-jp/library/system.windows.forms.methodinvoker.aspx#Y0
コンパイルしようとするとかっこの対応関係でエラーが出てしまいます。
どなたかC++での書き方を教えて頂けませんか。
0016デフォルトの名無しさん
2011/11/05(土) 11:21:49.18匿名メソッドって使えたんだっけ?
0017デフォルトの名無しさん
2011/11/05(土) 12:05:03.42サンプルのままやろうとしました。
C++/CLIはサンプルが少ないので、いつもC#を参考にして色々試しているのですが、今回はどう変えればいいのか分かりませんでした。
0018デフォルトの名無しさん
2011/11/05(土) 13:33:37.66※ this.Invoke の行から始まるヤツのこと
でもデリゲートはあったはずだから、匿名メソッドの部分を通常?の関数?にして
やってみればいいんじゃね。それも分からないなら、デリゲートをちゃんと勉強してからだと思う。
で、あやふやな記憶で書いてる。間違ってたらごめん。
0019デフォルトの名無しさん
2011/11/06(日) 22:05:29.05関数化は簡単でしたが、関数で引数を受けなければならない場合、Invokeの引数は(デリゲートのインスタンス,引数)となるんですね。
アドバイスを下さった方々、ありがとうございました。
0020デフォルトの名無しさん
2011/11/06(日) 22:40:02.81遅いわよ>>1乙
0021デフォルトの名無しさん
2011/11/07(月) 00:22:30.650022デフォルトの名無しさん
2011/11/07(月) 00:40:07.38try 〜 catch とか古くは do 〜 while(false) を使って流れの中では正常ケースしか存在しないようにするとかも。
0023デフォルトの名無しさん
2011/11/07(月) 00:40:30.80o常套
0024デフォルトの名無しさん
2011/11/07(月) 01:24:06.69頭では理解しているのですがいざこういう処理をするプログラムを書けって言われて書けないことが多々あるのですがまずいのでしょうか?
また対策として何かありますか?
0025デフォルトの名無しさん
2011/11/07(月) 01:29:12.57それが普通。
その度に調べて自分の血肉にしていくしかない。
0026デフォルトの名無しさん
2011/11/07(月) 01:37:02.45自分語りのつもりはないのですが学生時代はアホだったものでこれも向いてないのかなと不安になりました
素早いレスありがとです
0027デフォルトの名無しさん
2011/11/07(月) 23:18:21.830028デフォルトの名無しさん
2011/11/11(金) 01:06:18.33これの中身を外部のプログラムなどから覗くことは出来ないでしょうか。
プロジェクトファイルが XML で書かれているので、その中に定義があると思ってたのですが、見あたらなかったです。
0029デフォルトの名無しさん
2011/11/14(月) 18:27:40.34なんという関数を利用すれば解決できるかわかりません。
び出し階層、ログ、アサート、assertで検索してみましたが、節穴でみつけられていません。
ヒントをください。
0030デフォルトの名無しさん
2011/11/14(月) 19:13:20.15スタックトレースという
こういうのを使ってごにょごにょやるようだ
http://msdn.microsoft.com/ja-jp/library/cc428994.aspx
0031デフォルトの名無しさん
2011/11/14(月) 23:56:35.07メモリリークの検出方法を調べていたんですが。
�@最初に_CrtSetDbgFlagを記述する方法と
// メイン関数
int main(int argc, char* argv[])
{
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
:
}
�A最後に_CrtDumpMemoryLeaksを呼び出す方法があるようなのですが
int main(int argc, char* argv[])
{
:
_CrtDumpMemoryLeaks();
}
�@だとメモリリークが検出されず�Aだと数箇所のメモリリークが検出されてしまいます。
どちらが信用できるのでしょうか?ソースを追ってみたところ
メモリリークが発生しそうな箇所はありませんでした。
0032デフォルトの名無しさん
2011/11/15(火) 08:09:01.13mainのスコープのデストラクタは_CrtDumpMemoryLeaks();を呼んだ時点で
まだ呼ばれてはいないぞ。ヒープの解放予定のあるオブジェクトがあったら
当然誤検知
だからどちらも信用できる
ただ�@のほうが自動で全部終わったあとに調べるから使い勝手はいいと思われ
0033デフォルトの名無しさん
2011/11/16(水) 12:45:25.00そもそも、ファイルの内容がXMLとしておかしくないかチェックしてくれる便利なライブラリを紹介いただけないでしょうか?
<root>
<piyo>ababababa<hoge></piyo>
Hello World</hoge>
</root>
の場合は、<piyo>に値があるのに、閉じられる前に次のタグが始まっているからパースエラー、というようなチェックをして欲しいのです。
よろしくお願いします。
003433
2011/11/16(水) 13:07:54.11rapid_xml(もしくは、boost::property_tree)でxmlのパースができることを見つけたのですが、閉じタグをチェックしてくれないので少し困っています。
ここまでのチェックは、他のライブラリも含めて、してくれないものなのでしょうか?
<root>
<aa>えー</cc>
<bb>びー</bb>
</root>
この例の場合、<aa>の閉じタグが何故か</cc>になっているのでパースエラーになってほしいのですが、rapid_xmlだと問題なしにされてしまいます。
欲を出すと、boostライセンスのように取扱が簡単なものがよいのですが…。
MSXMLも試してみます。(…MSのは、どうしてこんなに複雑なのだろう…。)
003533
2011/11/16(水) 13:10:16.30【初心者歓迎】C/C++室 Ver.76【環境依存OK
↑のスレッドのつもりで書き込んでいました。申し訳ないです。あちらへ移動します。
0036デフォルトの名無しさん
2011/11/16(水) 16:12:15.70========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ ==========
↓
========== ビルド: 正常終了 1、失敗 0、更新不要 0、スキップ 0 ==========
0037デフォルトの名無しさん
2011/11/16(水) 16:17:52.350038デフォルトの名無しさん
2011/11/16(水) 16:54:55.76msenvui.dllの中に入っている文字列リソースのようなので、
それを自己責任で書き換えてしまえばできるかもしれないけど。
0039デフォルトの名無しさん
2011/11/16(水) 19:38:05.16と某スレでは書きます。
0040デフォルトの名無しさん
2011/11/16(水) 22:49:02.71"z:\test\"という共有フォルダを作成したい。
#include "stdafx.h"
#include <direct.h>
int _tmain(int argc, _TCHAR* argv[])
{
_mkdir("z:\test\");
return 0;
}
あとは共有設定したいのですが続きをお願いします。
0041デフォルトの名無しさん
2011/11/16(水) 22:58:37.710042デフォルトの名無しさん
2011/11/17(木) 04:52:33.57net share ...
のバッチで十分な気がしないでもない
0043デフォルトの名無しさん
2011/11/17(木) 10:09:42.41構成プロパティ>リンカー>入力>追加の依存ファイル
とは、何を入力する欄なのですか?
visual c++ 2010 Express を利用してプログラムの学習をしていて、
boost c++ libraryをインストールした際は、
Program Files\Microsoft SDKs\Windows\v7.0A
にヘッダとライブラリをコピーするだけで利用できたのに対して、
libxml2をインストールした際は、上記に加えて、
構成プロパティ>リンカー>入力>追加の依存ファイル
に対して、libxml2.lib を追記しないとリンクに失敗して、LNK2001・LNK2019が発生していたことが質問の背景にあります。
以前、何かのまねをしてプロジェクトを作っていたときに、
追加の依存ファイルに、ws_32.lib だったかを追記するようにという記述を思い出したので、
試してみたら、リンクエラーが無くなって解決できました。
そして、逆に、どうして必要・不要なのか気になってきました。
よろしくお願いします。
0044デフォルトの名無しさん
2011/11/17(木) 10:36:02.61ライブラリは明示的にリンクしろと書かないかぎりリンクされない
追加の依存ファイルはリンクするライブラリを指定する場所
boostはヘッダに
#pragma comment(lib, "〜.lib")
と書いてリンカに自分のライブラリを指定しているから追加の依存ファイルに書かなくてもリンクが通る
0045デフォルトの名無しさん
2011/11/17(木) 19:13:06.020047デフォルトの名無しさん
2011/11/19(土) 14:06:07.11エラー出力の方法を模索しています
コンソールアプリならコンソールに
GUIアプリならアラートという風に出力先を静的に切り変えたいのですが
そのためのdefine定義がVCに既定であったりするのでしょうか?
0048デフォルトの名無しさん
2011/11/19(土) 14:20:39.40ちょっとプロジェクト作ってプリプロセッサの定義を見れば書いてあるぞ。
でもそんなんで切り替えるんじゃなくて、例外かなにかをそのクラスを使う側で捕捉できるようにして、
捕捉した側で出力を行うようにした方が設計的に良くないか?
■ このスレッドは過去ログ倉庫に格納されています