トップページ > プログラム > 2014年11月20日 > bga69PqZ

書き込み順位&時間帯一覧

9 位/258 ID中時間01234567891011121314151617181920212223Total
書き込み数0000001000000020000000137



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Visual Studio 2013 SP5©2ch.net
【初心者歓迎】C/C++室 Ver.93【環境依存OK】

書き込みレス一覧

Visual Studio 2013 SP5©2ch.net
504 :デフォルトの名無しさん[sage]:2014/11/20(木) 06:36:16.34 ID:bga69PqZ
Win7Pro64のVS2013のC++でstatic libのMyLib.libと
それを使うコンソールアプリMyPrg.exeをビルドしました。

プラットフォームツールセットは、以下のように指定しました。
MyLib.lib  Visual Studio 2013 (v120)
MyPrg.exe  Visual Studio 2013 - Windows XP (v120_xp)

これをWin7Pro64とWinXP32で実行すると、Win7では問題なく動き、WinXPでは、動くんですが
しばらく動かしていると異常終了します。
その原因を知りたいのですが、MyLib.libを Windows XP (v120_xp)でビルドしていないのが原因かな
と思うのですが、MyLib.libは事情があって、Windows XP (v120_xp)でビルドするのが困難なのですが、
ここで質問です。
上のようにビルドした場合、こういうことは起こりえますか?
libもexeもWindows XP (v120_xp)でビルドするとXPでも問題なく動く可能性ありますか?
Visual Studio 2013 SP5©2ch.net
513 :デフォルトの名無しさん[sage]:2014/11/20(木) 14:22:41.09 ID:bga69PqZ
みなさんコメント有難うございます。
>>509
その方法が分からなく困っています。
xpではvs2013動かないのでデバッガで
追うことが出来ません。
Visual Studio 2013 SP5©2ch.net
516 :デフォルトの名無しさん[sage]:2014/11/20(木) 14:50:06.06 ID:bga69PqZ
>>514
以前、別の問題調査で試したら、
たしかXPではVS2013のリモートデバッガが動かなかったように思います。
ちがうかな。
【初心者歓迎】C/C++室 Ver.93【環境依存OK】
781 :デフォルトの名無しさん[sage]:2014/11/20(木) 22:44:25.64 ID:bga69PqZ
const int i = 100;
const unsigned char* dest = new unsigned char[i];
memcpy_s((void*)dest, i, src, i);
という処理で、srcが100文字より短くて、例えば
unsigned char src[] = "適当な文字列";
でもmemcpy_s()はエラーしませんか?
【初心者歓迎】C/C++室 Ver.93【環境依存OK】
783 :デフォルトの名無しさん[sage]:2014/11/20(木) 23:11:04.53 ID:bga69PqZ
>>782
レスありがとうございました。
>そもそもconst付けるべきではないし
const unsigned char* dest = new unsigned char[i];
の部分でしょうか?
もしそうなら、何故const を付けるべきではないのでしょうか?
良く分らないので、解説お願いいたします。
【初心者歓迎】C/C++室 Ver.93【環境依存OK】
788 :デフォルトの名無しさん[sage]:2014/11/20(木) 23:39:19.91 ID:bga69PqZ
みなさんレスありがとうございます。
>>785
このconstはアドレスがconstで、中身はconstでないからmemcpy_sで書き換えても問題ないとおもったのですが。
ちがいますか?
それにvisual studio 2013のc++で問題なく実行できたので、この解釈で良いと思ったのですが。
【初心者歓迎】C/C++室 Ver.93【環境依存OK】
790 :デフォルトの名無しさん[sage]:2014/11/20(木) 23:49:30.22 ID:bga69PqZ
>>789
レスありがとうございます。
(void*)を取ると、
visual studio 2013のc++で
IntelliSense: 型 "const unsigned char *" の引数は型 "void *" のパラメーターと互換性がありません
というエラーが出たので、付けました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。