![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Orchid XP v8 schrieb:
> Darren New wrote:
>
>> But yeah, it's a big and complex tool. It'll take a day or two to
>> learn how it works.
>
> Tell me about it! I just discovered that adding a breakpoint doesn't
> actually do anything - you have to add a breakpoint *and* turn it on. o_O
>
> WTF? I ask you...!
Huh? Might depend on how you add the breakpoint, but if you just click
on the grey bar left of your sourcecode, an (active) breakpoint is added
to that line. How did you add an incactive breakpoint?
Manuel
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> Tell me about it! I just discovered that adding a breakpoint doesn't
>> actually do anything - you have to add a breakpoint *and* turn it on. o_O
>>
>> WTF? I ask you...!
>
> Huh? Might depend on how you add the breakpoint, but if you just click
> on the grey bar left of your sourcecode, an (active) breakpoint is added
> to that line. How did you add an incactive breakpoint?
I clicked on the big shiny button that says "toggle breakpoint". It
looks like a big grey square, and sure enough, when you click it, a big
grey square appears at that line of the source code. Only by accident
did I discover that you have to click on this breakpoint to make a big
red dot appear on it, and *then* it will do something. (It is unclear to
me what the hell use an inactive breakpoint is, but still...)
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Sun, 21 Sep 2008 20:02:00 +0200, Orchid XP v8 <voi### [at] dev null> wrote:
> According to the tutorial, "if your compiler does not support this, it
> is not a standards-compliant C++ compiler".
There is currently as far as I know only one C++ compiler vendor that even
claims to implement the full standard.
> I keep trying to sort out in my head which combination of symbols mean
> bitwise operations and which ones mean logical operations.
The bitwise operators are all single character. There are also only four
of them. You get used to it.
> Using names makes the difference clear. (To me anyway.)
> Of course, none of this helps with trying to read other people's code.
Which is why it would be better in the long run to simply get used to the
symbols.
> (Now Haskell also uses symbols for both. However, in Haskell, if you try
> to perform logical operations on numbers, you get a type error, and vice
> versa. Unfortunately C++ inherits C's braindead "hey, if you can
> represent it as an unstructured bit pattern, it's an int, right?"
> mentallity.)
The bitwise operators in C & C++ only work on integers. However, there are
a few silent conversions to 'int' to be aware of.
> Uh-huh. Yeah, I'll be doing that. I'd like to write code that will
> compile everywhere. ;-)
>
> Who'd have thought? An M$ product bending the standard slightly...
> </sarcasm>
I hope you do not think GCC is standards-compliant by default either.
--
FE
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Fredrik Eriksson wrote:
>> I keep trying to sort out in my head which combination of symbols mean
>> bitwise operations and which ones mean logical operations.
>
> The bitwise operators are all single character. There are also only four
> of them. You get used to it.
Yeah, I guess so.
>> Using names makes the difference clear. (To me anyway.)
>> Of course, none of this helps with trying to read other people's code.
>
> Which is why it would be better in the long run to simply get used to
> the symbols.
It has a flavour.
>> (Now Haskell also uses symbols for both. However, in Haskell, if you
>> try to perform logical operations on numbers, you get a type error,
>> and vice versa. Unfortunately C++ inherits C's braindead "hey, if you
>> can represent it as an unstructured bit pattern, it's an int, right?"
>> mentallity.)
>
> The bitwise operators in C & C++ only work on integers. However, there
> are a few silent conversions to 'int' to be aware of.
Indeed.
(The other thing is that in Haskell, the logical ops are always there,
while the bitwise ones are hidden away in some library and you have to
explicitly ask for them.)
>> Who'd have thought? An M$ product bending the standard slightly...
>> </sarcasm>
>
> I hope you do not think GCC is standards-compliant by default either.
I gather that GCC provides various extensions of its own too, yes. ;-)
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> According to "Thinking in C++", you can use the keywords "and", "or" and
> "not" in place of symbols. GCC accepts this. However, Visual C++ doesn't
> seem to like it.
Ewww, someone got Visual Basic in my C++.
- Slime
[ http://www.slimeland.com/ ]
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> I clicked on the big shiny button that says "toggle breakpoint". It looks
> like a big grey square, and sure enough, when you click it, a big grey
> square appears at that line of the source code. Only by accident did I
> discover that you have to click on this breakpoint to make a big red dot
> appear on it, and *then* it will do something. (It is unclear to me what
> the hell use an inactive breakpoint is, but still...)
Odd. You can also just press F9 to make a breakpoint.
Inactive breakpoints are usually useful when you've added a complicated
condition to a breakpoint and you want to turn it off but get it back later.
- Slime
[ http://www.slimeland.com/ ]
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Like if you go File > New > File... and then select "CPP File", it doesn't
> add it to the current project. (And opens the file browser in a random
> spot.) You must instead right-click on the "Source Files" node of the
> current project and select "Add item..." and select "CPP File", and *then*
> it automatically puts the file in the correct place, adds it to the
> project, and lets you compile and run it. Sheesh!
I haven't used the Express edition, but what I normally do is go to
Project -> Add New Item, which creates a file *and* adds it to the current
project.
- Slime
[ http://www.slimeland.com/ ]
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>I just installed Micro$oft Visual C++ 2008 Experss Edition.
>
> My God... what have I done?? O_O
You'll figure it out. =) It's handy once you do. Learn the keyboard
shortcuts and you'll be able to iterate on your code very quickly.
And it will give you compile errors when you don't return something from a
function with a return type. =)
- Slime
[ http://www.slimeland.com/ ]
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Slime wrote:
>> I clicked on the big shiny button that says "toggle breakpoint". It looks
>> like a big grey square, and sure enough, when you click it, a big grey
>> square appears at that line of the source code. Only by accident did I
>> discover that you have to click on this breakpoint to make a big red dot
>> appear on it, and *then* it will do something. (It is unclear to me what
>> the hell use an inactive breakpoint is, but still...)
>
> Odd. You can also just press F9 to make a breakpoint.
Yeah, well, once you *know* that it's easy enough. ;-)
> Inactive breakpoints are usually useful when you've added a complicated
> condition to a breakpoint and you want to turn it off but get it back later.
Wait - you can have conditional breakpoints?
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> My God... what have I done?? O_O
>
> You'll figure it out. =) It's handy once you do. Learn the keyboard
> shortcuts and you'll be able to iterate on your code very quickly.
It'll never be quite as easy as in interpretted compiled language, but
what can you do? This is what people use, apparently...
> And it will give you compile errors when you don't return something from a
> function with a return type. =)
Heh. Pity it won't warn me when I do any of the 50,000 other dubious
things that are legal in C++. :-S
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |