그래도 외부파일에서 함수정보를 따오는거라 오히려 성능에 저하가 가지않을까요?
->무슨 함수를 호출할지는 컴파일 타임에 알고 있음

exe파일은 실행시 메모리에 전부 올라가기때문에 용량이 작을수록 유리해서
-> 보통은 전부 안 올라감.. exe도 필요한 부분만 올림

dll파일로 동적으로 함수사용시에만 메모리에 올리고 쓰겟다는건가요?
-> 그럴수도 있고 아닐sudo 있읍니다... 실행 전에 DLL 로드 가능
-> DLL의 경우 공유되는 게 많아서 사실 이미 메모리 어딘가에 로드되어서 다른 프로그램들이 쓰는 거에 숟가락 얹는 경우가 많음
-> 물론 진짜 함수 콜하기 전에 메모리에 올려지는 경우도 있음

정적라이브러리형식으로 exe파일로 만들면 그만큼 exe파일이 커지게되고 메모리사용량이 그만큼 커지기때문에

미미하지만 약간의 성능저하를 감소하고서라도 메모리사용 최적화라는 장점을 이용하기위해 dll파일을 유용하는건가요?

-> 맞아용
-> printf를 정적 라이브러리로 쓴다고 생각해보셈. 거의 모든 프로그램이 printf를 쓰는데 그걸 메모리에 다 올리면 메모리가 엄청나게 낭비될거임.
-> DLL을 써서 여러 프로그램이 하나의 printf를 공유할 수 있게 되면 메모리가 훨씬 절약되겠죵



결론: CSAPP 링킹 파트를 읽으면 님도 이렇게 아는 척 가능http://m.blog.naver.com/rhdnfka94/220906491760