とSolarisプラットフォームではありませんガベージ値(Ubuntuは64ビットメイト)単純なコード
# include <stdio.h>
int main()
{
int i,j,l=0,swap,n,k,a[100],b[100],count;
printf("%d", count);
}
予想したように、これはゴミ値を返す必要があり、それはまさにそれをやっていました。 私はまたそれを数回走った。私は毎回異なる結果を得ていました。これは毎回新しいメモリが割り当てられたことを示しています。出力はこのようなものでした。
32576
33186
0
29318
0
32111
0
しかし、いくつかの事例のために、私は今、この同じコードはSolarisサーバで実行されたゼロ
を得ていたという通知。このソラリスサーバーに接続されたシンクライアントマシンで実行しました。しかし今回は、プログラムを何回実行したとしても、プログラムは0しか印刷しませんでした。別のアカウントからサーバーにログインしても、同じ結果が得られました。 私はsolarisマシンにある種の継承ガベージコレクタがあると思っていましたが、そうではありませんでした。私は別のプログラムを実行したとき、私はゴミ値を取得していました。
# include <stdio.h>
int main()
{
int i;
printf("%d", i);
}
私の質問は、それは2つのプラットフォーム間で若干の違いがあるか、それは私がランダムのちょうど犠牲者だということですか?
ガベージコレクションタグはオフトピックです。 GCについての詳細はhttp://gchandbook.org/をご覧ください –