2010-12-13 101 views
1

Dernièrement, j'ai travaillé avec l'API Windows, en essayant d'écrire des programmes Windows à base de gui aussi petits que possible. La vitesse n'est pas vraiment un problème pour moi, ce que je veux dire, c'est la taille de l'exécutable.Quel compilateur C produit les plus petits exécutables Windows natifs?

Vous vous demandez simplement quel compilateur C produira les plus petits binaires, en particulier sans astuces ou avec trop de désordre.

+0

Il est impossible de répondre sans réellement * construire votre programme *. Chaque programme sera différent. Essayez quelques compilateurs et découvrez. –

Répondre

3

Je n'ai pas beaucoup d'expérience sur Windows, mais Tiny C Compiler produit de très petits exécutables.

Je l'ai testé sur un programme de base "Bonjour tout le monde", et la taille de l'exe était de 1,5 Ko, soit environ 1/12 de la taille de l'exécutable MinGW. Je n'ai pas testé avec Visual C++ (parce que je ne l'ai pas), mais vous avez l'idée. Cela rend les petits exécutables.

1

Recherchez la compression exécutable (par exemple UPX). Cela vous permettra d'aller beaucoup plus loin que n'importe quel compilateur, au prix de faux positifs occasionnels provenant de scanneurs de virus.

+0

Ouais, j'ai utilisé UPX. Je me demandais météo ou non, je pourrais réduire davantage la taille de l'exécutable en passant à un autre compilateur. J'utilise Visual Studio, au fait. –

+1

La chose à propos de la compression est qu'avec un bon algo (et UPX est censé être sacrément bon), vous êtes limité plus par l'information réelle que vous transmettez plutôt que l'entrée. À un certain point, vous ne pouvez pas entasser n bits d'information en n-1 bits. –