본문 바로가기

swiftc

(2)
SIL ( Swift Intermediate Language ) 스위프트 중간 언어 스위프트 컴파일러가 .swift 소스파일을 컴파일하는 과정은 스위프트 언어를 스위프트 중간언어(swift intermediate language)로 우선 만들고, 이것을 다시 llvm IR ( intermediate representation ) 으로 바꾸고, 마지막으로 기계어를 생성하는 단계를 거친다. .swift 소스에서 변환된 SIL 을 보려면 swiftc 를 이용하여 -emit-sil 옵션으로 컴파일 하면 된다. swiftc -emit-sil .swift 아주 간단한 Point 스트럭쳐를 선언하여, 이를 sil 로 변환하면 다음과 같다. struct Point { let x:Int let y:Int } struct Point { @_hasStorage let x: Int { get } @_hasS..
[Swift] swift 단일 스크립트 파일을 컴파일하기 command line arguments 들을 처리하는 기능을 간단한 .swift 스크립트를 작성하여 테스트하려 했다. 간단한 테스트코드들은 컴파일한 실행파일이 아닌, 스크립트로 형식으로 실행하여 테스트하였었는데, 스크립트로 실행할 때에는, 신경쓰지 않았던 많은 실행인자들이 부가적으로 붙어 있었다. 메인 실행파일도 스크립트파일이 아니었다. 그래서, 스크립트 소스를 컴파일하여 단일 실행파일을 만들 수 있는 방법이 있는지 찾아봤다. 아주 간단하게 가능하다. swiftc my_script.swift -o my_program my_script.swift 파일을 컴파일 하려면, 셸에서 위와 같이 실행하면, my_program 이란 이름의 실행파일이 만들어진다. 컴파일러라서 swift 가 아닌 마지막에 c 자가 붙..