Re: My predictions for 2004-2005

From: Will DeWitt Jr. (edge_at_boink.net)
Date: 04/05/04


Date: 5 Apr 2004 07:58:23 -0800

Arthur Hoornweg wrote:

> Sorry, you're dead wrong here. You can already download
> the 64-bit beta version of WinXP/AMD on Microsoft's
> site.

FYI: You can also get a copy of Windows Server 2003 compiled for AMD64.

> Announced, yes, but so far it's vaporware. No chips in sight,
> no motherboards in sight. Windows XP/64 is going to be ready
> before Intel have their stuff ready. Eight months to go before
> christmas and the clock is ticking...

Xeons (Nocona) released in Q2/2004 are supposed to sport IA-32e (aka
AMD64) technology. Prescotts in I believe it's either Q3/2004 or
Q4/2004 are supposed to have IA-32e as well-- the former should work in
a regular Xeon socket, while the latter should work in Intel's new
Socket T (LGA 775).

> Microsoft already uses the 64-bit C++ compiler internally to
> compile Windows XP/64. The code name of the product is "Whidbey".
> See:
> http://msdn.microsoft.com/vstudio/productinfo/roadmap.aspx#language

Microsoft already has an AMD64 Visual C++ compiler out, it's included
for free with the Windows Server 2003 DDK--

I:\NTDDK\3790\bin\win64\x86\amd64>cl -?
Microsoft (R) C/C++ Optimizing Compiler Version 14.00.2207 for AMD64
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

                          C/C++ COMPILER OPTIONS

                              -OPTIMIZATION-

/O1 minimize space /Op[-] improve floating-pt
consistency
/O2 maximize speed /Os favor code space
/Ob<n> inline expansion (default n=0) /Ot favor code speed
/Od disable optimizations (default) /Ox maximum opts. (/Ogityb1
/Gs)
/Og enable global optimization /Oy[-] enable frame pointer
omission
/Oi enable intrinsic functions

                             -CODE GENERATION-

/GA optimize for Windows Application /GH enable _pexit function call
/GD optimize for Windows DLL /GR[-] enable C++ RTTI
/Gf enable string pooling /GX[-] enable C++ EH (same as
/EHsc)
/GF enable read-only string pooling /EHs enable C++ EH (no SEH
exceptions)
/Gy separate functions for linker /EHa enable C++ EH (w/ SEH
exceptions)
/Ge force stack checking for all funcs /EHc extern "C" defaults to
nothrow
/Gs[num] disable stack checking calls /Gm[-] enable minimal rebuild
/Gh enable _penter function call /GL enable link-time code
generation
/clr[:noAssembly] compile for the common language runtime
    noAssembly - do not produce an assembly

                              -OUTPUT FILES-

/Fa[file] name assembly listing file /Fo<file> name object file
/FA[sc] configure assembly listing /Fp<file> name precompiled
header file
/Fd[file] name .PDB file /Fr[file] name source browser
file
/Fe<file> name executable file /FR[file] name extended .SBR
file
/Fm[file] name map file

                              -PREPROCESSOR-

/AI<dir> add to assembly search path /Fx merge injected code to file
/FU<file> forced using assembly/module /FI<file> name forced include
file
/C don't strip comments /U<name> remove predefined
macro
/D<name>{=|#}<text> define macro /u remove all predefined macros
/E preprocess to stdout /I<dir> add to include search
path
/EP preprocess to stdout, no #line /X ignore "standard places"
/P preprocess to file

                                -LANGUAGE-

/Zi enable debugging information /Zl omit default library name
in .OBJ
/Z7 enable old-style debug info /Zg generate function
prototypes
/Zd line number debugging info only /Zs syntax check only
/Zp[n] pack structs on n-byte boundary /Zx debuggable optimizations
/Za disable extensions (implies /Op) /vd{0|1} disable/enable
vtordisp
(press <return> to continue)
/Zc:forScope Standard C++ for scoping /vm<x> type of pointers to
members
/Ze enable extensions (default)

                              -MISCELLANEOUS-

@<file> options response file /w disable all warnings
/?, /help print this help message /W<n> set warning level
(default n=1)
/c compile only, no link /Wall enable all warnings
/H<num> max external name length /WX treat warnings as errors
/J default char type is unsigned /WL enable one line diagnostics
/nologo suppress copyright message /Wp64 enable portability
diagnostics
/Tc<source file> compile file as .c /Yc[file] create .PCH file
/Tp<source file> compile file as .cpp /Yd put debug info in every
.OBJ
/TC compile all files as .c /Yu[file] use .PCH file
/TP compile all files as .cpp /YX[file] automatic .PCH
/V<string> set version string /Zm<n> max memory alloc (% of
default)

                                 -LINKING-

/MD link with MSVCRT.LIB /MDd link with MSVCRTD.LIB
debug lib
/ML link with LIBC.LIB /MLd link with LIBCD.LIB debug
lib
/MT link with LIBCMT.LIB /MTd link with LIBCMTD.LIB
debug lib
/LD Create .DLL /F<num> set stack size
/LDd Create .DLL debug library /link [linker options and
libraries]

I:\NTDDK\3790\bin\win64\x86\amd64>

----------

> Porting MSOffice to .NET just for the sake of .NET makes little
> sense. Too many existing applications depend on the COM
> interfaces in Office.

Agreed. Not to mention the performance hit associated with moving to
.NET (and the fact that so much of their code would be opened up due to
reflection-- where it's somewhat difficult now to reverse engineer
Office, it'd be a breeze if it were based totally on .NET). The only
reason I could see them moving to .NET would be to try and quell
developers fears about .NET being abandoned (afterall, if Microsoft is
moving their #1 cash cow to .NET, they surely wouldn't dump it in a few
years).

> > Isn't that already happening?
>
> No. The open source community is developing a Linux version
> of Dotnet AKA Mono. What I'm talking about is a C# compiler
> that produces native 32 or 64 bit code rather than MSIL.

I thought I'd heard or read about a company or group doing up an x86
native C# compiler, but I could be wrong. It would be nice to have
though.. too bad Borland C#Builder missed the boat on that.

Will

-- 
Want a 64-bit Delphi compiler for AMD64 / IA-32e?  Vote here--
http://qc.borland.com/wc/wc.exe/details?reportid=7324


Relevant Pages

  • Re: Microsoft and 64 bits
    ... AMD has been shipping AMD64 ... multiple revisions of it's C++ compiler released that can target AMD64 ... Microsoft C/C++ Optimizing Compiler Version 14.00.2207 for AMD64 ... Copyright Microsoft Corporation 1984-2002. ...
    (borland.public.delphi.non-technical)
  • Re: Breaking the 2GB barrier
    ... compiler only emits X86 code. ... memory, provided that you have set the LARGEADDRESSAWARE header flag. ... The Windows Server is setup with the /3GB switch. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Win-64 bit tcl84.dll and tcl84.lib
    ... Fetch the Platform SDK for Windows Server 2003 R2 which handily ... contains a AMD64 version of the MSVC++ 2005 compiler. ... Environment window for a 64 bit retail target and build tcl and tk. ... them by setting INSTALLDIR on the nmake command line. ...
    (comp.lang.tcl)
  • Re: Fastcode IntToStr32 Benchmark Stability Journal
    ... Dennis wrote: ... > Compiler used: Delphi2005 ... > Windows version: Windows Server 2003 ... On Opteron there was the problem only with v0.007. ...
    (borland.public.delphi.language.basm)
  • TCL on Win64 for AMD64 with VS.NET 2005 beta 2?
    ... Due to some issues we've had with the Windows Server 2003 Platform SDK ... compiler, I'm using the 64 bit C++ compiler that's part of Visual Studio ... Senior Software Developer ...
    (comp.lang.tcl)