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

📄 co-msc.lnt

📁 PC_LINT8_w,经过测试
💻 LNT
字号:
//    co-msc.lnt
//    Compiler Options for Microsoft C Version 8.0 and earlier

-cmsc

//    This file contains options to allow PC-lint to process source
//    files for your compiler.  It is used as follows:
//
//    lint  co-msc.lnt  source-file(s)
//

-d_M_IX86=200   // assume Intel 80286 architecture -- modify to suit
        // We now support __declspec directly so that the following
        // option is now commented out.  If trouble ensues you can
        // once again disable __declspec through this option.
        // -d__declspec()= // ignore this construct
-d_declspec=__declspec  // the single '_' version is occasionally used

            // while processing compiler (library) header files ...
-wlib(1)    // sets the warning level within library headers to 1
	    // (no warnings, just syntax errors).  Comment out if you
	    // are actually linting library headers.  This
	    // option makes obsolete options of the form -elib(axxx) where
	    // xxx >= 400 which may be retained for historical reasons.
-elib(652)  // suppress message about #define of earlier declared symbols
-elib(762)  // suppress message about multiple identical declarations and
-elib(760)  // suppress message about multiple identical macro defs
-elib(514)  // allow #if <boolean> | <boolean>
-elib(553)  // undefined preprocessor variables assumed 0

        // If you're programming MS Windows set the option
        //  +e934 to report passing short auto pointers as arguments
        // See Petzold, Windows 3.0, pp 897-902
        // You might also want to set the option: -printf(w2,wsprintf)
        // It makes wsprintf like sprintf except that pointers have
        // to be far.

//  SREGS, WORDREGS, BYTEREGS are defined in both bios.h and dos.h
//  and accordingly you MAY get type differences based on 'origin'.
//  If so, use the following options:
//      -etd(origin)
//      -elib(770)

-format=%(%f(%l)\s:\s%)%t\s%n:\s%m
        // error format similar to MSC
        // Note that %c can also be used to specify column
-e46    // allows bit-fields to be other than int or unsigned
+fan    // allow anonymous unions
+fdi    // Use directory of the including file
-fdh    // do not append a .h to header names
-ffb    // do not establish a separate scope for declares within for clauses
-esym(123,min,max)  // allows users to use min, max as variables
-d_MSC_VER=700  // The version number of Microsoft C, for C6 make this 600
                // For Visual C++ make it 800
-u__STDC__      // Needed for C 7.00 to allow use of open, close, etc.
+rw(__inline)   // activate the __inline keyword
-d_inline=__inline  // _inline is the same as __inline
-sld10          // sizeof(long double) is 10.
-function(exit,_exit)   // _exit() is like exit()
-function(exit,_assert)   // _assert() is like exit()
-emacro(734,putc)   // don't complain about items being too large.
-emacro(415,FP_SEG)  // access of out-of-bounds pointer
-emacro(740,FP_SEG,FP_OFF)  // unusual casts
-emacro(413,offsetof)  // use of NULL pointer creates a stir
-emacro(545,offsetof)  // addressing an array member is OK
-e793           // inhibit 'ANSI limit reached' --
		// limits are impractically low with MSVC headers
-esym(773,L_tmpnam)     // defined with an unparenthesized '+'
-esym(773,va_start,va_end,SIG_ERR) // defined with exposed operators.
-emacro((???),va_arg)   // the va_arg() macro can yield 415, 416, 661, 662
			// 796 and 797 (out-of-bounds errors).

//  The following functions exhibit variable return modes.
//  That is, they may equally-usefully be called for a value
//  as called just for their effects.  Accordingly we inhibit
//  Warning 534 for these functions.
//  Feel free to add to or subtract from this list.

-esym(534,close,creat,fclose,fflush,_flsbuf,fprintf,fputc)
-esym(534,fputs,fscanf,fseek,fwrite,lseek,memcpy,memmove,memset)
-esym(534,printf,puts,scanf,sprintf,sscanf,strcat,strcpy)
-esym(534,strncat,strncpy,unlink,write)


// The following options are required by most compilers to
// noiselessly process iostream.h

-elib(1717) //empty prototypes
-elib(522) //function return value ignored
-elib(1053) //prototypes cannot be distinguished
-elib(1721) //unusual operator =() declaration
-elib(1720) //assignment op has non-const parameter
-elib(655)  // bitwise operator combining compatible enum's
-elib(641)  // converting enum's to int
-elib(537)  // repeated include file (ios.h)
-elib(1511) // member (rdbuf) hides nonvirtual member
-elib(1712) // default constructor not defined for class
-elib(1736) // redundant access specifier
-esym(1702,operator<<,operator>>)  // both a member and an ordinary function

// These functions return things that are frequently ignored.

-esym(534,ostream::operator<<,istream::operator>>)

// The following additional options seem to be needed.

-elib(620) // el or one? (some constants end in 'l' not 'L')
-elib(648) // overflow in computing constant (3<<16)
-elib(659) // nothing follows '}' on some line
-elib(723) // suspicious use of '='
-elib(747) //significant prototype coercion
-elib(740) //unusual pointer casts
-elib(1007) // virtual functions within extern "C" block
-elib(1029) //default argument repeated -- can't dist. char, signed char
-elib(1055) //call to rdbuf() questioned?
-elib(1504) // apparently useless structs
-elib(1708,1709) // minor C/C++ declaration conflict
-elib(1707) // operator new declared w/o 'static'
-elib(1722) // assignment op does not return reference
-elib(149)  // default argument found in C code.
-elib(578)  // declaration of time hides delaration of global time().
-elib(761)  // two equivalent typedef declarations
-elib(1065)  // same name declared as "C" and not "C"
-elib(1066)  // same name declared as "C" and not "C"
-elib(1704)   // constructor with private access declaration
-elib(1735)   // default parameter within virtual function
-elib(1748)     // non-virtual base class included twice
-elib(1759)     // post-fix operator returns a reference

// Special Notice:  You may be receiving mysterious 1058 errors
//   when you use "iomanipulator"s.  For example:
//   cout << setw(4) << 4;
//   results in Error 1058 (assigning a const to a ref) because the
//   manipulator setw returns a non-lvalue which is assigned to a reference.
//   This reflects an oversight in the Microsoft header file: iomanip.h
//   Therein you may change the declaration:
//     friend ostream& operator<<(iostream& s, IOMANIP(T) & sm) { ...
//   to:
//     friend ostream& operator<<(iostream& s, const IOMANIP(T) & sm) { ...
//   to reflect the fact that sm is not modified by this function.

⌨️ 快捷键说明

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