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

このエントリーをはてなブックマークに追加
逆ポーランド電卓
どこに聞いていいか分からなかったのでここに質問させてください。

Visual Studio 6.0 Processor Pack に入っている
サンプルプログラム
(C:\Program Files\Microsoft Visual Studio\VC98\Samples\Amd\Isdk
に入っている SIMD で演算する一連のライブラリ)
を利用したいのですが、
このプログラムのライセンスはどうなっているのでしょうか。

クローズドな開発に利用していいのか、
逆にオープンソースにこのソースも含めて配布していいのか、
これを利用したソフトを販売していいのか(そんな予定はありませんが)、
等です。
質問です。
Win2ksp4、VS.net2002でダイアログベースのMFCアプリケーションを作成するときに
ボタンを配置して、ダブルクリックで関数を追加すると
最初は追加されるのですが、2個目以降はMFCクラスウィザードへようこそ
という窓が出て追加できません。イベントハンドラを追加しようとしても
InternetExplorerスクリプトエラーという窓が出てしまいます。
エディットコントロールでは変数が追加できません。
一度VSを終了してから起動して、開くと今度は正常に動きます。

どうすればよいのか教えてください。お願いします。
質問なのですが、シリアル通信をしていて、comポートの
「CTS」のon/offって、どうやって見ればいいのでしょうか?

よろしくお願いします。
956デフォルトの名無しさん:04/01/22 20:58
1000も近いすけど、質問します。Visual C++ 6.0
Windows 2000 で 
インターネットプロトコルのプロパティに表示される項目
(自分のIPアドレス、DNS)を変更するプログラムはどうやればよいのでしょう。
実行ファイルをダブルクリックしてすぐIPの切り替えを行いたいのですが。。。

コマンドプロンプトで行う方法はわかったのですが、VCではどうやればよいのか…
なら、そのコマンドとパイプでもつないだらええやん。
959デフォルトの名無しさん:04/01/22 21:54
パイプでつなぐ?何すかそれ?キーワードでも教えてください。
960デフォルトの名無しさん:04/01/22 22:11
>959
ヒント
dir | sort
| がパイプ
961デフォルトの名無しさん:04/01/22 22:25
そのパイプは知ってるっす。私が実現したいのはVCから行うってことをやりたいんです。
962デフォルトの名無しさん:04/01/22 22:27
ん?VC上からコマンドプロンプト上のコマンドを起動できるってこと?
>>962
system()
_popen
965デフォルトの名無しさん:04/01/22 23:15
system()でできた。(^^ 
ありがとう。
966デフォルトの名無しさん:04/01/22 23:59
約10秒おきに新しい一行が追加されていく
CSVファイルがあります。

このCSVファイルをできるだけ高速に、
新規追加された行で、しかも望みの列だけとりだしたいのです。

どういうやりかたがはやいでしょうか。
C言語でSQLつかえるともきいたんですけど、やっぱ遅いですかね。


967デフォルトの名無しさん:04/01/23 00:19
>966
固定長ならファイルの最後からファイルポインタを移動して
ランダムアクセスして早く読めるけどそうでなければ難しそう。
>>966
インデックスファイルを同時に作っていくのが普通じゃない?
キー文字列と本体ファイルのファイルポインタをペアで記録していく。

そのインデックスのキー文字列をすばやく検索するためのデータ構造が、
リンクリストだのハッシュだのという例題として情報処理関連の試験に出てくると。
969デフォルトの名無しさん:04/01/23 14:31
Win2000+VC6.0でWin32 Console Applicationを作るとき,メモリを静的に
確保できる限界はどれくらいなんでしょうか?
画像を配列に保存するため,unsigned char hoge[約45万]を3個作ったら,
ビルドは出来た(警告も無し)ものの実行できませんでした.
3つ目の要素の数を10万くらいにしたらプログラムの実行は出来ました.
この配列は3つとも同時に最初から最後まで使うのですが,解決策はありませんか?
970デフォルトの名無しさん:04/01/23 15:06
Visual C++ .NET 2003 で、ファイルをインポートしてリソースを作成することができません。
「プロジェクト」→「リソースの追加」→「インポート」→「ファイル選択」→「カスタムリソースの種類」
→「種類を入力」→「OK」
で、ツリービューにリソースが追加されません。(でも変更を示す * は付きます)
ツリービューを右クリックでも、新規作成でファイル名を直接入力でも、だめでした。

解決策はありますか?
971デフォルトの名無しさん:04/01/23 15:29
ソースに
#ifdef WINDOWS
...
#endif
#ifdef LINUX
...
#endif
のような プリプロセッサが沢山あるのですが、
ソースが読み難いので #ifdef LINUX の部分だけを表示させることは
可能なのでしょうか? (Microsoft Visual C++ 6.0 を 使用しています)

宜しくお願い致します。
LINUX定義して/Eとか/Pとか。
973デフォルトの名無しさん:04/01/23 16:43
ファイルをクリックしたら、またテキストソフトで開けなくしたい。
つまりファイルロックのソフトを作りたいのですが、ロックの仕方が分かりません。
環境はWINDOWS2000SEVER,VISUALC++6.0です。
よろしくおねがいします。
974971:04/01/23 16:53
>>972
すみません、全く説明がわかりません。
まず、その定義はどのようにできるのか?
次に /E, /P って何ですか? コマンドですか?
Visual C++ に関しては全くのド素人なので、
宜しくお願いいたします。

>>969
それはスタックサイズが足りないからだよ。(MSDNでコンパイラオプションの/F参照)
スタックサイズ増やしてもいいけど、動的確保した方がいいんでないの?

>>973
::CreateFile ( ... , ... , 0 , ・・・)
976973:04/01/23 17:14
>>975
もっと詳しくお願いできますか?
>975
unifdef使え。
>976
CreateFileのdwShareMode引数で何も指定しなかったら、
他のアプリでは開けないだろ。
unifdef使え、は>974が対象でした。
ここでお詫びして訂正します。
979デフォルトの名無しさん:04/01/23 21:16
VC6で
ダイアログベースのアプリを作っている時
ClassViewからダイアログクラスが消えてしまうんですけど
対策とかあるんですか?
980979:04/01/23 21:33
っと思ったら、ダイアログのヘッダーファイルいじってたら復活した。
どうなってるんだ?
981973:04/01/23 23:08
>977
初心者なのでよく使い方が分からないもので・・・。
>>981
言い訳書く暇あったら、MSDN 百回見直せ。
983973:04/01/23 23:23
>982
MSDN百回見直してもわからないものはわからない。
>>983
だったら向いてないと言うことだ。
素直にあきらめろ。
985デフォルトの名無しさん:04/01/24 11:11
vcかcでiniファイルの書き換えしたいんですけど?
>>985
やれば?
>>979-980
俺はそういうとき一度プロジェクトを閉じて、プロジェクト内の
*.ncb を消して開きなおしてるけど、他に直し方あるんかな。
988デフォルトの名無しさん:04/01/24 11:46
文字列リソースの数に上限ってあるんでしょうか?
>>975
私も似たような感じで静的メモリとして
16MB確保してたんですが、
パソコンによって動いたり動かなかったりしました。

パソコンやOSによってスタックサイズが変わったりするのでしょうか?
また、同じ容量でも動的に確保したら上手く動くんでしょうか?
>>989
変わるし確保可能な容量を構内限り動く。
そこまで大きいメモリを連続して取るなら、
アッセンブラを多少勉強したほうがいい、
なぜ個体によって動いたり動かなかったり、
完全に動かすにはどうやるのかわかるよ。
どのレジスタにどの情報を入れるかはっきりと指定できるからな。
ただし、何メガもアッセンブラでやることは無いと思うが。
そもそも16Mや配列1マン取らないといけない設計自体に
疑問を感じる。

VCはただでさえ無駄にメモリ領域を消費している。
ヘッダや元からついてくるソースに入っていって使ってない機能を
削除するとか、いろいろ方法も考えられる。

VCはふつうのソフトの開発やデバッグややりやすいが、いったんデバイス(メモリ)
で引っかかったら、永久に原因が究明できないのが大欠点。
機械制御、開発等には使われていないのが現状。

>>991
話がずれますが、大容量の画像等を扱う時は、
メモリを確保せずにどうやって扱うのでしょうか?

2048x2048xRGBA=16MB必要になってしまい、
これを丸ごとメモリに確保しています。
やはりこれは設計ミスでしょうか・・・・。
ふーん、よくそこまででっち上げたね。
>>992
メモリが16MB以上確保できる環境なら確保してもいいだろうが、
スタックには取るなよ。

処理の内容によっては一部分ずつ処理することでメモリを節約することも出来るし、
その方が速いかも知らんよ。
>機械制御、開発等には使われていないのが現状。

普通に使ってますが。
>>994
実行環境が今時の PC なら、16MB ぐらいどうってことないだろ。

下手に気取って、

> 処理の内容によっては一部分ずつ処理することでメモリを節約することも出来るし、

なんて事やる奴はヴァカ。
>>980 ヘッダに1文字でも変更加えると復活する
>>995
ファームとかの開発って意味ね。
>>バカとは言い切れん、そうやらないといけない状況だって
いくらでもあるよ。
>>998
そういう状況なら、そうやるしかないんだろ。
少なくとも、「その方が速いかも知らんよ。」なんて発言する奴は、やっぱりヴァカだよ。
1000デフォルトの名無しさん:04/01/24 17:12
初めての1000get
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。