env-vc6.lnt
上传用户:filter2008
上传日期:2010-03-12
资源大小:2959k
文件大小:6k
源码类别:

编辑器/阅读器

开发平台:

C/C++

  1. /*
  2.     env-vc6.lnt: environment parameters for Microsoft's Visual C++ 6.x
  3.     If you are using the Microsoft Developer Studio and you wish to invoke
  4.     PC-lint from that environment then add one or more commands to the
  5.     Tools menu as follows.
  6.     Unit Checkout
  7.     -------------
  8.   
  9.     For example, to add a unit check-out facility to the tools menu do
  10.     the following:
  11.     1.  From the Tools Menu choose "Customize ..."
  12.         The Customize ... Dialog Box appears
  13.     2.  Select the "Tools" tab
  14.     3.  In the  "Menu Contents" box, cursor down to the bottom where
  15.         you see an open rectangle.  Click on this line which will enable
  16.         you to enter in a label that will identify the tool.
  17.         Type "PC-lint (unit check)" or equivalent and hit Enter.
  18.     4.  You will now be able to edit the fields of this Tool.
  19.         Modify them so that they approximate the following:
  20. Command:        C:LINTLINT-NT.EXE
  21.     Arguments:      -i"C:LINT" -u std.lnt env-vc6.lnt "$(FileName)$(FileExt)"
  22. Init. Directory $(FileDir)
  23. X_Use Output Window __Prompt for arguments __Close window on exit
  24.     5.  Select Close to return to the main environment.
  25.     This will result in the Tools menu containing the additional item
  26.     "PC-lint (unit check)".  Checking 'X' on 'Use Output Window' is
  27.     important because in this way you can advance from error to error
  28.     using the F4 key (Shift F4 to reverse) or, less handily, using the
  29.     "Next Error" ("Prev Error") entries in the "Search" menu.
  30.     You probably want to advance your new tool upward into the initial
  31.     position of all tools while you are testing and modifying the command.
  32.     You can do this by using the stylized up-arrow button that appears
  33.     on the Tools dialog.
  34.     Note that by providing an "Initial Directory" and a local
  35.     "$(FileName)S(FileExt)" the containing directory can have a std.lnt that
  36.     overrides the global std.lnt.  Also file-names in messages are not so long.
  37.     HOWEVER, you may need to use $(FilePath) in place of $(FileName)$(FileExt)
  38.     if the files are in a directory other that FileDir.  If they are then
  39.     use of $(FileName) will render Visual Studio incapable of locating
  40.     the files when bouncing from message to message.
  41.     *Caution* -- You MUST have parentheses with $(Filename)$(FileExt) and
  42.     $(FileDir) or you will receive an incomprehensible diagnostic.
  43.     Historically, you did not always need parentheses with VC++, so people have
  44.     made this mistake.
  45.     Project Check
  46.     -------------
  47.     You will probably want to create a second item on the Tools menu
  48.     called "PC-lint (project check)".  For this tool follow the steps
  49.     1-5 doing exactly the same thing as above except in step 4, the
  50.     information entered should be:
  51. Command:            C:LINTLINT-NT.EXE
  52.     Arguments           -i"C:LINT" std.lnt env-vc6.lnt project.lnt
  53. Initial Directory   $(FileDir)
  54.     This will require that the file that you are currently editing reside
  55.     in a directory that contains a file called 'project.lnt'. This file
  56.     you will create and maintain yourself; it is a list of the names of
  57.     the modules (all files except headers) in your project.
  58.     Such a list can usually be prepared with the help of the DIR command.
  59.     For example, the following batch command will produce a list of all
  60.     the .CPP files within a directory:
  61.     DIR /b *.cpp >project.lnt
  62.     If you are using full path names in your visual environment, in order
  63.     to use the F4 key to bounce to the next error you should give an option
  64.     to PC-lint to produce full file names.  The option you will need is:
  65.     +ffn
  66.     If your project spans multiple directories or if multiple
  67.     projects fit within a single directory the above simple-minded project
  68.     linting scheme will not work.  Rather do the following.
  69.     In step 4 enter:
  70. Command:            C:LINTLINT-NT.EXE
  71.     Arguments           +ffn -i"C:LINT" std.lnt env-vc6.lnt $(WkspName).lnt
  72.     Initial Directory   $(WkspDir)
  73.     The WkspDir is only slightly misnamed.  It is actually the project
  74.     directory and contains a file called NAME.dsp where NAME is the project
  75.     name.  You will have to create a file NAME.lnt bearing the names of your
  76.     modules relative to the project directory.  The best way of capturing the
  77.     names is to use PC-lint itself.
  78.     C:LINTLINT-NT  NAME.dsp >NAME.lnt
  79.     where, again, NAME is the name of the project.
  80. If you are working with a Workspace containing multiple Projects 
  81. use the following commands for converting .dsp's to .lnt's:
  82. Command:            C:LINTLINT-NT.EXE
  83. Arguments:          -v -os(project.lnt) $(WkspName).dsp
  84. Initial Directory:  $(WkspDir)
  85. You will need to set a project as the active project before you can convert 
  86. its .dsp to a .lnt.  To do so, select Project from the menu bar, then select 
  87. Set Active Project and choose a Project.  You then click the newly added 
  88. conversion tool on the tools menu and then lint the project.
  89.     Tool Bar
  90.     --------
  91. You also have the option of creating a PC-lint toolbar for your Visual C++ 
  92.     IDE.  First create one or more tools as described above.  Then, look at
  93.     the Tools menu and make note of the icon(s) next to the menu item(s).
  94.     It's usually a subscripted hammer; remember the subscript(s).
  95.     Choose Customize from the Tools menu and select the Toolbars tab.
  96.     Select New... and provide Visual C++ with the toolbar name "PC-lint".
  97.     Confirm that the checkbox next to this name is selected.  Click the
  98.     Commands tab.  In the drop-down box labelled Category, choose Tools.
  99.     Drag the icon(s) corresponding to the PC-lint menu item(s) to your
  100.     toolbar.  Click Close and you now have your own PC-lint for C/C++ button.
  101.     (Note: If you change the location of the PC-lint menu item on the Tools
  102.     menu, you will change the subscript and you will need to change the
  103.     button(s) on the toolbar.)
  104.  */
  105. -"format=%(%F(%l):%) error %n: (%t -- %m)"     //  Messages will contain
  106. //  file information (%F), the line number (%l), the
  107. //  message number (%n), message type (%t) and message text (%m).
  108. -hF2    //  Make sure we ALWAYS provide file information ('F') and use 2
  109. //  lines (line in error plus message).
  110. -width(0) //  don't break messages at any particular width
  111. -t4       //  Presume that tabs are every 4 stops
  112. +e900     //  issue a message at termination.