Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Binary size reduction - UPX

<< < (3/5) > >>

takeshimiya:
Well, in reality, the point of making available in compiling with other compilers, is that it's never a good thing to stick to only one compiler, because any compiler have bugs, in any version, or maybe, for example, it can compile without errors something in your code that is not compliant (this especially happens when going from GCC2 to GCC3, etc), and then you'll notice that some of your code wasn't right.

Well, it seems that you only care about windows users, and I must say, that I've saw various posts about 'how I can compile C::B with MSVC...'
You are ignoring the fact that there are people that doesn't like at all GCC (SLOW, bloated, ...), or are more comfortable with other compiler, but wants to help developing plugins, etc.

You would be right in thinking that is not worth the effort, but it's not the case with Code::Blocks, because it's written in cross-compiler way, there are probably very few things to 'fix' to make it compile with let's say MSVC7, DMars, and OpenWatcom.

I would like to see C::B running in, for example, QNX (one of the most widely used real time OS for embedded systems), or in Linux 'framebuffer'. And that is only possible when compiled in OpenWatcom.

About the compilation time, I can assure you, that with DMars you'll be compiling the entire C::B in 20 seconds (on your pc) instead of 7 mins with GCC.

Back to the topic, we got here :D because GCC is one of the worst when it comes to executable size (especially true in win32).

wxWidgets minimal when compiled stripped with GCC tipically weights 3.4 MB, and compiled with, for example MSVC6/2003 weights 0.8 MB. That alone, justifies the little effort in supporting that compiler.

thomas:
Well, I just gave DM (version 8.4.5) another chance, I still think that I'll stick with gcc ;)


--- Code: ---Project   : Console application
Compiler  : Digital Mars Compiler (called directly)
Directory : D:\Desktop\Neuer Ordner\
--------------------------------------------------------------------------------
Switching to target: default
Compiling: main.cpp
nbytes = 65520, ph_maxsize = 65520
Internal error: ph 1848
--- errorlevel 1
Process terminated with status 1 (0 minutes, 19 seconds)
0 errors, 0 warnings
--- End code ---

Ceniza:
Trying to avoid the most off-topic of it...

UPX would only help if you want to reduce the size of your DLLs and EXEs in the installed application. Compressing with UPX to make a installer (which will also compress it) later wouldn't help that much (even though that's what I do with the CVS binary snapshots, but without installer).

I think Code::Blocks' size installed (with all its plugins and resources) not being UPXed isn't that big, even more having in mind the high capacity of HDDs nowdays, so it wouldn't really have an use there.

What I would really like to see is how much could the wxWidgets DLL be reduced disabling those things Code::Blocks won't need for sure, just like takeshimiya pointed.

About making Code::Blocks compile with most compilers (the ones supported by wxWidgets): it would be good and shouldn't be that hard (for recent compilers, of course).

Digital Mars in your case is giving you internal errors. Nothing to do there but wait for Digital Mars developers to solve it.

In fact, I had problems trying to compile wxWidgets as DLL, without debugging information, monolithic, and maybe a few little things more, with Digital Mars. I had to create the custom Makefile (with bakefile), fix a lot of things in there, change the name of output object files ('cause it was being unable to link so many files with those long names or in other words: limitations of command-line length in cmd) and even modify a bit of a wxWidgets header file. Final problem: internal error of the linker.

MHaggag:

--- Quote from: takeshimiya on October 15, 2005, 05:56:37 am ---And, try to make C::B compilable with DMars, MSVC, and other compilers (there is anyone working on this?).

--- End quote ---
Yes, I'm working on compiling it with VC++.NET (7.1). I've got the main application compiled and working so far, and am currently doing the plugins.

Without going into much discussion on the single vs multiple compiler issue, I believe at least Visual C++ should be supported - it's by far the best IDE/Compiler for windows, compiles very fast, produces small executables, and optimizes pretty well. I can understand not wanting to complicate matters or wasting precious development time, but then, this is an open source application. You don't have to work "officially" on keeping it in sync with VS.NET - I will, officially or not :)

In fact, my current VS.NET project setup does not reside in the CodeBlocks folder, but rather in a sibling folder, until it's done and it's decided whether or not it'll make it into the CVS.

takeshimiya:
Great! :D

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version