セキュリティの強化された関数の実行環境

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
dic
記事: 658
登録日時: 15年前
住所: 宮崎県
連絡を取る:

セキュリティの強化された関数の実行環境

#1

投稿記事 by dic » 12年前

お世話になります。

ちょっと気になったことがあったので質問させてください。
Visual C++ 200? 以降 sprint 関数を、セキュリティの強化された sprintf_s などの関数
..._s 関数に書き換えてくれと警告メッセージがでるようになりました。

そして、WindowsXP もそろそろサポート終了ですが、すぐには以降できないと思っています。
そこで、sprintf_s などの関数は、XP 以前の環境でも動くのでしょうか?
たとえば、NT, 2000, などでもセキュリティの強化された関数は動くのでしょうか?
DxLibライブラリを使用していてて、sprintf_s などの関数を使うと動くのかちょっと心配です。
実行環境がないので、試せないのです。よろしくお願いします。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: セキュリティの強化された関数の実行環境

#2

投稿記事 by softya(ソフト屋) » 12年前

どちらかと言うとランタイムのサポートの問題ですね。
ランタイムが動くなら、sprint でもsprintf_s でも問題なく動きます。

【補足】
ランタイムが動く環境は、コンパイラのバージョンごとに変わります。
2012以降だとXPまでしかサポートしていないはずです(うろ覚え)。

【補足の補足】
sprintf_sはマイクロソフトの独自拡張のはずなので、gccなどのコンパイラではコンパイルできなくなることを承知しておいて下さい。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

dic
記事: 658
登録日時: 15年前
住所: 宮崎県
連絡を取る:

Re: セキュリティの強化された関数の実行環境

#3

投稿記事 by dic » 12年前

どちらかと言うとランタイムのサポートの問題ですね。
ランタイムが動くなら、sprint でもsprintf_s でも問題なく動きます。

【補足】
ランタイムが動く環境は、コンパイラのバージョンごとに変わります。
2012以降だとXPまでしかサポートしていないはずです(うろ覚え)。

【補足の補足】
sprintf_sはマイクロソフトの独自拡張のはずなので、gccなどのコンパイラではコンパイルできなくなることを承知しておいて下さい。
はい。ランタイムのサポートの問題なのですね。
gccは、いまのところ視野にいれていませんが、承知しました。

閉鎖

“C言語何でも質問掲示板” へ戻る