Oppure

Loading
18/01/21 14:58
AldoBaldo
Ho esaurito le idee.

Mi farà piacere se, quando (non "se", perché senz'altro ne verrai a capo) riuscirai a risolvere la questione, vorrai scrivere qui come hai fatto.
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.
28/01/21 9:00
Carlo
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.
Ultima modifica effettuata da Carlo 28/01/21 9:50
in programmazione tutto è permesso
28/01/21 17:04
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.
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.
28/01/21 18:57
Carlo
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 28/01/21 19:11
in programmazione tutto è permesso
29/01/21 8:37
AldoBaldo
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.
29/01/21 13:02
Carlo
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