お世話になります。
ちょっと気になったことがあったので質問させてください。
Visual C++ 200? 以降 sprint 関数を、セキュリティの強化された sprintf_s などの関数
..._s 関数に書き換えてくれと警告メッセージがでるようになりました。
そして、WindowsXP もそろそろサポート終了ですが、すぐには以降できないと思っています。
そこで、sprintf_s などの関数は、XP 以前の環境でも動くのでしょうか?
たとえば、NT, 2000, などでもセキュリティの強化された関数は動くのでしょうか?
DxLibライブラリを使用していてて、sprintf_s などの関数を使うと動くのかちょっと心配です。
実行環境がないので、試せないのです。よろしくお願いします。
セキュリティの強化された関数の実行環境
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: セキュリティの強化された関数の実行環境
どちらかと言うとランタイムのサポートの問題ですね。
ランタイムが動くなら、sprint でもsprintf_s でも問題なく動きます。
【補足】
ランタイムが動く環境は、コンパイラのバージョンごとに変わります。
2012以降だとXPまでしかサポートしていないはずです(うろ覚え)。
【補足の補足】
sprintf_sはマイクロソフトの独自拡張のはずなので、gccなどのコンパイラではコンパイルできなくなることを承知しておいて下さい。
ランタイムが動くなら、sprint でもsprintf_s でも問題なく動きます。
【補足】
ランタイムが動く環境は、コンパイラのバージョンごとに変わります。
2012以降だとXPまでしかサポートしていないはずです(うろ覚え)。
【補足の補足】
sprintf_sはマイクロソフトの独自拡張のはずなので、gccなどのコンパイラではコンパイルできなくなることを承知しておいて下さい。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: セキュリティの強化された関数の実行環境
はい。ランタイムのサポートの問題なのですね。どちらかと言うとランタイムのサポートの問題ですね。
ランタイムが動くなら、sprint でもsprintf_s でも問題なく動きます。
【補足】
ランタイムが動く環境は、コンパイラのバージョンごとに変わります。
2012以降だとXPまでしかサポートしていないはずです(うろ覚え)。
【補足の補足】
sprintf_sはマイクロソフトの独自拡張のはずなので、gccなどのコンパイラではコンパイルできなくなることを承知しておいて下さい。
gccは、いまのところ視野にいれていませんが、承知しました。