3
  1. GNUではMicrosoftCランタイムと同じように非推奨ですか?

  2. GNU Cにそのようなものがある場合、非推奨は89/90以降のCの標準またはコンパイラによって強制されますか?

  3. GNU Cコンパイラの場合、Microsoft Cmemcpy_sで非推奨になったような、安全な代替メモリ操作機能をいつ、どのように提供するのでしょうか。memcpy

  4. 89/90以降のC標準の場合、Microsoft Cmemcpy_sで非推奨になったような、安全な代替メモリ操作機能をいつ、どのように提供するのでしょうか。memcpy

  5. GNU Cランタイムにそのような非推奨がない場合、それらのメモリ操作(名前はで始まるmem)にも私が知っているものにも含まれない関数はありbcopyますが、長さに関するパラメータを受け取るという点でメモリを安全にコピーするために使用できます行き先?

  6. ある/ある場合、できるだけ多く挙げていただけますか?

4

2 に答える 2

6

この関数memcpyは非推奨ではありません。これは、ライブラリで最も安全で便利な関数の 1 つです。このmemcpy_s関数は C11 で標準になりました (オプション、付録 Kの「境界チェック インターフェース」を参照)。

于 2012-08-18T10:15:14.020 に答える
6

memcpy_sは C11 以降に追加されていますが、オプションの拡張機能です。memcpyC では廃止されておらず、廃止された関数ではありません。

glibc現在のところ、機能をサポートしておらず、チームがそれらをサポートする_s計画 (AFAIK) はありません。glibc

于 2012-08-18T10:16:04.423 に答える