473,756 Members | 4,046 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

About Visual C++ 2005 Express Edition

Does Visual C++ 2005 Express Edition produce small, compact C
executables?
Or there is another C compilers that do this better?

m.

Oct 3 '06 #1
45 2998
mistral wrote:
Does Visual C++ 2005 Express Edition produce small, compact C
executables?
Or there is another C compilers that do this better?

m.
lcc-win32 produces (sometimes) smaller executables. The only
optimizations lcc-win32 does actually, are optimizations that delete
instructions, so the code is quite compact. The size of the libraries is
smaller too. Custom implementations could be smaller, if you
have a budget for them.

jacob

http://www.cs.virginia.edu/~lcc-win32
Oct 3 '06 #2
"mistral" <po*******@soft home.netwrote:
Does Visual C++ 2005 Express Edition produce small, compact C
executables?
Or there is another C compilers that do this better?
I've always found Dev-C++ (<http://www.bloodshed.n et/dev/index.html>)
useful, but I haven't checked the size of its executables.

Richard
Oct 3 '06 #3
mistral said:
Does Visual C++ 2005 Express Edition produce small, compact C
executables?
Let's find out.

<later>

Well, it depends on what you mean by "small". :-)
Or there is another C compilers that do this better?
Here's a small source file, which should show up the overhead of various
compilers quite well:

#include <stdio.h>
int main(void)
{
puts("Hello world");
return 0;
}

Here are the executable image sizes, in bytes (implementation s with "C++" in
their title were invoked in C mode!):

gcc 2.81 for DOS: 92403
Visual C++ 5.0: 81408
Borland C++ 5.3: 55296
Borland C++ 5.6: 50688
Visual C++ 2005 Express Edition: 40960
gcc 2.95.3 for Linux: 34686
Visual C++ 6.0: 28672
Visual C++ 1.5: 5699
Turbo C++ 1.01: 4760

I tried to download lcc-win32 for comparison purposes, but the main site's
download link was bad, and the backup site screamed "bad gateway" at me, so
I guess that comparison will have to wait for some other day.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Oct 3 '06 #4

Richard Heathfield писал(а):
mistral said:
Does Visual C++ 2005 Express Edition produce small, compact C
executables?

Let's find out.

<later>

Well, it depends on what you mean by "small". :-)
Or there is another C compilers that do this better?

Here's a small source file, which should show up the overhead of various
compilers quite well:

#include <stdio.h>
int main(void)
{
puts("Hello world");
return 0;
}

Here are the executable image sizes, in bytes (implementation s with "C++"in
their title were invoked in C mode!):

gcc 2.81 for DOS: 92403
Visual C++ 5.0: 81408
Borland C++ 5.3: 55296
Borland C++ 5.6: 50688
Visual C++ 2005 Express Edition: 40960
gcc 2.95.3 for Linux: 34686
Visual C++ 6.0: 28672
Visual C++ 1.5: 5699
Turbo C++ 1.01: 4760

I tried to download lcc-win32 for comparison purposes, but the main site's
download link was bad, and the backup site screamed "bad gateway" at me, so
I guess that comparison will have to wait for some other day.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
--------------

The most code has compiler and platform dependancies?
In 'c' sources codes was not specified what compiler originally used.
Probably, better use Windows/X86 specific compiler (i.e. non
portable), freeware is Visual C++ 2005 Express Edition only?

m.

Oct 3 '06 #5
mistral said:
>
Richard Heathfield ?????(?):
>mistral said:
Does Visual C++ 2005 Express Edition produce small, compact C
executables?

Let's find out.

<later>

Well, it depends on what you mean by "small". :-)
Or there is another C compilers that do this better?

Here's a small source file, which should show up the overhead of various
compilers quite well:

#include <stdio.h>
int main(void)
{
puts("Hello world");
return 0;
}

Here are the executable image sizes, in bytes (implementation s with "C++"
in their title were invoked in C mode!):

gcc 2.81 for DOS: 92403
Visual C++ 5.0: 81408
Borland C++ 5.3: 55296
Borland C++ 5.6: 50688
Visual C++ 2005 Express Edition: 40960
gcc 2.95.3 for Linux: 34686
Visual C++ 6.0: 28672
Visual C++ 1.5: 5699
Turbo C++ 1.01: 4760

I tried to download lcc-win32 for comparison purposes, but the main
site's download link was bad, and the backup site screamed "bad gateway"
at me, so I guess that comparison will have to wait for some other day.
The most code has compiler and platform dependancies?
That's a meaningless question, but I presume you meant something by it, so
could you possibly re-phrase it?
In 'c' sources codes was not specified what compiler originally used.
Again, I don't understand this.
Probably, better use Windows/X86 specific compiler (i.e. non
portable), freeware is Visual C++ 2005 Express Edition only?
Of the compilers I listed above, gcc and VC2005 are both freeware. Borland
also do a couple of freeware compilers. See also Digital Mars, MinGW, lcc,
and Pacific C. I suppose there's also lcc-win32, but I tried to get it
earlier today and failed completely so I suppose it's no longer available.

On the following page, you will find hyperlinks to their home pages:

http://www.cpax.org.uk/prg/portable/...#FreeCompilers

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Oct 3 '06 #6
jacob navia wrote:
mistral wrote:
>Does Visual C++ 2005 Express Edition produce small, compact C
executables? Or there is another C compilers that do this better?

m.
lcc-win32 produces (sometimes) smaller executables. The only
That must be rare, there's many tricks that can save enormous amount
of generated code, and visual studio can do alot of them..
optimizations lcc-win32 does actually, are optimizations that delete
instructions, so the code is quite compact. The size of the libraries is
smaller too. Custom implementations could be smaller, if you
have a budget for them.
How different is it from the lcc available for e.g. linux ?
It always generates function pre/postambles to save and
restore certain registers even if they're never used..
Oct 3 '06 #7
Nils O. Selåsdal wrote:
jacob navia wrote:
>mistral wrote:
>>Does Visual C++ 2005 Express Edition produce small, compact C
executables ? Or there is another C compilers that do this better?

m.
lcc-win32 produces (sometimes) smaller executables. The only

That must be rare, there's many tricks that can save enormous amount
of generated code, and visual studio can do alot of them..
>optimization s lcc-win32 does actually, are optimizations that delete
instructions , so the code is quite compact. The size of the libraries is
smaller too. Custom implementations could be smaller, if you
have a budget for them.

How different is it from the lcc available for e.g. linux ?
It always generates function pre/postambles to save and
restore certain registers even if they're never used..
I have rewritten most of the code there. It is now VERY rare
that a register is saved when there is no need.

I have added:
o register variables, automatically choosen by the compiler
o A peephole optimizer for the 386
o Added many optimizations like constant folding, and others.

Oct 3 '06 #8

Richard Heathfield писал(а):
mistral said:
Richard Heathfield ?????(?):
mistral said:
Does Visual C++ 2005 Express Edition produce small, compact C
executables?
Let's find out.
<later>
Well, it depends on what you mean by "small". :-)
Or there is another C compilers that do this better?
Here's a small source file, which should show up the overhead of various
compilers quite well:
#include <stdio.h>
int main(void)
{
puts("Hello world");
return 0;
}

Here are the executable image sizes, in bytes (implementation s with "C++"
in their title were invoked in C mode!):
gcc 2.81 for DOS: 92403
Visual C++ 5.0: 81408
Borland C++ 5.3: 55296
Borland C++ 5.6: 50688
Visual C++ 2005 Express Edition: 40960
gcc 2.95.3 for Linux: 34686
Visual C++ 6.0: 28672
Visual C++ 1.5: 5699
Turbo C++ 1.01: 4760
I tried to download lcc-win32 for comparison purposes, but the main
site's download link was bad, and the backup site screamed "bad gateway"
at me, so I guess that comparison will have to wait for some other day.
The most code has compiler and platform dependancies?
That's a meaningless question, but I presume you meant something by it, so
could you possibly re-phrase it?
In 'c' sources codes was not specified what compiler originally used.
Again, I don't understand this.
Probably, better use Windows/X86 specific compiler (i.e. non
portable), freeware is Visual C++ 2005 Express Edition only?
Of the compilers I listed above, gcc and VC2005 are both freeware. Borland
also do a couple of freeware compilers. See also Digital Mars, MinGW, lcc,
and Pacific C. I suppose there's also lcc-win32, but I tried to get it
earlier today and failed completely so I suppose it's no longer available.
On the following page, you will find hyperlinks to their home pages:
http://www.cpax.org.uk/prg/portable/...#FreeCompilers
--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
------------

I just meant, that there are no specified in a source code, what
compiler author used.

Well, most portables files produce Visual C++ 1.5 and Turbo C++ 1.01.
However, this does not mean that it have better optimization, because
this compilers may just use dynamically linked dll (crtdll.dll) that
can be often in use in system, so this may affect on speed.
Not clear why so big difference in size between Visual C++ 2005 Express
Edition and old Visual C++ 1.5?

mistral

Oct 3 '06 #9
mistral said:

<snip>
>
I just meant, that there are no specified in a source code, what
compiler author used.
If it matters, it may well be written down in the source code somewhere, but
there is no requirement on programmers to document which compiler they
first targeted. Indeed, for code that is topical in comp.lang.c it doesn't
matter, because the code will work on /any/ compiler.
Well, most portables files produce Visual C++ 1.5 and Turbo C++ 1.01.
No. Those are the /smallest/ files. "Smallest" and "most portable" are two
different ideas.
However, this does not mean that it have better optimization, because
this compilers may just use dynamically linked dll (crtdll.dll) that
can be often in use in system, so this may affect on speed.
No, that's not the reason.
Not clear why so big difference in size between Visual C++ 2005 Express
Edition and old Visual C++ 1.5?
It's almost certainly (a) because VC1.5 created the executable program with
16-bit ints, 16-bit pointers, etc, whereas VC2005 probably used 32- or
possibly even 64-bit ints and pointers, and (b) because the older compiler
was targeting MS-DOS, a fairly simple and primitive set of interrupts,
whereas the newer compiler is targeting MS-Windows, a far more complicated
and advanced set of interruptions.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at above domain (but drop the www, obviously)
Oct 3 '06 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
1505
by: the friendly display name | last post by:
The 2003 product line, had the standard editions, you could only work with one single language, but, ASP.NET AND windows forms development was possible, and it wasn't that dumbed down. The price for a std edition: around 100$ Sadly, there isn't a true successor to those editions in the 2005 product line. There is a standard edition, but it costs 300$, although it supports now more than one language.
3
1874
by: clintonG | last post by:
Visual C# 2005 Express Edition is a simple, lightweight, integrated development environment designed for beginning programmers and non-professional developers interested in building Windows Forms, class libraries, and console-based applications. Visual C# 2005 Express Edition includes many of the same productivity features found in Visual Studio, all streamlined to fit the needs of the non-professional Windows developer. -- <%=...
1
7148
by: QLD_AU | last post by:
Has anyone see the following error ? VS 2005 Installs ok, however the SQL Mobile Edition (part of a full install) fails with the following error ? With Thanks Jason
4
1325
by: Brian | last post by:
Hello, I have a few questions about the 2005 editions of VB.NET and VS as a whole. Is the only stand alone VB.NET the express edition? In looking at the standard VS.NET 2005, it says deployment is "Click Once". What does that mean? Can you create msi's with the standard?
4
2534
by: Andrew Robinson | last post by:
My main dev machine has WinXp and VS2005 (pro). 1. I need to install VWD Express Edition so that I can do some instruction on this. Any issues with both on the same machine. Installation order? 2. Does VWD Express Edition support the idea of Solutions? I coun't figure out how to create a blank solution which I usually do with VS2005 (and then add my web site to the solution.)
2
3441
by: Progman | last post by:
I have Visual Studio 2005 Standard edition. Is ti the same thing as the Express edition or Standard is more?
1
1332
by: Tara | last post by:
intro about Asp ..help -------------------------------------------------------------------------------- HI All , i am not into development ...i am into testing actually ... So just for interest , i have gone through VB.NET and kind of comfortable with it Now i want to start with Asp.net ..so refered this site to download asp.net http://www.asp.net/downloads/essential.aspx?tabid=62 it says there
2
2238
by: cpchan | last post by:
Hello, Can I create a Web-based application (not a Web site) with Visual C# 2005 Express ? Or I have to use Visual Web Developer 2005 Express Edition, choose ASP.NET and then choose C# ? Are there any web-sites give me step-by-step Visual C# 2005 Express Web-based application development ?
1
2505
by: Dr T | last post by:
Hi! I downloaded MS Visual Web Developer 2005 Express Edition, MS .NET Framework SDK v2.0, and MS SQL Server 2005. Subsequently, I bought MS Visual Studio 2005 Professional Edition. 1) Are both the MS Visual Web Developer 2005 Express Edition and the MS Visual Studio 2005 Professional Edition used to develop .ASP applications?
0
9431
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, well explore What is ONU, What Is Router, ONU & Routers main usage, and What is the difference between ONU and Router. Lets take a closer look ! Part I. Meaning of...
0
9255
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9689
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8688
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development projectplanning, coding, testing, and deploymentwithout human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6514
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5119
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5289
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3780
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3326
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.