KSG
Check me out on the web at Visual C++ Developer Center.
Hey, I'm just your ordinary guy working in Redmond, finding ways to make Visual C++ generate faster code.
| Forum | Thread | Replies | Latest activity |
|---|---|---|---|
| Tech Off | Rewrite libraries from C - C# or C++.NET? Which one? | 4 | Jul 05, 2004 at 11:08 AM |
| Coffeehouse | Any C++ guys out there? | 12 | Apr 13, 2004 at 9:03 AM |
Route 64 - Kang Su Gatlin talks about 64-bit
Apr 05, 2005 at 9:07 AM1) Use VS2003. VS2003 installs on 64-bit Windows and will generate code that always runs on the 32-bit CLR.
2) When using VS2005 you can select that you want the assembly you're generating to be 32-bit only (the default is "ANY CPU", which will float to the 64-bit CLR if one is available).
3) Use the 32-bit C++ compilers (C++ has different compilers for targeting each platform). The 32-bit compiler runs on 64-bit Windows and will generate code that runs as 32-bit unless the user specifies /clr:safe.
Hope that helps,
Kang Su Gatlin
Visual C++ Program Manager
Kang Su Gatlin - On the 64-bit Whiteboard
Apr 01, 2005 at 2:26 PMI have the K&R C book in front of me so it's easier to quote from the reference section of the text... "If an int can represent all the values of the original type, then the value is converted to an int; otherwise the value is converted to an unsigned int. This process is called integral promotion".
Thanks,
Kang Su Gatlin
Visual C++ Program Manager
Kang Su Gatlin - On the 64-bit Whiteboard
Mar 31, 2005 at 1:44 PMNo, we actually didn't do this to get the extra bit. It's because C/C++ standard says that sign + usign is unsign, and thus when we add an unsigned value to a pointer we don't sign-extend (as the value is not negative), but we would sign extend if the type was signed.
Now maybe what you mean is that we should just always treat 64bit integral values as signed. The problem with that is that there are 64-bit types besides pointers (such as __int64) and you want to make sure that properies that people may expect with unsigned values are preserved.
Such as, for all bit representation x, (if x != 0) => x > 0.
Thanks,
Kang Su Gatlin
Visual C++ Program Manager
Route 64 - Kang Su Gatlin talks about 64-bit
Mar 31, 2005 at 12:55 PMA couple of years later the web had caught on, and shipping a CD-ROM in the mail for this type of digital content almost seems foolish to have considered.
When I first saw the web in ~1993 the feedback from a lot of people was, why would I use this when I have FTP, archie, gopher, etc...? This web thing doesn't seem to add much value, plus there's WAY more content over FTP. How many people even know what gopher, archie, veronica are today (much less even used it)?
I personally think GPS (or location tracking in general) is going change the world in a drastic way in the next decade. As well as 64-bit
Kang Su Gatlin
Visual C++ Program Manager
Kang Su Gatlin - On the 64-bit Whiteboard
Mar 31, 2005 at 12:47 PMHope that helps.
Thanks,
Kang Su Gatlin
Visual C++ Program Manager
Route 64 - Kang Su Gatlin talks about 64-bit
Mar 29, 2005 at 3:33 PM1) You say that CLR code will run fine is no surprise, and you justify it by saying that .NET is the platform and not x64/Itanium. All correct, but nevertheless not necessarily obvious. This requires some understanding of what is in metadata, and what is not.
2) I do hope people watching Channel9 know better, but you'd be surprised. In the same way that there are a lot of developers that don't understand that 64-bit code could potentially make your app slower.
3) I'd have to look back at what I meant by that comment, but I imagine it was meant to refer to assembly code, where reading x64 assembly is like reading x86 assembly. If you're looking at C, then you're looking at C. Of course if you're reading Itanium code, it's a whole different ballgame -- or do you think most x86 wizards could parse Itanium code with the same efficiency.
Why am I so hyped about 64-bit? Well from the developer side of the world it's absolutely going to be critical. LTCG is the way of the future,and the main issue with LTCG is memory pressure. I'd say in less than a few years having 8GB of RAM for devs will be a must have (unless you don't plan on ever doing LTCG builds).
And with respect to development the only way you free memory is because you're going to run out of it. Lets take memory to the extreme and say you have 2^64 bits of memory. Based on my current usage (lets say I consume 32TB/day, which is a LOT), I could turn on my computer today and never have to free memory over the course of my lifetime. Forget about garbage collection -- the garbage man disappears altogether.
On the desktop, the fact that I have to ever shutdown an application is annoying, and is largely a memory issue. Another example is something as simple as gaming. Right now physics are totally faked, but if you want to do real finite-element analysis over complex meshes, well you'll likely suck up as much memory as there is in the system (can you accurately simulate physics any faster than the real world -- do how many bits of data do you need to accurately do it -- every bit in the universe?). Another example of media is what is now passive media, such as TV. We currently watch streaming video, but it's much cooler to send models (as in games), do the rendering in real-time and create a world where you control the camera (and where in a show like "24" you can watch whatever part of the world you want).
I'm certainly not a visionary, so I don't claim these to necessarily be great ideas, but things that I would be excited about.
Anyways, I'd love to chat more, and attempt to be less vapid
KSG
Route 64 - Kang Su Gatlin talks about 64-bit
Mar 29, 2005 at 1:54 PMKSG
Route 64 - Kang Su Gatlin talks about 64-bit
Mar 29, 2005 at 1:53 PMThe bad news is that I don't know of any emulator to run the code in. You need a 64bit machine to run 64-bit code.
The good news though is that we're just about to ship 64-bit Windows for x64 (like in days), and x64 machines cost pretty the same as 32-bit machines (and you can dual boot 32-bit and 64-bit OS, plus the 64-bit OS will run virtually all of your existing 32-bit apps).
Hope that helps.
Kang Su Gatlin
Visual C++ Program Manager
Route 64 - Kang Su Gatlin talks about 64-bit
Mar 28, 2005 at 8:19 PMKSG
Zoe Goldring and Gretchen Ledgard - What is it like to interview at Microsoft?
Dec 02, 2004 at 4:10 PM<p>
If you have an interview, good luck!
Thanks,
KSG
See more comments…