Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
Why is my simple program, which hardly does more than print
Why is my simple program, which hardly does more than print ``Hello, world!'' in a window, compiling to such a huge executable (several hundred K)? Should I #include fewer header files?
✍: Guest
What you're seeing is the current (poor) state of the ``art'' in library design. As run-time libraries accrete more and more features (especially having to do with Graphical User Interfaces), and when one library function calls another library function to do part of its job (which ought to be a Good Thing; that's what library functions are for), it can happen that calling anything in the library (particularly something relatively powerful like printf) eventually pulls in practically everything else, leading to horribly bloated executables.
#including fewer header files probably won't help, because declaring a few functions which you don't call (which is mostly all that happens when you #include a header you don't need) shouldn't result in those functions being placed in your executable, unless they actually do get called.
You may be able to track down and derail a chain of unnecessarily-coupled functions which are bloating your executable, or maybe complain to your vendor to clean up the libraries.
2015-07-06, 1450👍, 0💬
Popular Posts:
How can I search for data in a linked list? Unfortunately, the only way to search a linked list is w...
What are urlencode() and urldecode() functions in PHP? string urlencode(str) - Returns the URL encod...
it will be very helpful if you send some important Questions with Answers of DBMS Tell us what types...
Can each Java object keep track of all the threads that want to exclusively access to it?
What will be printed as the result of the operation below: main() { char *p1; char *p2; p1=(char *)m...