0

Est-il possible pour un compilateur (par ex. Javac) pour analyser votre projet entier pour méthodes et variables inutilisées avant la compilation et compile ensuite le projet sans ces méthodes non utilisées et les variables de sorte que vous vous retrouvez avec moins d'octets de code exécutable. Si cela devait être une optimisation du compilateur, je créerais une énorme bibliothèque qui contiendrait toutes mes méthodes d'assistance et je l'importerais dans tous mes projets sans m'inquiéter d'être si énorme que cela pourrait affecter la taille de mon logiciel.optimisation du compilateur pour réduire les octets de code exécutable

Je comprends que cela pourrait être impossible, si vous n'avez pas le code source des bibliothèques que vous utilisez (importation), mais je parle du cas où vous avez le code source.

Existe-t-il un plugin outil/IDE qui fait quelque chose de similaire? Je pense que cela pourrait également être fait en un pas en avant de la compilation.

Répondre

0

Le compilateur Java ne le fait pas nativement, mais vous pouvez utiliser un outil comme ProGuard ou un nombre quelconque d'autres optimiseurs Java pour supprimer le code inutilisé.

Mais, dans votre cas, pourquoi ne compilez-vous pas simplement votre grande bibliothèque de logiciels une seule fois et mettez-la sur votre classpath? De cette façon, vous n'avez pas à le dupliquer du tout.

+0

Si je compile ma grande bibliothèque de logiciels en utilisant le compilateur java normal, je compilerais chaque méthode dans cette bibliothèque bien que j'utilise juste très peu .. –

+0

ProGuard semble faire exactement ce que je veux. Pourquoi un compilateur Java ne le fait-il pas nativement, cela semble être une bonne optimisation qui produira dans tous les cas un code octet plus petit? –

+0

Un fichier '.jar' pourrait être utilisé pour plus que votre programme. '.jar's peut être lié dans n'importe quel programme, ainsi le code" mort "pourrait ne pas être mort dans un autre module. – nneonneo