Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where is the standard library?

Tags:

c++

codeblocks

I have searched Google but haven't found quite a direct answer to my queries.

I have been reading C++ Primer and I'm still quite new to the language, but despite how good the book is it discusses the use of the standard library but doesn't really describe where it is or where it comes from (it hasn't yet anyway). So, where is the standard library? Where are the header files that let me access it? When I downloaded CodeBlocks, did the STL come with it? Or does it automatically come with my OS?

Somewhat related, but what exactly is MinGW that came with Cobeblocks? Here it says

MinGW is a C/C++ compiler suite which allows you to create Windows executables without dependency on such DLLs

So at the most basic level is it just a collection of "things" needed to let me make C++ programs?

Apologies for the quite basic question.

like image 854
Silversonic Avatar asked Sep 05 '25 03:09

Silversonic


1 Answers

"When I downloaded CodeBlocks, did the STL come with it?"

Despite it's not called the STL, but the C++ standard library, it comes with your c++ compiler implementation (and optionally packaged with the CodeBlocks IDE).

You have to differentiate IDE and compiler toolchain. CodeBlocks (the Integrated Development Environment) can be configured to use a number of different compiler toolchains (e.g. Clang or MSVC).

"Or does it automatically come with my OS?"

No, usually not. Especially not for Windows OS

"So, where is the standard library? Where are the header files that let me access it?"

They come with the compiler toolchain you're currently using for your CodeBlocks project.
Supposed this is the MinGW GCC toolchain and it's installed in the default directory, you'll find the libraries under a directory like (that's what I have)

C:\MinGW\lib\gcc\mingw32\4.8.1

and the header files at

C:\MinGW\lib\gcc\mingw32\4.8.1\include\c++

"So at the most basic level is it just a collection of "things" needed to let me make C++ programs?"

It's the Minimalist GNU toolchain for Windows. It usually comes along with the GCC (GNU C/C++ compiler toolchain), plus the MSYS minimalist GNU tools environment (including GNU make, shell, etc.).

like image 50
πάντα ῥεῖ Avatar answered Sep 07 '25 19:09

πάντα ῥεῖ