![]() |
[c++]grote exe
Uit een boek met simpele c++ opdrachten en toen ik ze afging kwam ik bij de volgende. Je moet iets maken wat uitrekent hoeveel dagen er zijn verstreken vanaf het begin van een jaar tot de opgegeven datum. Nu heb ik het allemaal gemaakt, dat is het probleem niet, maar ik heb nu een exe van 1,20MB. Lijkt me een beetje groot voor een code an 30 regels ofzo, weet iemand waar het misshien aan kan liggen. Dit is de code:
Code:
#include <iostream>edit: Ow ja, misshien handig om te vermelden, ik gebruik Dev-C++ edit2: Met MSVC++ krijg ik een exe van 520KB, vind ik nog steeds redelijk groot (n) @neophyte Je bent met net voor met MSVC++, maar ik ben weer bezig met c++ hoor, al een heel tijd, ben nu met de WIN32 API bezig, valt niet mee (n) |
HEY GAST!
dacht dat jij geen C++ meer deed? Ontopic: Geen idee. Kunt ook beter Visual C++ 6.0 gebruiken ;) |
Komt gewoon omdat hij bij de .exe allemaal DLLs (die dus dynamisch zijn, maar je compileert ze statisch) versmelt. Als je die weg zou laten zou je een kleine .exe over houden).
|
Citaat:
|
ligt aan welke functies je gebruikt.
include "conio.h" eens doe ipv system("pause"); dit -> getch(); |
Citaat:
en het ligt ook niet aan (jaar% 4 == 0 && jaar % 100 != 0) ? aantalDagen[2]=29 : aantalDagen[2]=28; (heb het vervangen door if-else maar hij blijft even groot) |
op freebsd wordt ie maar
5750 bytes :) $./a.out 31 12 2097 Dit is de 365 ste dag van het jaar 2097 pause: not found $ |
compile je niet met debug symbols enzo? strip de executable es.
|
Zover mij bekent is dat van dll's die worden meegenomen bullshit,tenzij je ergens expliciet vermeld dat ie geen dll's moet gebruiken maar de statische libraries(en dan is het nog maar de vraag).(maar dit kan ik fout hebben omdat ik allang niet meer in windows heb zitten pluizen)
Ik verwacht dat er idd debug symbols worden meegenomen ik ken de IDE niet maar hier zou je eens naar moeten kijken. Ik weet dat in VC++ 6 bij een debug build er veel plaats aan debug symbols opgaat en er worden in de "executable" ook stukken leeg gelaten zodat hier bij kleine veranderingen code rechtstreeks in de executable geplaats kan worden zodat deze niet opnieuw gelinkt moet worden. Een goede C++ compiler hoeft in ieder geval geen groter programma te genereren dan een goede C compiler met een vergelijkbaar programma. Maar ik zou naar de optimalisatie kijken en zorgen dat je geen Debug symbols meenemt. BTW als je in het leer process zit zou ik me niet druk maken over de grootte van een executable |
VC++ linkt standaard een stel 'standaard' libs mee, zou even in de config kijken welke libs dit precies zijn, en of je die uit kunt schakelen.
|
Citaat:
|
Dev-C++ gebruikt de MinGW port van de GCC compiler. Als je daarvan in de FAQ kijkt, vind je het volgende:
Citaat:
|
Citaat:
Kun je beter leren met de MFC of .NET classes om te gaan. |
Citaat:
|
Thnx, ik heb effe gekeken bij de compile opties, en daar stond idd dat hij extra debugging info maakte
|
"Dat heet geen C plus plus maar C dubbel plus"
Aldus een of andere vage docent. |
Citaat:
|
Citaat:
|
Citaat:
|
The name C++ (pronounced "see plus plus") was coined by Rick Mascitti in the summer of 1983. The name signifies the evolutionary nature of the changes from C; "++" is the C increment operator.
Bron: The C++ Programming Language SE, Bjarne Stroustrup (The Creator of C++) Die zal het toch wel weten ;) |
| Alle tijden zijn GMT +1. Het is nu 10:01. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.