Secret Windows settings Microsoft doesn't want you to know about...



  • @asuffield said:

    @Thief^ said:

    I was actually talking about for C++ development, I sometimes forget that VS is for all the languages. I personally love C#, and use it occasionally at home, but it would be very difficult to use it to do my job.

    I've tried some of the C++ IDEs for linux, and none of them hold a torch to VS. That's not saying that there isn't one, just that it wasn't one that I'd tried.

    Windows users never do get it. The very concept of what you're looking for runs counter to the basic design of unix platforms. It's like you're a boy scout, used to working with one of those pocket knives with fifty different implements stuffed into them; when confronted with a real wrench from a mechanic's toolbox, you find it inadequate because it does so little, and wonder why anybody would ever use it.

    A UNIX wrench would be a crescent wrench that would require you to properly align 25 different knobs and buttons before you could successfully turn a bolt.  It would come with instructions inside a hollowed out part of the handle; but those instructions would be in 25 different parts, written in 25 different languages, and the package the wrench came in would offer no hint that they were even there.



  • @Random832 said:

    @asuffield said:

    Your linker sucks. There is no good reason for that to happen. The C and C++ object formats and ABIs were very carefully designed so that linkers can be implemented in a way that won't ever do this - they can run disk to disk, never holding more than a few kilobytes in memory (although typically they carry the entire symbol table in memory for better performance; that should be no more than a few hundred kb). Sadly, most linkers suck, far worse than the compilers, which are pretty buggy to start with. You are probably looking at a really stupid bug.

    What C (and especially C++) "object format and ABI" isn't tied to a specific platform? For C I guess there's the System V ABI, but... C++? I can imagine an implementation of templates that requires something that could be termed "link time code generation".

    While there are variations on different platforms, they all stem from common roots. Note that ELF is directly derived from COFF, and PE really just is COFF with different headers. The basic design is the same to the point where they've all inherited this feature. As far as this aspect is concerned, there's no difference between C++ and C, and most linkers have no special support for C++ beyond a name mangler. Template instantiation in C++ is a compiler operation - a linker can't do it, because it requires recompiling the template function definitions. A handful of C++ compilers include something they call a 'prelinker' for templates, which is actually just another way to run the compiler.

    The function of a C linker is remarkably simple once you dig past all the undocumented features and arcane historical nonsense in object formats. It basically copies data from the source objects to the target object (possibly with minor modifications), and builds some tables along the way. All the magic is in the design of the ABI that makes this possible.



  • Sorry ... I apologise in advance ...

    The same screenshot taken in Vista ...

     Vista Hidden Options



  • Regardless of anything else, I'd trust "Add ___ features" about as much as "Would you like Outlook Express to delete some messages for you?"



  • @marble said:

    Sorry ... I apologise in advance ...

    The same screenshot taken in Vista ...

    LOL! That's awesome. Just needs a bit of pixel tweaking around the window edges (and enable Aero Glass or whatever it's called)



  • I've tried some of the C++ IDEs for linux, and none of them hold a torch to VS. That's not saying that there isn't one, just that it wasn't one that I'd tried.

    I tried a bleeding edge version of CodeBlocks a while ago, and it seemed quite good. They have daily snapshots of the latest SVN version available as a Ubuntu package (may also work on Debian), or as source code (tar.gz file).
    Please note that I know absolutely nothing about C or C++, other than its syntax (I mainly do web development in PHP, and its syntax is very similar to that of C. Also, functions like printf() are similar as well.) I installed it mainly to play around with it, and it seemed fine.

    http://www.codeblocks.org/

Log in to reply