2012-05-25 1 views
2

Hi1 방금 GCC로 DLL을 만들었습니다.GCC로 직접 만든 DLL의 크기를 줄입니다.

extern "C" { 
    char* Message() { 
     return (char*)"Cool"; 
    } 
} 

생성 된 파일의 크기가 42 이하이며 너무 커서 왜 이해가 안 돼요, 때 생성 만 무게 8 이하는 GUI 창을 보여줍니다 간단한 실행 파일 : 그것은 단지이 간단한 기능이 포함되어 있습니다. 공유 라이브러리의 크기를 줄이는 방법이 있습니까? 왜 그렇게 큰가요? 감사! 내가 코드 :: 블록과 같은 파일을 작성하는 경우

UPDATE

는 만 24 이하있다. 나는 CB가 그 크기를 이루기 위해 그것을 어떤 방법으로 창조했는지 궁금합니다.

UPDATE

내 라이브러리가 불필요한 코드가 포함되어 있지 않음을 알고 싶어하기 때문에 중요한. DLL을 만들 수있는 내 GCC의 명령은 다음과 같습니다

gcc -c Source/MyLib.cpp -s -Os -nostartfiles -nostdlib -nodefaultlibs -o MyLib.o 
ar rcs libMylib.a MyLib.o 
gcc -shared -o MyLib.dll MyLib.o 
+0

가 왜 당신에게 문제가 않는 연결 상태 (gcc -s -shared -o MyLib.dll MyLib.o)에 -s을 추가 하시겠습니까? 'gcc -Wall -O3' 옵션을 사용하면'gcc' 옵션을 쓸 수 있습니다. –

+0

gcc -fPIC -shared -Os Source/MyLib.cpp -o MyLib.dll'을 사용하여 컴파일하지 않는 이유는 무엇입니까? –

+0

네, 고마워요. 그러나 같은 크기. – ali

답변

1

+0

당신은 보스입니다. 42Kb ~ 8Kb. 모두에게 감사 드려요! – ali