Difference between Turbo C and Borland C compiler closed

0 votes

I compiled two pieces of code using the Turbo C++ 3.0 and Borland C++ 5.02 compilers, and the results are as follows:

First Code

void main()
{
}  

Second Code

#include<iostream.h>
#include<conio.h>
void main()
{
}
and i got these results from them :
- Borland C++ (First Code) : 51KB
- Borland C++ (Second Code) : 51KB
- Turbo C++ (First Code) : 5.89KB
- Turbo C++ (First Code) : 16.3KB
I checked two Borland execute files with a hex viewer and realize they are exactly the same.
I examined the First Code form these compilers in IDA pro and come across these graphs :
turboC++

borlandC++

Now I'd like you to respond to these questions.

1-Why are Borland C++ compiled files the same when one obviously lacks certain inclusion and the other does?

2-Why are the Boland C++ compiled files so large? 

(almost ten times larger) and what is compiled that large?

3-When I submit the First Code to this Site, I can view the assembly code of a basic void main function and discover that the Borland C++ code is pretty similar but the Turbo C++ assembly code is highly intricate and not the same, why?

4-How did this basic code, generated using Turbo C++, generate so many functions, as seen in the graph?

Jun 20 in C++ by Nicholas
• 2,520 points
8 views

1 answer to this question.

0 votes
I will try my best to respond, but you may need to post your queries to the Borland forums for more extensive responses.

Upgrade your compilers in any case.

1-Why are Borland C++ compiled files the same when one obviously lacks certain inclusion and the other does?

Your programme is ineffective and inaccurate.

(The main function always returns an int.)

You are free to include as many header files as you wish.

Because you do not utilise them, no additional code is created.

There are no header files required for your software.

They both serve the same purpose.

2-Why are the Boland C++ compiled files so large?

(almost ten times larger) and what is compiled that large?

There are several options.

You must examine the resulting assembly code, machine code, or post to the Borland forums.

This is also affected by whether you compiled in Debug or Release mode.

It also depends on whether or not you built for static or dynamic libraries.

Fundamentally, the Borland Compiler may be creating code that is compatible with newer versions of Windows than Turbo C++ was mandated to support.

Investigate the distinction between the ".com" and ".exe" file types.
answered Jun 21 by Damon
• 4,240 points

Related Questions In C++

0 votes
0 answers

Difference between 'new operator' and 'operator new'?

What is difference between "new operator" and ...READ MORE

Jun 15 in C++ by Nicholas
• 2,520 points
8 views
0 votes
1 answer

Difference between function overloading and method overloading

They are interchangeable. Some people, on the other hand, prefer calling methods, functions that are part of a class, and functions, free functions. //function overloading void foo(int x); void foo(int x, int ...READ MORE

answered Jun 21 in C++ by Damon
• 4,240 points
14 views
0 votes
0 answers

Difference between set.upper_bound() and upper_bound(set.begin(), set.end()) stl

I discovered that set.upper bound() was quicker ...READ MORE

1 day ago in C++ by Damon
• 4,240 points
4 views
0 votes
1 answer

The Definitive C++ Book Guide and List

For Beginner (includes those without coding experience) Programming: ...READ MORE

answered Jun 6 in C++ by pranav
• 2,580 points
21 views
0 votes
1 answer

setuptools: build shared libary from C++ code, then build Cython wrapper linked to shared libary

There is a seemingly undocumented feature of setup that ...READ MORE

answered Sep 11, 2018 in Python by Priyaj
• 58,080 points
191 views
0 votes
1 answer

setuptools: build shared libary from C++ code, then build Cython wrapper linked to shared libary

There is a seemingly undocumented feature of setup that ...READ MORE

answered Sep 21, 2018 in Python by Priyaj
• 58,080 points
1,373 views
0 votes
1 answer

How to pass large records to map/reduce tasks?

Hadoop is not designed for records about ...READ MORE

answered Sep 25, 2018 in Big Data Hadoop by Frankie
• 9,830 points
788 views
0 votes
1 answer

Invalid method parameters for eth_sendTransaction

params needs to be an array, try {"jsonrpc":"2.0","method":"eth_se ...READ MORE

answered Sep 28, 2018 in Blockchain by digger
• 26,720 points
589 views
0 votes
1 answer

C++ code file extension? What is the difference between .cc and .cpp [closed]

GNU GCC recognizes all of the following ...READ MORE

answered Jun 21 in C++ by Damon
• 4,240 points
4 views
0 votes
1 answer

What is the difference between std::__gcd and std::gcd?

I done some research about this. The ...READ MORE

answered Jun 10 in C++ by Damon
• 4,240 points
16 views
webinar REGISTER FOR FREE WEBINAR X
Send OTP
REGISTER NOW
webinar_success Thank you for registering Join Edureka Meetup community for 100+ Free Webinars each month JOIN MEETUP GROUP