About compiler

Pages: 12
Oct 2, 2022 at 7:48am
g++ -wall -g ....

What those called: -wall -g

Where can I find the full list of them, with usage description of them.

Thanks)
Oct 2, 2022 at 7:49am
https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html

Most of the options work for C, C++ and fortran

-Wall is in the "Warning Options" section.
-g is in the "Debugging Options" section.

I shouldn't try to memorise all of them!
Last edited on Oct 2, 2022 at 7:53am
Oct 2, 2022 at 8:20am
Thank you @lastchance,

I compiled this line using g++:
char ch = ' : ';

I got this error: multi-character constant [-Wmultichar], I also got a lot of those[-SOMETHING]
like [-Woverflow], [-Wunused-variable] ......

What those are called?
Oct 2, 2022 at 8:27am
A char is a single character.

If you write
' : '
with single quotes then that is three chars: you are trying to create multi-chars.


Just use
std::string X = " : "
or any of the fancy uniform-initialisation equivalents (which I hate, because they have no counterpart in other languages).

Note the double, not single, quotes here.
Oct 2, 2022 at 8:30am
Thank you @lastchance, but this is not what I ask here:

The following is what I ask about, what those inside the double brackets with the minus padded to them?

I got this error: multi-character constant [-Wmultichar], I also got a lot of those[-SOMETHING]
like [-Woverflow], [-Wunused-variable] ......

What those are called?
Oct 2, 2022 at 8:33am
Inside [] it mentions the specific flag that enables this warning.

-Wall enables many warnings.

Some warnings are also enabled by default. Not sure if all of these are documented but there is normally a -Wno-... opposite to turn them off.

-Wmultichar is enabled by default. You can use -Wno-multichar to turn it off.
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wmultichar

-Woverflow is enabled by default. You can use -Wno-overflow to turn it off.
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Woverflow

-Wunused-variable is enabled by -Wall.
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wunused-variable
Last edited on Oct 2, 2022 at 8:37am
Oct 2, 2022 at 8:37am
Thanks @Peter that what I was looking for))

One last question, it seems that if I compile using Code::Blocks and g++ both of them output the same logging messages. I know that Code::Blocks uses g++, but how it retrieves those message from it? In other way how to direct those message to for example a file.txt?

Oct 2, 2022 at 8:43am
I don't know exactly how it does it but there are often system specific functions that you can use to execute other processes and use "pipes" to read the output (or write input).
Last edited on Oct 2, 2022 at 8:48am
Oct 2, 2022 at 8:46am
I don't know exactly how it does it but there are often system specific functions that you can use to execute other processes and use "pipes" to read the output (or write input).


I will need couple weeks to understand this)) I'm going to search a little bit, Like always thank you @peter)
Oct 2, 2022 at 8:48am
Code::Blocks is open source software so if you really want to know how it does it you should be able to find it somewhere in its source code.
Oct 2, 2022 at 8:50am
Code::Blocks is open source software so if you really want to know how it does it you should be able to find it somewhere in its source code.


I have the source code of code::blocks but I do not know how to do that.
Oct 2, 2022 at 8:52am
Oct 2, 2022 at 9:02am
https://cplusplus.com/forum/beginner/284897/#msg1235491
, I did not get this? what are you trying to imply here?
Last edited on Oct 2, 2022 at 9:03am
Oct 2, 2022 at 9:09am
You are making a mountain out of a molehill.

If you want to know about Code::Blocks then ask a question with a title that includes Code::Blocks.

If you want to know about Code::Blocks then read their manual (try googling "code blocks manual").

Or better, just learn to use the command line (or shell in linux) and you can easily apply whatever options you like. If there's a particularly long option list then just put the compilation (yeah, pre-processor|compiler|assembler|linker if you must) commands in a batch file.

Your compiler is from the gnu compiler collection, accessed by the g++ command.
Last edited on Oct 2, 2022 at 9:10am
Oct 2, 2022 at 9:18am
You first reply was actually an answer to what I asked, the other replies of yours did not answer any question I asked.

The second question already answered by peter, without mentioning any Code::blocks in the title to him, the third question, just gave me some insights I appreciate that, but your second replay seems irrelevant to the topic, I just want to know 2 things here:

what this link need to tell me? I am guess you're try to tell me that am pedant????
https://cplusplus.com/forum/beginner/284897/#msg1235491


The second question, how did you belt that link that lead directly to a message but not to page?
Oct 2, 2022 at 9:25am
ninja01 wrote:
how did you belt that link that lead directly to a message but not to page?


Find the particular answer that you want to link directly to.

Right click the "link" icon (it's just before the original date of the post).

Choose "Copy link".

Paste (e.g. ctrl-V) anywhere you want.
Oct 2, 2022 at 9:28am
Got it, and note you answered the question without me mentioned it in the title)

what about the first one?
Oct 2, 2022 at 9:30am
ninja01 wrote:
Got it, and note you answered the question without me mentioned it in the title)

https://cplusplus.com/forum/beginner/284897/#msg1235491
Oct 2, 2022 at 9:47am
Me worte:
but how it retrieves those message from it? In other way how to direct those message to for example a file.txt?


This is how:
g++ main.cpp 2> "d:\output.txt"


Thanks for the help)
Last edited on Oct 2, 2022 at 9:48am
Oct 2, 2022 at 10:22am
If you can run man g++ then you have the manual of your installed version of g++ in front of you. You can search string in 'man'. Press '/' and type the string (and Enter). Then press 'n' to hop to next match.
Pages: 12