컴파일 할 때 -L (mylib.a)를 사용하여 리눅스의 다른 라이브러리에 정적으로 링크하는 프로그램이 있습니다 (eclipse cdt 사용).C++에서의 정적 연결 사용 linux : 라이브러리를 바꿀 때마다 모든 것을 다시 컴파일해야합니까?
링크가 정적이라는 사실은 나의 바이너리에 라이브러리가 삽입되었음을 의미합니다. mylib를 변경하면 바이너리를 다시 컴파일해야합니까? 나는 그렇게 생각하지만 시간이 지나면 큰 오버 헤드이므로 확실히하고 싶었다. mylib가 변경된 경우 eclipse는 다시 컴파일해야한다는 것을 인식하지만 mylib에 링크되어 있더라도 바이너리 자체를 다시 컴파일해야한다는 것을 인식하지 못합니다.
링크는 컴파일의 일부가 아니지만 일반적으로 컴파일러 명령으로도 수행됩니다. – leftaroundabout
@leftaroundabout : Compilation & Linking은 두 개의 분리 된 별개의 프로세스라는 것을 알고 있습니다. 그리고 확실하게 둘 다 명령 줄에서 개별적으로 수행 할 수 있지만 나는 OP가 사용하는 이클립스에서 개별적으로 수행 할 수 있다고 생각하지 않는다. –
"다시 작성"이 "다시 컴파일"보다 덜 논란 일 수 있습니다. – juanchopanza