#155269 - Rajveer - Sun Apr 27, 2008 5:12 pm
Hi guys, first time I'll be writing C code for the Windows platform, what compiler/toolchain would you guys suggest using? Don't really want to install VisualStudio on my home PC just because of it's size and I'll only be programming 1/2 small quick apps for some precalculations with my homebrew game, so what tools do you guys use that don't cause conflicts with devkitARM?
#155270 - tepples - Sun Apr 27, 2008 5:20 pm
Rajveer wrote: |
Hi guys, first time I'll be writing C code for the Windows platform, what compiler/toolchain would you guys suggest using? Don't really want to install VisualStudio on my home PC just because of it's size and I'll only be programming 1/2 small quick apps for some precalculations with my homebrew game, so what tools do you guys use that don't cause conflicts with devkitARM? |
First install MinGW, and then use it with the devkitPro MSYS that you already have. That's how I compile Lockjaw Tetromino Game, and it's also how I compile the PC-side tools that my other NES, GBA, and DS productions rely on.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#155271 - kusma - Sun Apr 27, 2008 5:21 pm
Well, Visual Studio is pretty much the best solution for windows, but there's also MinGW (GCC for windows) which is a good compiler in most aspects. I'm not sure about how it compares on size, though. With hundreds of gigabytes on todays computers, it shouldn't really be a big issue IMO ;)
But if you're just doing some precalcs, why not use a more comfortable programming language, like Python? :)
#155272 - tepples - Sun Apr 27, 2008 5:31 pm
kusma wrote: |
With hundreds of gigabytes on todays computers |
And how many days to pull those gigabytes through a dial-up connection to the Internet, or how many days to flip burgers to buy real estate in a location served by DSL or cable, or how many days to have the developer burn some discs and airmail them across an ocean?
kusma wrote: |
But if you're just doing some precalcs, why not use a more comfortable programming language, like Python? :) |
I use Python at work. But I don't use Python for LUT generation and asset conversion in my personal projects because more people in my audience already have the runtime for MinGW C (msvcrt.dll, bundled with Windows) than have the runtime for Python (python-2.5.*.msi).
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#155274 - SevenString - Sun Apr 27, 2008 6:38 pm
Code::Blocks is a free, powerful IDE that supports MingW / GNU GCC, out of the box.
www.codeblocks.org
If you already have MingW / GCC installed, it's only an 11MB download.
tepples, just out of curiosity, what's your IDE of choice for GCC/Win development?
_________________
"Artificial Intelligence is no match for natural stupidity."
#155280 - silent_code - Sun Apr 27, 2008 7:18 pm
<what SevenString wrote> ;^D
plus: it has support for different compiler packs, a ton of usable and fun plugins etc. it might be not finished 100%, but i haven't used such a great ide in years!
i use it for pc (cross platform support is integrated as well) and nds development, everything in one place, no switching required. you can set all your environment variables into a compiler set, no mesing with the os.
and finally, it's open source and there are nightly builds. :^)
#155281 - Dwedit - Sun Apr 27, 2008 7:44 pm
What makes an IDE good is if it can actually debug.
Netbeans may be huge and bloated, but it has a working debugger.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#155283 - kusma - Sun Apr 27, 2008 7:57 pm
tepples wrote: |
And how many days to pull those gigabytes through a dial-up connection to the Internet, or how many days to flip burgers to buy real estate in a location served by DSL or cable, or how many days to have the developer burn some discs and airmail them across an ocean?
|
I don't know the precise state of the tubes in the US, but here in Norway dial-up is pretty much non-existent, and it has been for the last 7-8 years. DSL is cheap, and you can get free internet access at most caf?s or at the public libraries.
On all the trips I have done to the US, I've been able to get proper high-speed internet access without really paying anything worth mentioning. Besides, Rajveer lists London as his location - if he's able to afford a flat in London, he's most likely able to afford a proper internet connection. I'm not quite getting why you tend to take these kinds of arguments to such irrelevant extremes.
Quote: |
I use Python at work. But I don't use Python for LUT generation and asset conversion in my personal projects because more people in my audience already have the runtime for MinGW C (msvcrt.dll, bundled with Windows) than have the runtime for Python (python-2.5.*.msi). |
Don't we all? Some kind of precalcs (like generating look-up tables - array comprehensions FTW) can easily be done in without needing your audience to install anything extra, and python-applications can also be shipped as normal windows-applications, thanks to py2exe.
#155285 - Rajveer - Sun Apr 27, 2008 8:22 pm
Thanks for the advice guys :) I'll stick to C rather than Python as my Windows applications will include large sections of C source code I've already written for my game. Download time isn't much of an issue either, got me some fast broadband :)
I think I'll give MinGW a try with Code::Blocks, I tried installing Visual C++ Express but it kept failing on installing .Net Framework 3.5 for some reason. If I install MinGW, it comes with a C library right, or do I have to download one?
#155287 - gmiller - Sun Apr 27, 2008 8:28 pm
The other issue with Visual Studio is there is a required runtime library that has to be installed on the target machine. This is something I found out when I tried to use a modified GBA emulator in my class. It work on some student machines and not on others. The re-distributed runtime turned out to be the issue.
#155295 - kusma - Sun Apr 27, 2008 10:15 pm
gmiller wrote: |
The other issue with Visual Studio is there is a required runtime library that has to be installed on the target machine. This is something I found out when I tried to use a modified GBA emulator in my class. It work on some student machines and not on others. The re-distributed runtime turned out to be the issue. |
Not if you're linking statically to the CRT. It's also possible to use the older CRT (msvcrt.dll, the same one as MinGW is using) that has been standard for a very long time (pre-installed since win95 osr2c IIRC), but that involves quite some nasty hacks in some cases.
#155298 - gmiller - Sun Apr 27, 2008 10:56 pm
Well the emulator uses too many other element (the damed MFC functions) so static linking has failed me in 2005 Pro so I finally had to give up. I have found few Windows applications I could use the static linking with (except ones that did not use some windows API's). Under Linux I have no problem but that is another space and time ....
#155300 - tepples - Sun Apr 27, 2008 11:10 pm
kusma wrote: |
On all the trips I have done to the US, I've been able to get proper high-speed internet access without really paying anything worth mentioning. Besides, Rajveer lists London as his location - if he's able to afford a flat in London, he's most likely able to afford a proper internet connection. I'm not quite getting why you tend to take these kinds of arguments to such irrelevant extremes. |
I am a moderator on nesdev.com and tetrisconcept.com. Jamie Sanders, the administrator of (CENSORED)nes.com, is a regular on nesdev.com. Rich Nagel is a regular on tetrisconcept.com. Both use dial-up due to rural unavailability of DSL and cable Internet and unaffordability of T1, and both are unable to view videos on the popular FLV sites because the connections keep timing out and/or being reset.
kusma wrote: |
I'm not quite getting why you tend to take these kinds of arguments to such irrelevant extremes. |
For the same reason that I try to check corner cases in programming. At least in programming, not doing so leads to buffer overflows or other program defects.
kusma wrote: |
and python-applications can also be shipped as normal windows-applications, thanks to py2exe. |
How big is a Python EXE compared to a C++ EXE?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#155302 - kusma - Sun Apr 27, 2008 11:29 pm
tepples wrote: |
Both use dial-up due to rural unavailability of DSL and cable Internet and unaffordability of T1, and both are unable to view videos on the popular FLV sites because the connections keep timing out and/or being reset.
|
So you know two people on dial-up, and the rest of the internet should be assumed to be so too?
kusma wrote: |
For the same reason that I try to check corner cases in programming. At least in programming, not doing so leads to buffer overflows or other program defects.
|
Do you really want to spend your time on debugging the internet? If so, you've got a hell of a task ahead of you. Knowing what is worth spending time on is something that is critical to get anything at all done. (In case you didn't get it - I got your point, but I don't think it's a good one. But hey, it's all up to you)
Quote: |
How big is a Python EXE compared to a C++ EXE? |
The python interpreter adds around 700k when UPX-compressed last time I checked. That's not a size to be worried about in these days, IMO. Even your dial-up friends will be able to accept that ;)
#155308 - silent_code - Mon Apr 28, 2008 1:53 am
code::blocks uses the popular gdb as a debugger and can also use some of MS' debugger's functionality. so that is out of the way (take a look at the site, they have a screen that shows some debugging). ;^)
enough advertisement. :^D
ps: dial-up: there are some regions in germany, and i assume in other countries as well, that don't have access to anything better than isdn. tepples had a good point in writing that.
#155313 - tepples - Mon Apr 28, 2008 2:59 am
kusma wrote: |
So you know two people on dial-up |
Make that three: I had forgotten about yellowstar.
kusma wrote: |
and the rest of the internet should be assumed to be so too? |
If at least one knowledgeable tester for each of three projects is on dial-up, then I have to make a dial-up friendly package.
kusma wrote: |
The python interpreter adds around 700k when UPX-compressed last time I checked. That's not a size to be worried about in these days, IMO. Even your dial-up friends will be able to accept that ;) |
Apart from GBFS and bin2s, which are now included with devkitARM, there are seven programs that translate assets or write lookup tables for TOD: - 4-bit tiled image converter
- 8-bit linear image converter
- LZ77 coder
- audio converter
- music compiler
- tunnel lookup table generator
- cosine lookup table generator
If I compile more than one Python program to an EXE, is that 700k shared across all the EXEs (as it is with the Allegro DLL used by some of my C projects), or is it 700k per program? I could go the BusyBox route and put everything into one Python program that takes a command-line argument telling which program to run, but by then, I'm working around the system as much as with it, which brings me to the next point:
Sure, Python makes some things more comfortable to develop, at the cost of runtime speed and/or deployment difficulty in some cases. I have recognized at several points that prototyping might occur in a different language than the final artifact, which is part of why QCarbon (the first version of what would eventually become TOD) was written in QBasic.
ObTopic:
Rajveer wrote: |
If I install MinGW, it comes with a C library right, or do I have to download one? |
It comes with one. The MinGW package includes an import library for Microsoft Visual C++ 6's C library (msvcrt.dll).
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#155315 - Rajveer - Mon Apr 28, 2008 3:10 am
Finally got MinGW/Code::Block working under Vista (WHY did I get sucked into that damn DX10 bs) and Visual C++ installed ok too.
I think getting a C project running under Code::Block is easier, with VS I have to create a cpp file, rename it to c, remove and reinsert it into the project. But I'll keep both installed, MinGW for quick C apps so I can make quick tools, and VS for when I finally start learning C++ (apparently it produces better code than GCC?) Cheers guys!
EDIT: Oh wait, I can just rename a cpp file to c in VS itself, how easy!
Last edited by Rajveer on Mon Apr 28, 2008 11:48 am; edited 1 time in total
#155326 - kusma - Mon Apr 28, 2008 8:54 am
tepples wrote: |
If I compile more than one Python program to an EXE, is that 700k shared across all the EXEs (as it is with the Allegro DLL used by some of my C projects), or is it 700k per program?
|
I haven't really tested it, but the 700k is for the python interpreter DLL, and several applications should be capable of sharing it. So I think that's a one-time cost, but I can't really be sure without testing it.
Quote: |
Sure, Python makes some things more comfortable to develop, at the cost of runtime speed and/or deployment difficulty in some cases. I have recognized at several points that prototyping might occur in a different language than the final artifact, which is part of why QCarbon (the first version of what would eventually become TOD) was written in QBasic. |
Yeah, you trade something for something else, which is basically what every decision you make here in life is all about. Anyway, my point wasn't that Python is so fantastic, it was that from the problem description he gave it could look that some other tool was more suited. I might or might not have been wrong about that, but I think it's a point that is worth questioning anyway.
#155391 - dantheman - Tue Apr 29, 2008 2:00 am
Off-topic: Kusma, the US is actually fairly far behind many European and Asian countries in terms of broadband availability and speed. Here's an article I read recently with some statistics to help back it up. It's a real problem unfortunately. Urban cities are finally starting to get hit up with some actual fiber-optic cabling, allowing us some good speeds (50/50 mbps with FIOS and 10/3 mbps with U-verse, the two major options) but rural users are often left in the dust.
To further screw things up, most cable providers oversell their bandwidth capability and some throttle peer-to-peer traffic (most notably Comcast). It's getting rather ugly actually.
I believe Tepples has a valid concern when he considers the ease of use of users with lower bandwidth.
#155401 - yellowstar - Tue Apr 29, 2008 3:58 am
dantheman wrote: |
Off-topic: Kusma, the US is actually fairly far behind many European and Asian countries in terms of broadband availability and speed. Here's an article I read recently with some statistics to help back it up. It's a real problem unfortunately. Urban cities are finally starting to get hit up with some actual fiber-optic cabling, allowing us some good speeds (50/50 mbps with FIOS and 10/3 mbps with U-verse, the two major options) but rural users are often left in the dust.
To further screw things up, most cable providers oversell their bandwidth capability and some throttle peer-to-peer traffic (most notably Comcast). It's getting rather ugly actually.
I believe Tepples has a valid concern when he considers the ease of use of users with lower bandwidth. |
A long while ago I heard that everyone was supposed to have high-speed by 2015, here in the US.
But I'm not waiting that long; I'll be out of this hole by then.
*Removed rant*
@Rajveer:
I realize you found an IDE already, but I use Dev-Cpp for PC dev. Just today I discovered wxDev-Cpp actually works on my WinXP now, so I use that now. wxDev-Cpp is basicly an extension of Dev-Cpp, which adds RAD with wxWidgets. RAD means you can quickly create an application's graphical interface, kindof like how you do it in VS. I haven't actual tried programming any wx stuff yet... Some advantages of wxWidgets, is, it's cross-platform, and works on Windows 9x, unlike MS .NET.
#156236 - sniper - Wed May 07, 2008 11:11 pm
Eclipse+CDT is the best free IDE at the moment IMAO.
http://www.eclipse.org/downloads/
Supports allot, here some examples:
- by default GCC Compiler+ GDB Debugging
- Managed Makefiles
- Code navigation
- Code completion
- Code formatter (indention)
- Syntax highlighting
- Outline view of the source code
- Code folding
- hiding inactive code ( e.g. #if .. )
- include browser
- call hierarchy (functions and variables)
- class/type hierarchy
- macro expansion (resolve defines) (since CDT 5.0.0)
- refactoring (since 5.0.0)
- marking compiler errors in the source code
- advanced C++ searching
- version control for CVS, SVN, ...
- parsing Tasks from Sourcecode (TODOs)
- Doxygen support
- Templates
- extensible via plugins
...and many many more.
But its not easy to use for beginners, because Eclipse is like EMACS.. you can do all with it ;) Also I think for the lightweight Editor users like Ultraedit/Programmers Notepad/.. + Makefiles, it is not easy to change.
But most ppl I showed the features are now eclipse users =)
#158279 - elyk1212 - Sun Jun 08, 2008 7:16 pm
How about Vim used with g++/gcc and gdb? Vim's not an IDE, but supports every point just mentioned (internally or through a helper tool), but it has a somewhat steeper learning curve. It is all we use at work (but we are a hardware design and verification group, and as most HD design shops, we use exclusively Unix variants... Red hat enterprise Linux for us). Yeah yeah, vim is weird I hear you say...
Anyhow, I used to use IDEs all day. They were great, I thought. Then I had to refactor C++ code. It seems, there is no easy way for a parser to do this. Something to do with the grammar allowed in C++. But it is a one liner regex if you know what you are doing in vim. :bufdo %s/\<old\>/new/gc . Yes it is a manual brute force solution and is not really refactoring, but for most purposes, if your naming makes sense, it will work just fine. never took my hands off the keyboard for that one.
Use the c in %s if you want confirmation on replace. After realizing how powerful vim was at this one task, as well as many others, and forced to use it at work, I found it to be years ahead of most IDEs and on par with bloated feature rich IDEs. The kicker is, it has a VERY SMALL foot print, despite all the features of vim. (Also, when telecommuting, who wants to be bogged down by all that slowGUI stuff remotely? Just use ssh and vim :) ).
Configuring vim is pretty much llke boarder-line programming (in vimscript). You can set up things however you'd like. The flexibility is UNMATCHED by any IDE. I have a very specific coding style that and indentation scheme I have vim adhere to, how code folding happens, you can delete folds, add fold types etc. We have to adhere to a standard for work. purposes.
You can use gdb side by side with Vim and gdb will spit out the source code line by line if you want. As expected GDB has many of the features of modern IDE debuggers and seems quite a bit more flexible. Of course, vim will parse compiler output (especially g++/gcc and bring you to the source file and line where the error/warning occurred, and you have much more control over how that occurs also). try :cope
All in all, I found I am a much FASTER programmer by using vim also. All the terse shortcuts and no need for a mouse. I fly around the code and my open buffers when using vim. Spliting up windows moving code around etc. You may also enjoy Emacs, which has just as many features as vim, but I haven't found a need to learn two of these types of tools yet.
I disagree slightly with the last poster on how Eclipse is like Emacs. Don't get me wrong, Eclipse has a lot of options and is a great tool, but I think Emacs and vim will always be more flexible (and therefore less user friendly, slightly). Also, neither Emacs nor vim requires the use of a mouse, I cannot say the same for Eclipse. I also don't think it is plausible to configure options with a small powerful lisp script, within Eclipse ;). (In vim, you would use vim script for the same purpose). Also, Eclipse has a very large memory foot print when compared to Vim or Emacs.
One thing though, managed makefiles. Vim will force you to learn how to make these, or how to use Automake tools, etc. Also a good skill to have. Every interview I had out of school asked about my experience with Make tools, so I guess it must be useful ;)
Finally the best feature of vim is: No need to port your projects files to multiple IDEs! Why? There are none and no (forseeable) need for them. So, it is a true separation between Compiler, editor and debugger. The ultimate flexibility. Back in the day I would spend hours configuring the IDE's compiler, editor etc, to work with my source tree. Not any more, I am FREE!
If compilation fails, it is due to a dependency or compiler version on the machine, and not some weird IDE problem or tweek. You just use the same Make/Automake/etc files in your source tree as instructions on building your projects (which are much more tried and tested than proprietary build systems of some IDEs), and any issues are very easy to track down when this separation exists between your tools.
All in all it saves you time to learn Vim (or Emacs).... for many, I'd say. But results may vary.
#158283 - sniper - Sun Jun 08, 2008 8:01 pm
I didn't wanted to compare Eclipse with Emacs because these are very different. Also I gave up with Emacs after 2hs because was too user unfriendly for me ;) I do not suggest Eclipse for beginners because its an heavy weight tool with (maybe too many) features. It is also not made to edit a textfile. For this tasks UEdit/VI/.. are maybe better. Even the startup time is much faster ;)
I do not understand why coders do not like the mouse.. You do not code 1000th lines of code a day. Most of the time I'm thinking what is the best way to implement a functionality. Also a lot of time I need to locating bugs. Analyzing of existing source code is a major part of my work. Navigating the source code using eclipse is easy and very fast even without cryptic commands. And nowadays most PCs has 1gb of RAM and this is enough to work with eclipse. If you want extends the functionality simply write a new java plugin. Its very easy to do. For example for new folding algorithms and source code markers etc. I think the similar way as Lisp for VIM.
At the end if you are happy with your tool .. you do not look for something better. Yes why you should? Same for me .. =)
#158286 - silent_code - Sun Jun 08, 2008 8:10 pm
@ sniper: Although I use the keyboard most of the time, I really appreciate and use Code::Blocks' "right-klick-hold and scroll fast"! The mouse makes it easy to navigate through lots of pages at varying speed, unlike the keyboard. But, one shouldn't over-do it, like Apple back with the (was it the: ) Apple 2 (?), that had no cursor keys at all. ;^)
In Fact, there are lots of approaches to (program) text editing, just as with anything. You have to find something that fits your current needs. If you find later, that you need something more, start looking for that, but you'll take the knowledge with you, that you gained while using the former solution.
Enough poor man's philosophy. ;^D
_________________
July 5th 08: "Volumetric Shadow Demo" 1.6.0 (final) source released
June 5th 08: "Zombie NDS" WIP released!
It's all on my page, just click WWW below.
#158290 - elyk1212 - Sun Jun 08, 2008 8:57 pm
They're only cryptic while you're learning. You may be surprised when you get in there and really give the tools some time to set in.
Quote: |
I do not understand why coders do not like the mouse.. |
I don't hate the mouse. I just think for editing code it can get in the way. I didn't use to have this mind set, but came to this conclusion while using vim. Everything I do in vim is faster using the keyboard. I use the mouse for most everything else (waveform viewers, Oscilloscope functions, Browsing the internet, opening up a new console, highlighting some parts of text to drop in my console from outside sources.. not from within vim). FYI: You can still use a mouse in Gvim or XEmacs (even in the console version of vim), it is just optional, I personally prefer the console where I can set all my env variables as needed (since we have to do this many times when running test suites).
Quote: |
The mouse makes it easy to navigate through lots of pages at varying speed, unlike the keyboard. |
Vim offers many speeds of navigation with the keyboard. I usually navigate through chunks using '}' or I can use ')' to navigate by paragraph, or I can use ']' to navigate ending braces, or I can use # on a symbol to navigate by symbol occurance. Vim has any feature that GUI IDEs have, just more modularized or has to be learned or activated. Vim (or in a smaller scale, Emacs) is also used in every engineering company I have ever worked for or interviewed at.
I really suggest trying them again, some time in your career future. Don't bother learning both Emacs and Vim though, just choose one. Both is likely a waste of time. Then again, if you file Linux in the same category as Vim, as many people seem to do these days, and are married to proprietary OSs, I don't think I can sway you in the near future ;)
I started using every IDE you can imagin, Eclipse, Netbeans, CodeBlocks, and some are great with embedded GUI editors and the like, especially for Java. I also hated the idea of not using a mouse too, how backwards and old school, I thought. It seems like you are evolving in the wrong direction! But then I feel in love with the power and flexibility of vim, and not having to use the mouse when coding :D. I still could if I wanted to, but then I just gradually stopped using it (for editing anyhow).
You can really make either editor "your own", and do pretty much anything you can imagine as being useful, in the context of editing and programming. Plus we need to edit Verilog, SystemVerilog, C++, C, Perl, tk, SystemC... and proprietary in house languages, and tie them all to our Automake/Makefiles this isn't possible in many IDEs, especially with syntax highlighting for all files. This is the selling point to most engineers.
Also there is no need to port CRAZY project files between the design engineers, validation engineers, firmware engineers, etc, who may wish to use many different tools. Instead, they can use what ever text editor they want and rely on tried and tested make systems (which are uniform versions across all workstations) to keep things sane. Otherwise, we'd have to version control N diff project files for N diff IDEs and the like, that would be a mess.
In the context of GBA programming. I saved myself oddles of time when I completely dropped Eclipse and Netbeans etc, as I was spending hours changing project files anytime I wanted to try a new IDE (and in some cases, only a new IDE version).
#158293 - gauauu - Sun Jun 08, 2008 9:57 pm
I'll throw my 2 cents into this IDE/vim discussion. I've been a vim fan for years, but in the past 2 years, have started really enjoying Eclipse as well.
My thoughts:
The keyboard movement for vim is the best thing ever. I also hate the mouse, and what you can do quickly in vim is amazing.
That being said, many of the tools available in eclipse are wonderful: refactoring, formatting, a smarter understanding of your entire project by the ide...it's really quite nice. Especially for big projects, where you have source files strewn out in all sorts of levels, it's much easier to navigate using Eclipse, once you learn a lot of its keyboard shortcuts. Unfortunately, there's still that whole "not being vi" thing against it.
So currently, I use a vi plugin for eclipse -- Which is buggy, not well supported, costs money, and makes me rather frustrated at times, BUT lets me use Vi keys in eclipse. It's really the best of both worlds when I'm working on large projects.
elyk1212 mentioned that vim is more configurable...which isn't entirely true. vi is more easily configurable....as Eclipse is built on a very modular plugin system, you can make eclipse do ANYTHING. But it's not necessarily as easy as scripting vim.
The other problem with Eclipse is still speed...until very recently, Eclipse was sluggish and horrible on anything but a nice powerful machine. Things have caught up enough recently that it's not so bad, but it's still a bit too much overhead for small projects, or quick-and-dirty text manipulation.
Ok, that's all.
#158296 - silent_code - Sun Jun 08, 2008 10:03 pm
May I remind you, in a very friendly voice, that it's all ok, but the topic was about finding a "good" and "simple" solution, which, I guess, emphasizes easy learning / usability over anything else?
PS: I was a Notepad junky once. :^) Mouse *editing* is beyod me (except in those rare cases, when you want to move a bigger block to a "tricky" position - I'm talking about very special cases that sometimes occur.) Workflow is at it's best, when your hands don't have to leave the keyboard. :^)
But while navigating, you're rarely working, right? :^D
You don't have to respond to that, I'm being rhetorical (I think.)
_________________
July 5th 08: "Volumetric Shadow Demo" 1.6.0 (final) source released
June 5th 08: "Zombie NDS" WIP released!
It's all on my page, just click WWW below.
#158320 - elyk1212 - Mon Jun 09, 2008 4:34 am
True true. For easy learning C/C++...prototyping etc,.... um. Maybe Dev-C++ ? I don't know for sure if they are completely ANSI C++ compliant though... not sure what IDE-compiler (mix) is under the hood. But prob ok there. Or you could use Netbeans or something, but I think there is more setup involved in that (CPP package, and you need cygwin or something). I think that combo should be ANSI C++ compliant (and mostly work with devkitARM).
Yeah if you are just learning to program, and want to be shielded from the details for awhile, Dev-C++ was what I started with many years ago. But could be many better ones out there that are easier.
#158325 - Dwedit - Mon Jun 09, 2008 5:56 am
"Dev C++" is a frontend for Mingw's GCC.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#158347 - keldon - Mon Jun 09, 2008 3:28 pm
Microsoft Visual C++ (unless I missed something against using that in the post).
#158349 - elyk1212 - Mon Jun 09, 2008 3:39 pm
keldon wrote: |
Microsoft Visual C++ (unless I missed something against using that in the post). |
Not much of an issue hopefully, but from my understanding VC++ is not 100% ANSI C++ compliant. I think he needed something portable across devkitARM and other compilers. In most cases it would be, but there are some strange things you can do in VC++ that won't compile in g++, from my understanding. For examples, I would have to search around, but I have come across them. Perhaps they are more adherent to the standard now ?
#158350 - kusma - Mon Jun 09, 2008 3:46 pm
elyk1212 wrote: |
from my understanding VC++ is not 100% ANSI C++ compliant. |
Is there any compiler out there (apart from perhaps Comeau) that is is 100% ANSI C++ compliant, really? VC++ is standard compliant enough for most practical purposes. I'm not 100% up to the latest C++ compliance stats in gcc, but VC++ was generally better at standard-compliance than GCC a couple of years ago at least.
#158351 - elyk1212 - Mon Jun 09, 2008 4:08 pm
I am not up on the newest VC++, so that could be the case on compliance, these things seem pretty dynamic (as are the standards). But do you think that gcc/g++ differ in allowable language/grammar sets? If so, should one stick with a similar set (another port of gcc/g++), if one would like to compile on gcc/g++ after prototyping? If not doing anything strange, shouldn't be too bad to port around. I am not sure, also, if porting compilers around changes the grammar they are using, but I would hope it shouldn't.
Most of the time, these things won't matter, I spose.
#158353 - gauauu - Mon Jun 09, 2008 4:23 pm
For the "easy" question (which I guess is the main topic), I'd agree that Dev-C++ is great. I personally wouldn't use it for big projects, but it's great at helping you get a working dev environment up, and doing quick one-off projects.
The other nice thing is that installing it gives you not only the mingw installation that dev-c++ can use internally, but it sets up nicely so you can use it as a compiler/toolchain from other applications (or console)
#158377 - Dwedit - Mon Jun 09, 2008 11:39 pm
Visual C++ 6.0 has some issues with the C++ language.
Friends of templated classes are declared in a different way than other compilers. Visual C++ 6.0 sometimes fails to generate warnings or errors in cases where you forget to make a 'const' version of a method, and use it with a constant reference.
Later versions probably fix the problems, but VC6 has a very snappy user interface and decent debuger.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#158379 - kusma - Tue Jun 10, 2008 1:02 am
Dwedit wrote: |
Visual C++ 6.0 has some issues with the C++ language. |
Visual Studio C++ 6.0 was released before the ANSI C++ spec. It's 10 years old, damn it :)
#158380 - elyk1212 - Tue Jun 10, 2008 3:56 am
kusma wrote: |
Dwedit wrote: | Visual C++ 6.0 has some issues with the C++ language. |
Visual Studio C++ 6.0 was released before the ANSI C++ spec. It's 10 years old, damn it :) |
He he, that's prob the version I tried. ;)
I am a big advocate for GNU tools, so don't mind me.