★初心者にVisual C++を教えるスレ★ Part6
│次スレよろ。
│ ┌─┐
↓ │ ↓
↓
↓ 無理ですた。
↓
行ってみる
そういえばVS6.0をインストールすると、何かアプリが飛ぶとダイアログが出るよね。
"0xXXXXXXXX"の命令が"0xYYYYYYYY"のメモリを参照しました。メモリが"written"になることはできませんでした。
プログラムを終了するには[OK]をクリックしてください
プログラムをデバックするには[キャンセル]をクリックしてください
ってやつ。あれキャンセル押したらVSが起動してそのあとハングアップするんだけど、
何か回避方法は無いかな?
以前はキャンセルを押しても普通に動いたんだけど、
OSを再インストールしたあとから動かなくなったなぁ。
957 :
名無し@沢村:03/06/22 22:59
>>939 ヌヒよ、sprintfのUNICODE板はswprintfだと言う事実を知らないようだな。 (´゚c_,゚` ) プッ
wsprintf のUNICODE版は wsprintfW
sprintf のUNICODE版は swprintf
すいません。
C++でRound 処理したい場合どうすればいいのでしょうか?
何をインクルードすればいいのかわかりません。
あほな質問ですいません
960 :
デフォルトの名無しさん:03/06/23 15:19
質問おながいします。
プロジェクトをUNICODE版でビルドしようと思い、
プリプロセッサに_UNICODEを追加したのですが、
msvcrtd.lib(crtexew.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です
Debug/Edit.exe : fatal error LNK1120: 外部参照 1 が未解決です。
というメッセージが出てビルドできません。
考えられる問題はありますでしょうか?
追加しないでビルドしたらどうなりますか?
>>961 _MBCSだと普通にビルドできます。
_MBCSを削除して、_UNICODEを追加すると上記のメッセージが
でます。。。
>>msvcrtd.lib(crtexew.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です
これはプロジェクトの選択を間違った時に良く出るが・・・。
コンソールアプリをつくるのにWin32Applicationを選んだ時とか。
あーじゃちがうね。
>>963 ありがとうございます。
>これはプロジェクトの選択を間違った時に良く出るが・・・。
ですよね(--);;
エディタのMFCアプリなのですが、ユニコードでテストしてみようと
思ったのですが...
もうちょっといろいろいじくってみますネ。。。
継承をはずして_UNICODEを追加してみたけど、何の問題もなくコンパイル完了
>>966 ですか。。。
僕もいま単純なMFCアプリ(FrameWndを表示するだけ)で
やってみたのですが、やはり同じエラーが出ます。
なんでだろう。。。
そういえばMFCを使っているのなら、MFC*U.*系のdllなりlibなりを使わないとエラーが出るけど
>>968 U系のLibは自分でプロジェクト設定のリンクタブで指定
しないとダメでしょうか?(一応mfc42ud.libと書いてみたのですが
やはりダメでした)
なんどもしみません。訳がわからないのですが
解決しました。
UNICODEで動いている他のプロジェクトで、プロジェクト
の設定のリンクタブのアウトプットのエントリポイント
シンボルに"wWinMainCRTStartup"と書いてあったので
それをマネしたら動きました。
レスを下さった方ありがとうございました。m(__)m
971 :
デフォルトの名無しさん:03/06/23 16:53
VCでつくられたプロジェクトで、それがDLLなのか
exeなのかといったプロジェクトの属性を知るには
どうすればいいのでしょうか?
どの場面で知りたいの?
プロジェクト作成のときに、DLLかWinアプリかの指定
がありますが、それを知りたいです。
dswファイルを開いた時点で知りたいのですが...
VS.NETならプロジェクトプロパティから構成の種類で分かるけど、
古いのは手元にないので何ともいえない
>>974 ほんとですね。VS.NETだと「構成の種類」として
出ていますね。
VS6.0だと出ていません。
976 :
デフォルトの名無しさん:03/06/23 19:33
質問させて!
memsetで変数に文字列を入れてMessageBoxで表示させると、
hogehogehoge・・・・
と、末尾に ・・・・ というのが入ってしまいます。
これを取り除くにはどうすればよいのでしょうか?
しくった、memsetではなく、 memcpy で変数から変数へコピーしてます。
>>977 strcpyを使え!
でなければmemsetで変数を初期化しろ!
979 :
デフォルトの名無しさん:03/06/23 20:18
スマソ!事故解決!
\0 の入れかた間違ってた!
ほんとスマソ!ソマソ!
tomasson
int型の配列をまとめてある数値に初期化する関数はありますか?
コモンダイアログを開くと、実行は問題ないのですが、デバッグのログに
例外処理 (初回) は test.exe (KERNEL32.DLL) にあります: 0x000006B5: (名前がありません)。
と出てくるのですが、何か問題あるのでしょうか。
OPENFILENAME構造体の
.lStructSize .hwndOwner .hInstance .nFilterIndex .lpstrFile .nMaxFile .lpstrFilter .lpstrTitle
.Flags .lpstrDefExt
には値を入れています。
>>983 ちょっとちがうかもしれないけど、
IEコンポーネントを貼り付けてリサイズすると鬼のように例外が発生していますが動作には問題ないです。
内部的に処理済みの例外かと。
986 :
デフォルトの名無しさん:03/06/25 18:15
指定したフォルダ内のサブディレクトリ名とファイル名を表示したいと思い
Directory.GetFileSystemEntriesを使おうと思ったのですが
インクルードの下に
#using <mscorlib.dll>
といれると
fatal error C1190: マネージ対象コードには '#using <mscorlib.dll>' と '/clr' が必要です。
というエラーが出てしまいます解決策がありましたらよろしくお願いします
#include "stdafx.h"
#include <afx.h>
#include <windows.h>
#using <mscorlib.dll>
//using namespace System;
int _tmain(int argc, _TCHAR* argv[])
{
・・・・・
}
プロジェクトのプロパティで拡張マネージを変更したら解決しました
スマソ
988 :
デフォルトの名無しさん:03/06/25 22:20
おばんです。
おせてくそ。
スタティックライブラリでできる*.libファイルと
dllプロジェクトでできる*.libファイルは、前者は
実装入りで、後者は実装なし(実装はDLL本体内)と
いう解釈でいいのでしょうか?
またなぜリンカはdllを直接参照せずにlibファイルを
必要とするのでしょうか?
/* 文字列に代入された数値データをint型に変換する */
#include <stdlib.h>
#include <stdio.h>
int main()
{
char *text = "352";
int integer = atoi(text);
printf( "integer = %d\n" , integer );
return 0;
}
char *text = "352"; なぜ*がいるんですか?
>988
DLLには序列でしか公開していないものもある。
>>991 なるほど。すべてのdllが自身がエクスポートしている
関数の名前を見せてくれるワケではないんですネ。
どもどもでした。。。
993 :
デフォルトの名無しさん:03/06/26 00:17
VCがいつのまにか上書きモードになって
しまうのですが(ミスタッチで)
いい方法はないでつか?
Insertキーをぶっ壊せ
995 :
デフォルトの名無しさん:03/06/26 00:33
996 :
デフォルトの名無しさん:03/06/26 00:37
このスレってBorland C++ Builderもいい?
「この」スレだけならいい。
次スレは不可(w
, --- 、_
/ミミミヾヾヽ、_
∠ヾヾヾヾヾヾjj┴彡ニヽ
/ , -ー‐'"´´´ ヾ.三ヽ
,' / ヾ三ヽ
j | / }ミ i
| | / /ミ !
} | r、 l ゙iミ __」
|]ムヽ、_ __∠二、__,ィ|/ ィ }
|  ̄`ミl==r'´ / |lぅ lj
「!ヽ、_____j ヽ、_ -' レ'r'/
`! j ヽ j_ノ
', ヽァ_ '┘ ,i
ヽ ___'...__ i ハ__
ヽ ゙二二 ` ,' // 八
ヽ /'´ / ヽ
|ヽ、__, '´ / / \
1000は君にやろう、アンダーソン君...
1000 :
デフォルトの名無しさん:03/06/26 01:18
1000 GET〜!
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。