- 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 *" のパラメーターと互換性がありません というエラーが出たので、付けました。
|