⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 diffs.gml

📁 开放源码的编译器open watcom 1.6.0版的源代码
💻 GML
📖 第 1 页 / 共 5 页
字号:
Version 2.52b of the 16-bit MFC is included in the package.
.endbull
.*
.section Changes in Microsoft Win32 SDK Support for 11.0
.*
.begbull
.bull
The Win32 SDK is supported for Windows 95 and Windows NT platforms.
.endbull
.*
.section Changes in Blue Sky's Visual Programmer for 11.0
.*
.begbull
.bull
A new 32-bit version of Visual Programmer is included in the package.
This version runs on 32-bit Windows 95 and NT.
The 16-bit version of Visual Programmer is no longer included in the
package.
.bull
You can generate 16-bit applications with it, but you must be careful
to avoid using Win95 controls.
.bull
This new version fixes all known bugs in the previous version.
.endbull
.*
.endlevel
.*
.do end
.*
.if &version ge 106 .do begin
.*
.section Changes in 10.6 that may Require Recompilation
.*
.begnote
.note _diskfree_t
The struct members of the _diskfree_t structure has been changed from
UNSIGNED SHORTs to UNSIGNED INTs. This is to deal with possible HPFS
partitions whose size will overflow a short, as well as Microsoft
compatibility.
.note clock()
The
.kw clock
function accuracy has changed from 100 ticks per second to 1000 ticks
per second (i.e.,
.kw CLOCKS_PER_SEC
has changed).  Source code that
uses the
.kw clock
function and
.kw CLOCKS_PER_SEC
in its calculations must be recompiled before linking the application
with new libraries.
.endnote
.*
.section Major Differences from Version 10.5
.*
.np
The following sections summarize the major differences from the
previous release of Watcom &lang..
.*
.beglevel
.*
.section Windows 95 Help File Format
.*
.np
We have included Windows 95 format help files.
.*
.section Changes to the C++ Compiler in 10.6
.*
.np
We have improved Microsoft compatibility so that Win32 SDK and MFC
header files can be compiled without change.
The following changes were required to support Win32 SDK header files.
.begbull
.bull
We recognize the single underscore versions of
.mono __stdcall,
.mono __inline,
and
.mono __fastcall
keywords.
.bull
The
.mono _fastcall
and
.mono __fastcall
keywords are scanned but ignored since they refer to a particular
Microsoft code generation technique.
&company's generated code is always "fast".
.endbull
.np
The following changes were required to support MFC source code.
.begbull
.bull
When /bt=DOS is specified, define
.mono _DOS.
.bull
When /bt=WINDOWS is specified, define
.mono _WINDOWS.
.bull
When /m[s|m|c|l|h] is specified, define
.mono __SW_M[S|M|C|L|H]
and
.mono _M_I86[S|M|C|L|H]M.
.endbull
.np
The compiler now supports the C++ Standard Template Library (STL).
This library is available at the ftp site "butler.hpl.hp.com".
When compiling applications that use the STL, you must use the
"hd" compiler option for debugging info (the "hw" option causes
too much debug information to be generated).
.*
.section Changes to the C Compiler in 10.6
.*
.np
We have improved Microsoft compatibility so that Win32 SDK and MFC
header files can be compiled without change.
The following changes were required to support Win32 SDK header files.
.begbull
.bull
Support for the single underscore version of the
.mono __stdcall
keyword.
.bull
When /bt=DOS is specified, define
.mono _DOS.
.bull
When /bt=WINDOWS is specified, define
.mono _WINDOWS.
.endbull
.np
The following changes were required to support SDK sample code.
.begbull
.bull
You can specify calling convention information in a function prototype
and you do not have to specify the same information in the definition.
(Note: This is required by the OS/2 Warp SDK samples.)
.bull
Structured exception handling is supported (
.ct
.mono __try,
.mono __except
and
.mono __finally
keywords).
.bull
Allow initialization of automatic array/struct data using variables
and function calls.
.endbull
.*
.section Changes to the C Library in 10.6
.*
.np
The following new functions were added to the library.
.begnote
.note _getw
read int from stream file
.note _putw
write int to stream file
.endnote
.np
The
.kw clock
function accuracy has changed from 100 ticks per second to 1000 ticks
per second (i.e.,
.kw CLOCKS_PER_SEC
has changed).
.*
.section Changes in Microsoft Foundation Classes Support for 10.6
.*
.begbull
.bull
Version 3.2 of the 32-bit MFC is included in the package.
.bull
Version 2.52b of the 16-bit MFC is included in the package.
.endbull
.*
.section Changes to the Image Editor in 10.6
.*
.begbull
.bull
Support has been added for 256 colour bitmaps.
.bull
Support has been added for 16 X 16 icons.
.bull
Support has been added for 48 X 48 icons.
.endbull
.*
.section Changes to the Dialog Editor in 10.6
.*
.begbull
.bull
Support has been added for Windows 95 controls.
.bull
Support has been added for adding new control styles to existing
controls.
.bull
Support has been added for new dialog styles.
.bull
Support has been added for allowing help IDs to be specified in dialog
and control statements.
.bull
Support has been added for generating new resource statements in .RC
files.
.endbull
.*
.section Changes to the Resource Editor in 10.6
.*
.begbull
.bull
Support has been added for new Windows 95 DIALOGEX resource type.
.bull
Support has been added for generating new DIALOGEX resource statements
in .RC files.
.endbull
.*
.section Changes to the Resource Compiler in 10.6
.*
.begbull
.bull
Support has been added for extended styles for dialogs.
.bull
Support has been added for the RCINCLUDE keyword.
.endbull
.*
.endlevel
.*
.do end
.*
.section Major Differences from Version 10.0
.*
.begbull
.bull
New installation program
.if &e'&beta eq 0 .do begin
.bull
&vpname for Windows (MFC) applications
.do end
.bull
MFC 3.0 support
.bull
Native C++ exception handling support
.bull
Improved language compatibility with Microsoft
.bull
Browser can now be used to browse C code
.bull
OS/2 3.0 Warp support
.bull
Toolkit for OS/2 1.3
.bull
Windows NT 3.5 support
.bull
Toolkit for Windows NT 3.5
.bull
Windows 95 (Chicago) support
.bull
Source Revision Control System hooks in editor
.bull
TCP/IP remote debug servers for OS/2 and Windows NT/95
.endbull
.np
In addition to these new features, we have also made a number of
improvements to the software.
.autonote
.note
The editor is more tightly integrated with the IDE.
.note
It is now easier to select your own favourite editor from the IDE.
.note
The keyboard interface in the Integrated Development Environment (IDE)
has been improved.
.note
The "fr" option, which is supported by the compilers & assembler,
can be used to name the error file drive, path, file name and/or
extension.
.note
We have added the "t<number>" option to the C++ compiler to set the
number of spaces in a tab stop (for column numbers in error messages).
.note
The C compiler now supports @filename on the command line like the C++
compiler currently does.
.note
The "__stdcall" linkage convention has changed.
All C symbols (extern "C" symbols in C++) are now suffixed by "@nnn"
where "nnn" is the sum of the argument sizes (each size is rounded up
to a multiple of 4 bytes so that char and short are size 4).
When the argument list contains "...", the "@nnn" suffix is omitted.
This was done for compatibility with Microsoft.
Use the "zz" option for backwards compatibility.
.note
The 32-bit "__cdecl" linkage convention has changed.
Watcom &lang 10.0 __cdecl did not match the Microsoft Visual C++ __cdecl
in terms of the binary calling convention; Visual C++ saves EBX in a
__cdecl function but Watcom &lang 10.0 modified EBX.
Watcom &lang has been changed to match Visual C/C++.
.np
If you wrote a "__cdecl" function in an earlier version of Watcom &lang,
the EBX register was not saved/restored.
Starting with release 10.5, the EBX register will be saved/restored
in the prologue/epilogue of a "__cdecl" function.
.np
Another implication of this change is that "__cdecl" functions
compiled with an earlier version of Watcom &lang don't match the calling
conventions of the current version.
The solution is either to recompile the functions or to define a
"__cdecl_old" pragma that matches the old calling conventions.
.millust begin
#pragma aux __cdecl_old "_*" \
            parm caller [] \
            value struct float struct routine [eax] \
            modify [eax ebx ecx edx];

#pragma aux (__cdecl_old) foo;

extern int foo( int a, int b );

void main()
{
    printf( "%d\n", foo( 1, 2 ) );
}

.millust end
.note
We now allow:
.millust begin
extern "C" int __cdecl x;
.millust end
.np
It must be
.id extern "C"
for
.id __cdecl
to take effect since variables have their type mangled into the name
for "C++" linkage.
.note
In C++, we have removed the warning for "always true/false"
expressions if the sub-expressions are constant values.
.note
We have added support for:
.millust begin
#pragma pack(push,4);
#pragma pack(push);
#pragma pack(pop)
.millust end
.note
We have added support for:
.millust begin
#pragma comment(lib,"mylib.lib")
.millust 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -