bcopy
指定したスクラッチ・メモリー外部のコピー元アドレスからスクラッチ・メモリー内部のコピー先アドレスに、バイト数で指定サイズをコピーします。
void bcopy(void src, void dest, size_t size)
bcopy
関数はsrcがポイントするメモリーから、destがポイントするメモリーへsizeバイトをコピーします。ソース・メモリーはユーザー空間内に存在しないことと、宛先メモリーがDTraceスクラッチ・メモリー内に存在する必要があります。
例7-4 bcopyを使用してメモリーの場所と他の間でデータをコピーする方法
この例ではbcopy
関数を使用して、14文字を`linux_banner
ポインタから14バイトのメモリーが割り当てられている別のメモリー・ポインタs
にコピーします。printf
行は、ポインタs
に格納されている値の文字列を出力します。出力される文字列は`linux_banner
に格納されている最初の14文字と同じです。
BEGIN
{
s = (char *)alloca(14);
bcopy(`linux_banner, &s[0], 13);
printf("%s\n", stringof(s));
exit(0);
}