난 당신이 컴파일하고 C 프로그램을 링크 할 때, 당신은비 C 프로그램의 C 라이브러리 사용 : "Under-the-Hood"C 라이브러리를 명시 적으로 초기화해야합니까?
- C 라이브러리와 링크 알고
- C 런타임 시작 코드
나는 새로운에서 (프로그램을 작성 있을까 언어 또는이 코드에 연결하지 않고 C 만)을 작성하고 C 코드 공유 라이브러리 (zlib 또는 gsl 또는 fftw 등)에 직접 링크하고 C 라이브러리 및 C 시작 코드를 생략합니다 (내 프로그램이 외부 lib 자체를로드한다고 가정). 그것의 마술을 사용하여), 이것은 "그냥 일할 것인가"?
CRT 시작시 일부 초기화 코드가 있다는 것을 알고 있으므로 내 응용 프로그램 자체가 C 라이브러리에 의존하지 않고 필요한 기능을 호출하는 방법을 알고 있습니다. 외부 C 라이브러리를로드하면 필요한 시점에 호출됩니다. 초기화 코드 (있는 경우, 이것이 질문입니다), 그렇지 않으면 OS 라이브러리/인터페이스를로드하십시오.
내가 물어 본 이유는 C 라이브러리 맨 위에 구축 된 대부분의 C++ 구현과 달리 OS API에 직접 연결되는 표준 라이브러리를 사용하여 언어를 작성하려고하기 때문입니다.
이 '내 프로그램 코드'를 정확히 초기화해야하는 방법은 무엇입니까? –
런타임 라이브러리의 정상적인 초기화는 컴파일러/링커가 처리합니다. 물론 자신의 코드를 초기화하는 것은 여러분의 책임입니다. main() 루틴 또는 main() 루틴이 호출하는 함수에서 수행 할 수 있습니다. –