IT박스

GCC를 파이프에서 읽을 수 있습니까?

itboxs 2020. 12. 5. 09:25
반응형

GCC를 파이프에서 읽을 수 있습니까?


나는 gcc표준 입력에서 소스 파일을 읽도록 만드는 옵션을 찾고 있는데 , 주로 flexC 코드를 생성 하는 도구에서 개체 파일을 생성하기 위해 이와 같은 작업을 수행 할 수 있습니다 ( flex' -t옵션은 생성 된 C를 작성합니다. 표준 출력으로) :

flex -t lexer.l | gcc -o lexer.o -magic-option-here

생성 된 C 파일에 대해서는 신경 쓰지 않기 때문입니다.

이와 같은 것이 존재합니까, 아니면 임시 파일을 사용해야합니까?


예,하지만 다음 -x옵션 을 사용하여 언어를 지정해야합니다 .

# Specify input file as stdin, language as C
flex -t lexer.l | gcc -o lexer.o -xc -

flex -t lexer.l | gcc -x c -c -o lexer.o -

기본적으로 파일 이름은 -. 파일 이름을 지정하는 것은 -'표준 입력'을 말하는 다소 표준 규칙입니다. -c링크를하지 않도록 플래그 도 필요합니다 . 그리고 GCC가 표준 입력에서 읽을 때 어떤 언어를 사용하는지 알려 주어야합니다 -x. -x cC 코드라고합니다.

참고 URL : https://stackoverflow.com/questions/1003644/is-it-possible-to-get-gcc-to-read-from-a-pipe

반응형