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 나는이를 확인 몇 가지 옵션에 의존하고 생각하고, 내가 -O2 & -Wall을 사용하고 중에서도 4.1.2아래의 코드에서 "역 참조 형식의 포인터는 엄격한 별칭 규칙을 위반합니다"& 해결 방법은 무엇입니까?
. 나는이 같은 시도
가능한 복제본 [Dereferencing type-punned 포인터가 엄격한 앨리어싱 규칙을 위반합니다.] (http://stackoverflow.com/questions/3246228/dereferencing-type-punned-pointer-will-break-strict-aliasing-rules) –
또한 'test_app'와 같은 인터페이스를 작성하지 마십시오. 그것은'int'를 리턴하고 당신은 하나를 리턴하지 않고, 어떤 것도 수신하지 않는 불특정 다수의 인수를 받는다. gcc는 반환 값을 알려 주어야합니다. –