Windows Install (NSIS) – 04. Macro / Function

Macro

매크로는 !macro 와 !macroend 사이에 존재하며, 매크로를 삽입하기위해서는 !insertmacro 구문을 사용한다.

매크로는 nsi 스크립트 언어에서 컴파일 타임에 치환되는 코드조각을 말한다. 예를 들어 아래와 같은 구문이 존재한다고 하면

아래와 같은 macro 예제가 가능하다.

 

위의 코드는 실제 컴파일 시에 아래와 같은 형태로 번역되어 컴파일이 된다.

 

매크로는 파라미터를 받을 수 있으며 아래의 코드는 What이라는 파라미터를 받아 활용하는 예제를 나타낸다.

 

위의 코드는 실제 컴파일 시에 아래와 같은 형태로 번역되어 컴파일이 된다.

 

 

Function

Function 즉 함수는 Section과 동일한 개념을 갖고 있으며 실제 컴파일 시에 구문 자체를 치환하거나 하지 않고 데이터를 메모리에서 조작하는등, 좀더 유동적인 내용을 작성할 수 있게 해준다.

함수는 아래와 같이 Function 키워드로 정의할 수 있으며, 파라미터를 받을 수 있고, Call 키워드로 호출할 수 있다.

 

파라미터패싱이 아닌 변수설정으로 파라미터패싱을 대체할 수 도 있으며, 스택을 활용하는 방법 또한 존재한다.

 

Leave Comment