[완료] restrict 사용법 & man 페이지에서 printf(5) 처럼 특정 숫자 보는 방법..

2
points

동일 메모리 블럭을 가리키지 않는다는 표현으로 restrict 를 쓴다고 들었습니다.

1)
실제로는 restrict 만 쓰니까 컴파일 에러가 나고 __restrict__ 를 써야하는군요..
밑줄 붙은거랑 완전 동일한건가요?

2) 아래와 같이 동일 메모리 블럭을 가리키도록 만들었는데.. 역시나 잘 컴파일이 되는군요
즉 restrict 는 프로그래머의 몫인거죠?
char * __restrict__ filename;
filename = (char*)malloc(100);
char *ppp;
ppp = filename + 10;

3) 실제로 restrict 는 최적화 잘 하기위해 필요한걸로 알고있습니다.
void function1(char * restrict src, char * restrict dest );
라는게 있다면, 두 인수에는 에일리어싱 된 값을 넣지말라는 걸 뜻하고, 컴파일러에게 "겹치지 않으니 최적화 잘 해보거라~" 라는
뜻밖에 없는것이지.. 컴파일러가 스스로 두 인수를 비교해서 에일리어싱 된것인지 판단하는 부분은 없는거죠?
즉.. restrict 는 완전히 프로그래머가 잘 해야하는거지..컴파일러가 따로 체크해주는건 없는거죠?

4) 마지막으로..
man printf 하면 PRINTF(1) 만 나옵니다.
숫자의 의미는 무엇이며.. PRINTF(2)를 보고싶을때 어떻게 해야하죠?

그럼 고수분들의 조언 부탁드려요~~

cinsk의 이미지
12055
points

1) man gcc (특히 -std

2
points

1) man gcc (특히 -std option)

2)
네.

3)
네.

4)
숫자 1의 의미는 "man 1 intro", 숫자 N의 의미는 "man N intro".
각 수치는 매뉴얼의 볼륨 번호를 의미합니다.
printf(3)의 매뉴얼을 보려면 "man 3 printf"를 쓰면 됩니다.

--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/

댓글 보기 옵션

원하시는 댓글 전시 방법을 선택한 다음 "설정 저장"을 누르셔서 적용하십시오.