KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q84786: MPC MP1010 or MP4002 Error, No P-Code in Application

Article: Q84786
Product(s): Microsoft Programming Utilities
Version(s): MS-DOS:7.0,8.0
Operating System(s): 
Keyword(s): kb16bitonly
Last Modified: 30-OCT-1999

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Make P-Code Utility for MS-DOS and Windows, versions 7.0, 8.0 
-------------------------------------------------------------------------------

SUMMARY
=======

The MAKE P-CODE utility (MPC) is required to make a p-code executable or a
dynamic-link library (DLL) usable. Different messages are displayed if MPC is
run on an executable that does not contain p-code, depending on whether the .EXE
is targeted for MS-DOS or Microsoft Windows.

When MPC is run on a Windows executable or DLL that does not contain p-code, the
following warning is produced:

  warning MP4002: file contains no p-code : 'filename'

However, when MPC is run on an MS-DOS executable that does not contain p-code,
the following error is produced:

  fatal error MP1010: 'filename' is not a segmented executable file

MORE INFORMATION
================

Windows executables are always segmented. A typical MS-DOS executable is
non-segmented. However, compiling an MS-DOS application with /Oq and linking
with /PCODE produces a segmented executable. Therefore, MPC expects a segmented
executable as input. An MS-DOS executable without p-code is not a segmented
executable, hence the MP1010 error.

The final MS-DOS p-code executable produced by MPC is not segmented, even though
the non-runnable version produced by the linker is segmented. Therefore, the
MP1010 error may also be generated by MPC if it is passed a runnable MS-DOS
p-code executable as input.

Additional query words: kbinf 7.00 8.00 pcode

======================================================================
Keywords          : kb16bitonly 
Technology        : kbAudDeveloper kbZNotKeyword2 kbMakePCode kbZNotKeyword3 kbMakePcode700 kbMakePcode800
Version           : MS-DOS:7.0,8.0

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.