int test_malloc(void **ptr, size_t size)
{
(*ptr) = malloc(size);
return 0;
}
int test_app()
{
char *data = NULL;
int ret = 0;
ret = test_malloc((void **)&data, 100);
}
コンパイラ:他の人の中のgcc 4.1.2以下のコードでは、逆参照型のペーンドポインタが厳密なエイリアシングルールを破ることがあります&どのように修正するのですか?
、私はこれをチェックするいくつかのオプションをオンにしていると思うしている-O2 -Wall &を使用しています。私はこの1つのようにしてみてください
重複している可能性があります[間接参照型パントされたポインタは厳密なエイリアシング規則を破ります](http://stackoverflow.com/questions/3246228/dereferencing-type-punned-pointer-will-break-strict-aliasing-rules) –
また、 'test_app'のようなインタフェースも記述しないでください。 'int'を返すことになっています。あなたはそれを返さず、何も受け取っていない不特定多数の引数を受け取ることになります。 gccは戻り値についてあなたに言ったはずです。 –