이전 C 파일의 단일 "#"

이전 C 파일의 단일 "#"

#오래된 C 코드(Unix v6)를 조사하기 시작했고 파일 시작 부분에 있는 싱글의 목적이 무엇인지 궁금했습니다 .c. 예를 들어https://github.com/lsahn-gh/unix-v6/blob/master/sys%2Fken%2Falloc.c

#
/*
 */

#include "../param.h"
#include "../systm.h"
#include "../filsys.h"
...

답변1

~에서스티븐 지터~의Retrocomputing Stack Exchange에 대한 답변:

데니스 M. 리치C 언어의 발전이 논문은 다음과 같은 배경을 제공합니다.

[...] 전처리기는 원래 언어 자체에 대한 선택적 추가 기능으로 생각되었습니다. 사실, 소스 프로그램의 시작 부분에 특별한 신호가 포함되어 있지 않으면 수년 동안 호출조차 되지 않았습니다.

[...] "시작 부분의 특수 신호"가 #첫 번째 문자입니다.

답변2

이것은 작동하지 않습니다. ~에서표준 중 하나(정의는 변경되지 않았습니다):

3.8.7 빈 명령어

의미론

양식 전처리 지시문

    #  new-line

효과가 없습니다.

목적에 대해서는 예전에 문의드렸으니 확인해 보세요이것예를 들어. #이 있는 줄은 소스 코드에서만 볼 수 있기 때문에 그 당시에는 가독성과 관련이 있었을 것입니다. 전처리기는 아무 것도 출력하지 않습니다. 그러나 그것은 단지 추측일 뿐이며 실제로는 아무런 조치도 취하지 않았으며 여전히 그렇습니다.

답변3

이는 해당 행이 이전 C 코드에만 고유한 것이 아니라 전처리기 지시문임을 선언합니다.

https://stackoverflow.com/questions/66548702/what-do-you-call-in-c-and-c

https://en.wikipedia.org/wiki/C_preprocessor

https://cplusplus.com/doc/tutorial/preprocessor/

관련 정보