Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [RISOLTO] Eseguibile compilato da CODE::BLOCKS
Forum - C/C++ - [RISOLTO] Eseguibile compilato da CODE::BLOCKS - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Carlo (Member)
Guru


Messaggi: 1344
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 10:00
Giovedì, 28/01/2021
RISOLTO

Per includere nell'eseguibile le librerie minime deve essere inserito il flag:

-static

in Code::Blocks c'è l'apposita spunta in Compiler flags (vedi foto)

Per includere le librerie extra, per il C e il C++:

-static-libgcc
-static-libstdc++

in Code::Blocks c'è l'apposita spunta in Compiler flags (vedi foto)

L'eseguibile "Hello world" in Release, passa da 16Kb a 58Kb
Il tempo di compilazione in C passa da istantaneo a 10 secondi, improponibile mentre si sviluppa.

In C++ il tempo di compilazione di Hello World, passa da istantaneo a 1 secondo, accettabile anche mentre si sviluppa.


Carlo ha allegato un file: CompilerSettings.jpg (236736 bytes)
Clicca qui per guardare l'immagine

Ultima modifica effettuata da Carlo il 28/01/2021 alle 10:50


in programmazione tutto è permesso
PM Quote
Avatar
AldoBaldo (Member)
Guru


Messaggi: 700
Iscritto: 08/01/2015

Segnala al moderatore
Postato alle 18:04
Giovedì, 28/01/2021
Nella versione che uso io funziona tutto anche senza attivare quelle spunte, creando eseguibili di circa 8.5 kb per il classico "Hello, World!". E, pur con un computer lentissimo, impiega davvero un attimo a compilare.


ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1344
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 19:57
Giovedì, 28/01/2021
Testo quotato

Postato originariamente da AldoBaldo:

Nella versione che uso io funziona tutto anche senza attivare quelle spunte, creando eseguibili di circa 8.5 kb per il classico "Hello, World!". E, pur con un computer lentissimo, impiega davvero un attimo a compilare.


Se l'eseguibile è di 8Kb, non contiene le librerie, e sul tuo PC funziona perché le DLL ci sono e vengono utilizzate dinamicamente.
Mi fai la prova spuntando: -static ?
Vorrei sapere se la compilazione rallenta e se l'eseguibile diventa più pesante.

Comunque sfondi una porta aperta, in nome dell'innovazione, gli IDE sono diventati sempre più pesanti, VS2019 è un pachiderma che nella versione minima occupa giga e giga di spazio, è vero che carica di tutto e è pronto a rispondere alle più svariate esigenze, ma di chi?
O ti rassegni e cambi computer, oppure si resta con i vecchi ide, personalmente uso VS2012, snello e reattivo, e solo rarissimamente non è compatibile con qualche nuovo progetto.
Quando ho tempo provo un MinGW più vecchio, oppure Cygwin.
:k:

Ultima modifica effettuata da Carlo il 28/01/2021 alle 20:11


in programmazione tutto è permesso
PM Quote
Avatar
AldoBaldo (Member)
Guru


Messaggi: 700
Iscritto: 08/01/2015

Segnala al moderatore
Postato alle 9:37
Venerdì, 29/01/2021
Preparati a un altro grattacapo, carissimo!

Ho provato a compilare un "Hello, World!" con le impostazioni che mi hai segnalato.
Il risultato, in termini di "peso", non è cambiato di una virgola nè sul fronte delle dimensioni dell'eseguibile, nè su quello dei tempi di compilazione.

Ecco il "resoconto" del compilatore:


-------------- Build: Release in cancellami_subito (compiler: GNU GCC Compiler)---------------

mingw32-gcc.exe -Wall -O2 -I"C:\Program Files\CodeBlocks\Librerie personali\include" -c C:\Users\Cicci\Desktop\cancellami_subito\main.c -o obj\Release\main.o
mingw32-g++.exe -L"C:\Program Files\CodeBlocks\Librerie personali\lib" -o bin\Release\cancellami_subito.exe obj\Release\main.o  -static-libstdc++ -static-libgcc -static -s -static-libstdc++ -static-libgcc -static  
Output file is bin\Release\cancellami_subito.exe with size 8.50 KB
Process terminated with status 0 (0 minute(s), 1 second(s))
0 error(s), 0 warning(s) (0 minute(s), 1 second(s))



ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1344
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 14:02
Venerdì, 29/01/2021
Testo quotato

Postato originariamente da AldoBaldo:

Preparati a un altro grattacapo, carissimo!



Grazie della disponibilità, le tue info per ora intorbidiscono le acque...
Lascio la questione nella zona cerebrale che lavora in automatico, a volte è più brava della zona che controllo io. :rofl::rotfl:


in programmazione tutto è permesso
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo