문제

나는 옵션을 찾고있다 gcc 표준 입력에서 소스 파일을 읽게되므로 주로 도구에서 객체 파일을 생성하기 위해 이와 같은 작업을 수행 할 수 있습니다. flex C 코드를 생성합니다 (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와 관련된 언어를 알려야합니다. -XC는 C 코드라고 말합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top