.\" %NetBSD: lint. 1, v 1.3 1995/10/23 13:45:31 jpo Exp % .\" .\" Copyright (c) 1994, 1995 Jochen Pohl .\" All Rights Reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Jochen Pohl for .\" The NetBSD Project. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" %FreeBSD: src/usr.bin/xlint/xlint/lint. 1, v 1.8. 2.7 2002/06/21 15:30:23 charnier Exp % .\" .\" $FreeBSD: doc/ja_JP.eucJP/man/man1/lint. 1, v 1.13 2002/07/21 05:44:23 horikawa Exp $ .Dd August 28, 1994 .Dt LINT 1 .Os .Sh ¸íĪ .Nm lint .Nd C ÇÁ·Î±×·¥ÀÇ °ËÁõÀ» ½Ç½ÃÇÑ´Ù .Sh ¼­½Ä .Bk -words .Nm .Op Fl abceghprvxzHFV .Op Fl s | t .Op Fl i | nu .Op Fl D Ar name Ns Op = Ns Ar def .Op Fl U Ar name .Op Fl I Ar directory .Op Fl L Ar directory .Op Fl l Ar library .Op Fl o Ar outputfile .Ar .Nm .Op Fl abceghprvzHFV .Op Fl s | t .Fl C Ar library .Op Fl D Ar name Ns Op = Ns Ar def .Op Fl I Ar directory .Op Fl U Ar name .Ar .Ek .Sh ÇØ¼³ .Nm À¯Æ¿¸®Æ¼´Â, ÁöÁ¤µÈ C ÀÇ ÇÁ·Î±×·¥ ÆÄÀÏÀ» ÇØ¼®ÇØ, ¹ö±×ÀÇ °¡´É¼ºÀÌ ÀÖ´Â ºÎºÐ, À̽ļºÀÌ ¾ø´Ù°í »ý°¢µÇ´Â ºÎºÐ, ȤÀº ¾µµ¥¾ø´Â ÄÚµå¶ó°í »ý°¢µÇ´Â ºÎºÐ ÀÇ °ËÃâÀ» ½ÃµµÇÕ´Ï´Ù. ´õÇØ, .Nm À¯Æ¿¸®Æ¼´Â, C ÄÄÆÄÀÏ·¯º¸´Ù ¾ö¹ÐÇÑ ÇüÅ üũ¸¦ ½Ç½ÃÇÕ´Ï´Ù. .Nm (Àº)´Â ÃÖÃÊÀÇ ±¹¸éÀ¸·Î ½Éº¼ .Dq Dv lint (À»)¸¦ Á¤ÀÇÇØ C ÇÁ¸®ÇÁ·Î¼¼¼­¸¦ ±âµ¿ÇÕ´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ¾î´À Àǽɽº·¯¿î ÄÚµå ºÎºÐÀ» .Nm (À¸)·Î º¯°æ ȤÀº ½ºÅµ ½Ãų ¼ö°¡ ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î, .Nm ÇÏÁö¸¸ üũÇÏ´Â ¸ðµç Äڵ忡 ´ëÇØ¼­´Â, ½Éº¼ .Sy lint (Àº)´Â ¿¹¾à¾î(reserved word)·Î °£ÁÖÇØ¾ß ÇÕ´Ï´Ù. .Pp ÇöÀç .Nm ÇÏÁö¸¸ ÁöÀûÇÏ´Â ¹®Á¦Á¡Àº ÀÌÇÏÀÇ °ÍÀÔ´Ï´Ù. µµ´ÞÇÏÁö ¾Ê´Â ¹®Àå, ¼±µÎ·ÎºÎÅÍ µé¾î°¡Áö ¾Ê´Â ·çÇÁ, ¼±¾ðÇßÁö¸¸ »ç¿ëÇÏÁö ¾Ê´Â º¯¼ö, Á¤¼öÄ¡°¡ µÇ´Â ³í¸®½Ä. ÇÔ¼ö È£Ãâ¿¡ °üÇØ¼­´Â ÀÌÇÏ¿Í °°Àº ¸ð¼øÁ¡ÀÌ ÁöÀûµË´Ï´Ù. ¾î´À °ªÀ» µ¹·ÁÁÖÁö¸¸ ´Ù¸¥ Àå¼Ò¿¡¼­´Â °ªÀ» µ¹·ÁÁÖÁö ¾Ê´Â ÇÔ¼öÀÇ È£ÃâÇØ, ÀμöÀÇ °³¼ö°¡ º¯È­ÇÏ´Â ÇÔ¼öÀÇ È£ÃâÇØ, ÇÔ¼öÃø¿¡¼­ »óÁ¤Çϰí ÀÖÁö ¾Ê´Â ÇüÅÂÀÇ Àμö¸¦ °Ç³×ÁÖ´Â ÇÔ¼ö È£ÃâÇØ, ¹ÝÄ¡¸¦ »ç¿ëÇÏÁö ¾Ê´Â ÇÔ¼ö È£ÃâÇØ, ¹ÝÄ¡°¡ ¾ø´Â ÇÔ¼öÀÇ Á¸ÀçÇÏÁö ¾Ê´Â ¹ÝÄ¡¸¦ »ç¿ëÇϰí ÀÖ´Â ÇÔ¼ö È£Ãâ. .Pp ÆÄÀϸí Àμö °¡¿îµ¥, ¸»¹Ì°¡ .Pa . c ±×¸®°í ³¡³ª´Â °ÍÀº C ÀÇ ¿ø½Ã ÆÄÀÏ·Î °£ÁÖÇØÁý´Ï´Ù. ÆÄÀϸíÀÌ .Pa .ln ±×¸®°í ³¡³ª´Â °ÍÀº, ÀÌÀü .Nm (À»)¸¦ .Fl i , .Fl o ȤÀº .Fl C ¿É¼Ç ÷ºÎ·Î ±âµ¿ÇßÀ» ¶§ÀÇ °á°ú¸¦ °Ý³³ÇÑ ÆÄÀÏ·Î °£ÁÖÇØÁý´Ï´Ù. .Pa .ln ÆÄÀÏÀº, .Xr cc 1 ÇÏÁö¸¸ .Pa . c (À¸)·ÎºÎÅÍ »ý¼ºÇÏ´Â ¿ÀºêÁ§Æ® ÆÄÀÏ .Pa . o ¿¡ »ó´çÇÕ´Ï´Ù. .Nm À¯Æ¿¸®Æ¼´Â ¶Ç, .Fl l ¿É¼Ç¿¡ ÀÇÇØ ÁöÁ¤µÈ Ưº°ÇÑ ÇÁ·Î±×·¥ ¶óÀ̺귯¸®¸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù. À̰ÍÀº, ÇÁ·Î±×·¥ ¶óÀ̺귯¸® ÇÔ¼ö¿Í º¯¼öÀÇ Á¤ÀǸ¦ Æ÷ÇÔÇÏ´Â °ÍÀÔ´Ï´Ù. .Pp .Nm À¯Æ¿¸®Æ¼´Â, ¸ðµç .Pa . c , .ln ÆÄÀϰú .Pa llib-l Ns Ar library Ns Pa .ln (lint ÇÁ·Î±×·¥ ¶óÀ̺귯¸®) ÆÄÀÏÀ» ¹Þ¾Æ, ±×°ÍµéÀ» ¸í·ÉÇàÀ¸·Î ÁöÁ¤ÇÑ ¼ø¼­¿¡ ó¸®ÇÕ´Ï´Ù. µðÆúÆ®¿¡¼­´Â, .Nm (Àº)´Â Ç¥ÁØ C lint ÇÁ·Î±×·¥ ¶óÀ̺귯¸® .Pq Pa llib-lc.ln (À»)¸¦ ÆÄÀÏ ¸®½ºÆ®ÀÇ ¸¶Áö¸·¿¡ µ¡ºÙÀÔ´Ï´Ù. .Fl i ¿É¼ÇÀÌ ÁöÁ¤µÇ¾î ÀÖÀ¸¸é, .Pa .ln ÆÄÀÏÀº ¹«½ÃµË´Ï´Ù. ¶Ç, .Fl o ¿É¼Ç ȤÀº .Fl i ¿É¼ÇÀÌ ÁöÁ¤µÇ¾î ÀÖÀ¸¸é, .Pa llib-l Ns Ar library Ns Pa .ln ÆÄÀÏÀº ¹«½ÃµË´Ï´Ù. .Fl i ¿É¼ÇÀÌ ÁöÁ¤µÇ¾î .Em ¾øÀ¸¸é, .Nm ÀÇ 2¹øÂ°ÀÇ ÆÐ½º·Î ÀÌ ÆÄÀÏ ¸®½ºÆ®°¡ »óÈ£ Àϰü¼º üũ¿¡ ÀÌ¿ëµË´Ï´Ù. ÀÌ ¶§, ¸¸¾à ¹®Á¦ °³¼Ò°¡ ÁÖ¾îÁø ¿ø½Ã ÆÄÀϷκÎÅÍ´Â ¾Æ´Ï°í ÀÎŬ·çµå ÆÄÀÏÀÇ Çϳª·Î ¹ß´ÜÇÏ´Â °ÍÀ̶ó¸é, Ç¥½ÃµÇ´Â ¿ø½Ã ÆÄÀϸíÀÇ µÚ·Î ¹°À½Ç¥¸¦ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù. .Pp ¿É¼ÇÀº ´ÙÀ½°ú °°½À´Ï´Ù: .Bl -tag -width indent .It Fl a .Vt long ÇüÅ ÀÌ¿ÜÀÇ º¯¼ö¿¡ ´ëÇÑ´Ù .Vt long °ªÀÇ ´ëÀÔÀ» º¸°íÇÕ´Ï´Ù. .It Fl aa .Fl a ¿¡ °¡¼¼ÇØ ÀÛÀº ÇüÅ¿¡ÀÇ ¾Ï¹¬ÀÇ ÇüÅ º¯È¯À» ÀÏÀ¸Å²´Ù .Em ¸ðµç Á¤¼öÄ¡ ´ëÀÔÀ» º¸°íÇÕ´Ï´Ù. .It Fl b µµ´Þ ÇÒ ¼ö ¾ø´Ù .Ic break ¹®ÀåÀ» º¸°íÇÕ´Ï´Ù. ÀÌ ¿É¼ÇÀº µðÆúÆ®¿¡¼­´Â À¯È¿ÇÏÁö´Â ¾Ê½À´Ï´Ù. ¿Ö³ÄÇϸé, ´ëºÎºÐÀÇ .Xr lex 1 ¹× ¸¹Àº .Xr yacc 1 Ãâ·ÂÀº ÀÌ·¯ÇÑ break ¸¦ ¸¹ÀÌ Æ÷ÇÔÇϱ⠶§¹®ÀÔ´Ï´Ù. .It Fl c À̽ļº¿¡ ¹®Á¦°¡ Àִ ij½ºÆ®¿¡ ´ëÇØ º¸°íÇÕ´Ï´Ù. .It Fl e .Vt enum ÇüÅ¿¡ ´ëÇÑ ºÎÁ¤ Á¶ÀÛÀ̳ª .Vt enum ÇüÅÂ¿Í .Sy int Çü°£ÀÇ Æí¼º¿¡ ´ëÇØ º¸°íÇÕ´Ï´Ù. .It Fl g .Xr gcc 1 ÇÏÁö¸¸ C ¾ð¾î¿¡ ´ëÇØ¼­ °¡°í ÀÖ´Â ¸î°³ÀÇ È®Àå ±â´É¿¡ ´ëÇÑ °æ°í¸¦ ¾ïÁ¦ÇÕ´Ï´Ù. ÇöÀç·Î¼­´Â, À̰Ϳ¡ ÇØ´çÇÏ´Â °ÍÀº ÀÌÇÏÀÇ °ÍÀÔ´Ï´Ù. ÀÚµ¿ º¯¼öÀÇ ÁýÇÕÇü ÃʱâÈ­½Ä¿¡ ³ªÅ¸³ª´Â ºñÁ¤¼ö½Ä, void Çü¿¡ÀÇ Æ÷ÀÎÅÍ¿¡ ´ëÇÑ »ê¼ú Á¶ÀÛ, »çÀÌÁî°¡ 0 ÀÇ ±¸Á¶Ã¼, Áº¯Ä¡°¡ ¾Æ´Ñ ¹è¿­ÀÇ Ã·ÀÚ ºÙ¿© ±¸Çü½ÄÀÇ ÇÔ¼ö ¼±¾ðÀ» ¹«È¿È­ÇÏ´Â prototype ¼±¾ð, long long Á¤¼öÇü. .Fl g ¿É¼ÇÀº ¶Ç, Ű¿öµå .Ic asm ¹× .Ic inline (À»)¸¦ À¯È¿ÇÏ°Ô ÇÕ´Ï´Ù ( .Ic asm ¹× .Ic inline ÀÇ ¼±µÎ¿¡ ¾ð´õ½ºÄھ ºÙÀΠŰ¿öµå´Â Ç×»ó ÀÌ¿ë °¡´ÉÇÕ´Ï´Ù). .It Fl h ¸î°³ÀÇ ¹ß°ßÀû Å×½ºÆ®¸¦ Àû¿ëÇØ ¹ö±×¸¦ ¹ß°ßÇØ, ½ºÅ¸ÀÏÀ» ¼¼·Ã ÇØ, ÇêµÊÀ» »ý·«ÇÏ´Â °ÍÀ» ½ÃµµÇÕ´Ï´Ù. .It Fl i ¸í·ÉÇàÀÇ °¢ .Pa . c ÆÄÀÏ¿¡ ´ëÇØ¼­ .Pa .ln ÆÄÀÏÀ» »ý¼ºÇÕ´Ï´Ù. ÀÌ·¯ÇÑ .Pa .ln ÆÄÀÏÀº .Nm ÀÇ ÃÖÃÊÀÇ ÆÐ½ºÀÇ °á°ú¿¡ Áö³ªÁö ¾Ê°í, ÇÔ¼ö°£ÀÇ Àϰü¼º üũ´Â ÇàÇØÁöÁö ¾Ê½À´Ï´Ù. .It Fl n Ç¥ÁØ ÇÁ·Î±×·¥ ¶óÀ̺귯¸®¿¡ ´ëÇÑ Àϰü¼º üũ¸¦ ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù. .It Fl p ´Ù¸¥ C ¹æ¾ð¿¡ÀÇ À̽ļº¿¡ °üÇÑ Ã¼Å©¸¦ ½ÃµµÇÕ´Ï´Ù. .It Fl r Áߺ¹ ÇÑ ¼±¾ðÀÌ ¹ß°ßµÇ¾úÀ» °æ¿ì, ÀüȸÀÇ ¼±¾ðÀÇ À§Ä¡¸¦ º¸°íÇÕ´Ï´Ù. .It Fl s ¾ö¹ÐÇÑ ANSI C ¸ðµå·Î üũÇÕ´Ï´Ù. ANSI C ·Î ÇÊ¿äÇÏ°Ô µÇ´Â °æ°í ¹× ¿¡·¯¸¦ Ãâ·ÂÇÕ´Ï´Ù. Á¾·¡ÀÇ C ¿Í ANSI C ·Î ´Ù¸¥ ÇൿÀ» ÇÏ´Â ±¸Á¶¿¡ ´ëÇØ¼­ÀÇ °æ°í´Â ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù. .Fl s ¿É¼ÇÁöÁ¤½Ã´Â, ÇÁ¸®ÇÁ·Î¼¼¼­ ¸ÅÅ©·Î·Î¼­ .Dv __STRICT_ANSI__ ÇÏÁö¸¸ Á¤Àǵ˴ϴÙ. .It Fl t Á¾·¡ÀÇ C ¸ðµå·Î üũÇÕ´Ï´Ù. ÀÌ ¸ðµå¿¡¼­´Â .Dv __STDC__ (Àº)´Â Á¤ÀǵÇÁö ¾Ê½À´Ï´Ù. Á¾·¡ÀÇ C ·Î Çã°¡µÇÁö ¾Ê´Â ±¸Á¶¿¡ ´ëÇØ¼­ °æ°í°¡ Ãâ·ÂµË´Ï´Ù. Á¾·¡ÀÇ C ¿Í ANSI C ·Î ´Ù¸¥ ÇൿÀ» ÇÏ´Â ±¸Á¶¿¡ ´ëÇØ¼­ÀÇ °æ°í´Â ¾ïÁ¦µË´Ï´Ù. ¸Ó½Å ŸÀÔ (¿¹: .Dv sun3 ) ¹× ¸Ó½Å ¾ÆÅ°ÅØÃÄ (¿¹: .Dv m68k )(À»)¸¦ ±â¼úÇÑ ÇÁ¸®ÇÁ·Î¼¼¼­ ¸ÅÅ©·Î´Â, ¼±µÎ ¹× ¸»¹ÌÀÇ ¾ð´õ½ºÄÚ¾î ¾øÀ½À¸·Î Á¤Àǵ˴ϴÙ. Ű¿öµå .Ic const , volatile ¹× .Ic signed (Àº)´Â Á¾·¡ÀÇ C ¸ðµå¿¡¼­´Â ÀÌ¿ëÇÒ ¼ö ¾ø½À´Ï´Ù (±×·¯³ª, ¼±µÎ¿¡ ¾ð´õ½ºÄھ ±³ºÎÇÑ ÀÌÁ¦(¹ú½á) ÇÑÆíÀÇ Å°¿öµå´Â ¿©ÀüÈ÷ ÀÌ¿ë °¡´ÉÇÕ´Ï´Ù). .It Fl u »ç¿ëµÇ°í ÀÖÁö¸¸ Á¤ÀǵǾî ÀÖÁö ¾ÊÀº, ȤÀº Á¤Àǵǰí ÀÖÁö¸¸ »ç¿ëµÇ¾î ÀÖÁö ¾Ê´Ù ÇÔ¼ö ¹× ¿ÜºÎ º¯¼ö¿¡ ´ëÇÑ º¸°í¸¦ ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù (ÀÌ ±â´ÉÀº, ´ë±Ô¸ð ÇÁ·Î±×·¥À» ±¸¼ºÇÏ´Â ÀϺÎÀÇ ÆÄÀÏ¿¡ ´ëÇØ¼­ .Nm (À»)¸¦ ´Þ¸®°Ô ÇÏ´Â °æ¿ì¿¡ ÇâÇϰí ÀÖ½À´Ï´Ù). .It Fl v ÇÔ¼öÁßÀÇ ¹Ì»ç¿ë Àμö¿¡ °üÇÑ º¸°í¸¦ ¾ïÁ¦ÇÕ´Ï´Ù. .It Fl x .Ic extern ¼±¾ðÀ¸·Î ÂüÁ¶µÇ°í ÀÖÁö¸¸ Çѹøµµ »ç¿ëµÇ¾î ÀÖÁö ¾ÊÀº º¯¼ö¿¡ ´ëÇØ º¸°íÇÕ´Ï´Ù. .It Fl z Á¤ÀǵǾî ÀÖÁö ¾ÊÀº ±¸Á¶Ã¼¿¡ °üÇÑ º¸°í¸¦ ¾ïÁ¦ÇÕ´Ï´Ù (¿¹¸¦ µé¸é, ³»¿ëÀ» Ä­Ä¡ ÇÏÁö ¾Ê°í ±¸Á¶Ã¼¿¡ÀÇ Æ÷ÀÎÅ͸¦ ÀÌ¿ëÇÏ´Â °æ¿ì µî). .It Fl C Ar library .Pa llib-l Ns Ar library Ns Pa .ln (ÀÌ)¶ó´Â À̸§ÀÇ .Nm ÇÁ·Î±×·¥ ¶óÀ̺귯¸®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ÀÌ ÇÁ·Î±×·¥ ¶óÀ̺귯¸®´Â, ¸ðµç ÀÔ·Â ÆÄÀÏ .Pa . c ¹× .Pa .ln (À¸)·ÎºÎÅÍ ¸¸µé¾îÁý´Ï´Ù. ÀÌ·¯ÇÑ ÆÄÀÏ¿¡ Æ÷ÇԵǴ ¸ðµç ±¤¿ª ÇÔ¼ö ¹× ±¤¿ª º¯¼öÀÇ ¼±¾ðÀÌ »õ·Ó°Ô ¸¸µé¾îÁö´Â ÇÁ·Î±×·¥ ¶óÀ̺귯¸®¿¡ ½á³»Áø ÈÄ, .Nm ÇÏ .Fl l ¿É¼ÇÀ¸·Î ÁöÁ¤µÈ ÇÁ·Î±×·¥ ¶óÀ̺귯¸®¸¦ Æ÷ÇÔÇÑ ¸ðµç ÀÔ·Â ÆÄÀÏ¿¡ ´ëÇØ¼­ »óÈ£ Àϰü¼ºÀÇ Ã¼Å©¸¦ ½Ç½ÃÇÕ´Ï´Ù. .It Fl D Ar name Ns Op = Ns Ar def .Xr cpp 1 (À»)¸¦ À§Çؼ­(¶§¹®¿¡) .Ic #define Áö½Ã¹®°ú °°°Ô ÇØ ¸ÅÅ©·Î .Ar name (À»)¸¦ Á¤ÀÇÇÕ´Ï´Ù. ¿ìº¯Ä¡°¡ ÁöÁ¤µÇÁö ¾Ê´Â °æ¿ì, ¸ÅÅ©·Î .Ar name (Àº)´Â 1 À¸·Î Á¤Àǵ˴ϴÙ. .It Fl I Ar directory ÀÎŬ·çµå ÆÄÀÏÀ» °Ë»öÇÏ´Â µð·ºÅ丮 ¸®½ºÆ®¿¡ .Ar directory (À»)¸¦ Ãß°¡ÇÕ´Ï´Ù. .It Fl l Ar library lint ÇÁ·Î±×·¥ ¶óÀ̺귯¸® .Pa llib-l Ns Ar library Ns Pa .ln (À»)¸¦ ÀÎŬ·çµå ÇÕ´Ï´Ù. .It Fl L Ar directory lint ÇÁ·Î±×·¥ ¶óÀ̺귯¸®¸¦ Ç¥ÁØÀÇ Àå¼Ò·ÎºÎÅÍ Ã£±â Àü¿¡, .Ar directory ¹× .Ar directory Ns Pa /lint ÀÇ ¾ÈÀ» ã½À´Ï´Ù. .It Fl F ÆÄÀÏÀÇ ÆÐ½º¸í Àüü¸¦ Ç¥½ÃÇÕ´Ï´Ù. .Nm À¯Æ¿¸®Æ¼´Â Åë»ó, ÆÐ½º¸¦ Á¦¿ÜÇÑ ÆÄÀÏ¸í¸¸À» Ç¥½ÃÇÕ´Ï´Ù. .It Fl H ¸¸¾à ¹®Á¦ °³¼Ò°¡ ÀÎŬ·çµå ÆÄÀÏ·Î ¹ß´ÜÇÏ´Â °ÍÀ̶ó¸é, .Nm (Àº)´Â ¿ø½Ã ÆÄÀϸíÀ¸·Î °Å±â¿¡ °è¼ÓµÇ´Â ¹°À½Ç¥¿¡ ´ë½ÅÇØ ÀÎŬ·çµå ÆÄÀϸíÀ» Ç¥½ÃÇÕ´Ï´Ù. .It Fl o Ar outputfile Ãâ·Â ÆÄÀϸíÀ» .Ar outputfile (À¸)·Î ÇÕ´Ï´Ù. Ãâ·Â ÆÄÀÏÀº .Nm ÀÇ 2¹øÂ°ÀÇ ÆÐ½ºÀÇ ÀÔ·Â ÆÄÀÏÀÌ µÇ´Â °ÍÀÔ´Ï´Ù. .Fl o ¿É¼ÇÀº ´ÜÁö, ÀÌ ÆÄÀÏÀ» ÁöÁ¤µÈ À̸§À¸·Î ÆÄÀÏ¿¡ º¸Á¸ÇÕ´Ï´Ù. µ¿½Ã¿¡ .Fl i ¿É¼Çµµ ÁöÁ¤µÇ¾î ÀÖÀ¸¸é, ÀÌ·¯ÇÑ ÆÄÀÏÀº Àϰü¼ºÀÌ Ã¼Å©µÇÁö ¾Ê½À´Ï´Ù. .Pa llib-l Ns Ar library Ns Pa .ln ÆÄÀÏÀ» ÀÛ¼ºÇÏ·Á¸é , ¿©ºÐÀÇ ¸Þ¼¼Áö¸¦ ¾ïÁ¦Çϱâ À§ÇØ(¶§¹®¿¡), .Fl u ¿É¼ÇÀÇ »ç¿ëÀ» Ãßõ ÇÕ´Ï´Ù. lint ÇÁ·Î±×·¥ ¶óÀ̺귯¸®ÀÇ ¿ø½Ã ÆÄÀÏÀÌ ´ÜÁö ¿ÜºÎ ÀÎÅÍÆäÀ̽º¿¡ Áö³ªÁö ¾Ê´Â °æ¿ì´Â, .Fl v ¿É¼ÇÀ» ÀÌ¿ëÇϸé(ÀÚ) Æí¸®ÇÕ´Ï´Ù. .It Fl U Ar name ÇÁ¸®ÇÁ·Î¼¼¼­°¡ Á¤ÀÇÇÏ´Â ¸ðµç ¸ÅÅ©·Î .Ar name (À»)¸¦ ¾ø¾Û´Ï´Ù. .It Fl V Á¦¾î ÇÁ·Î±×·¥ÀÌ C ÇÁ¸®ÇÁ·Î¼¼¼­ ¹× .Nm ÀÇ Á¦1 ¹× Á¦2 ÆÐ½º¸¦ ½ÇÇàÇÒ ¶§ÀÇ ¸í·ÉÇàÀ» Ç¥½ÃÇÕ´Ï´Ù. .El .Ss ÀÔ·Â ¹®¹ý .Nm ÀÇ Á¦ 1 ÆÐ½º´Â Ç¥ÁØÀûÀÎ C ¿ø½Ã ÆÄÀÏÀ» ÀоîµéÀÔ´Ï´Ù. .Nm À¯Æ¿¸®Æ¼´Â ÀÌÇÏ¿Í °°Àº C ÀÇ ÄÚ¸àÆ®¸¦ ¸í·É·Î¼­ ÀνÄÇÕ´Ï´Ù. .Bl -tag -width indent .It Li /* ARGSUSED Ns Ar n Li */ ÃÖÃÊÀÇ .Ar n °³ÀÇ Àμö ¿¡ ´ëÇØ¼­¸¸ »ç¿ë üũ¸¦ ½Ç½ÃÇÕ´Ï´Ù. .Ar n (À»)¸¦ »ý·« Çϸé(ÀÚ) 0 À¸·Î ÇØ¼®µË´Ï´Ù (ÀÌ ¿É¼ÇÀº, ´ÙÀ½ÀÇ ÇÔ¼ö¿¡ ´ëÇØ¼­ .Fl v ¿É¼Ç°ú °°Àº ±â´ÉÀ» ÇÕ´Ï´Ù). .It Xo .Li /* CONSTCOND */ ¶Ç´Â .Li /* CONSTANTCOND */ ¶Ç´Â .Li /* CONSTANTCONDITION */ .Xc ´ÙÀ½ÀÇ ½Ä¿¡ ´ëÇÑ Á¤¼ö ¿ÀÆÛ·£µå¿¡ °üÇÑ º¸°í¸¦ ¾ïÁ¦ÇÕ´Ï´Ù. .It Xo .Li /* FALLTHRU */ ¶Ç´Â .Li /* FALLTHROUGH */ .Xc .Ic case ȤÀº .Ic default label°¡ ºÙÀº ¹®Àå¿¡ÀÇ fall through ¿¡ °üÇÑ º¸°í¸¦ ¾ïÁ¦ÇÕ´Ï´Ù. ÀÌ Áö½Ã¹®Àº ±×·¯ÇÑ labelÀÇ Á÷Àü¿¡ µÑ Çʿ䰡 ÀÖ½À´Ï´Ù. .It Li /* LINTLIBRARY */ ÆÄÀÏ ¼±µÎ¿¡¼­, ÀÌ ÆÄÀÏÁß¿¡¼­ Á¤ÀǵǴ ¸ðµç ÇÔ¼ö ¹× º¯¼ö°¡ .Em »ç¿ëµÇ°í ÀÖ´Ù (¿Í)°ú ¸¶Å© ÇÕ´Ï´Ù. ¶Ç, ¹Ì»ç¿ëÀÇ ÇÔ¼ö Àμö¿¡ °üÇÑ º¸°íµµ ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù. .It Xo .Li /* LINTED Oo Ar comment Oc Li */ ¶Ç´Â .Li /* NOSTRICT Oo Ar comment Oc Li */ .Xc ¹Ì»ç¿ëÀÇ º¯¼ö ȤÀº ÇÔ¼ö¿¡ °üÇÑ °ÍÀ» Á¦¿ÜÇØ, ÆÄÀϳ»¿¡ ´ÝÀº ¹®Á¦Á¡¿¡ °üÇÑ °æ°í¸¦ ¾ïÁ¦ÇÕ´Ï´Ù. ÀÌ Áö½Ã¹®Àº, .Nm °æ°í°¡ ¹ß»ýÇÏ´Â Àå¼ÒÀÇ Á÷ÀüÀÇ Çà¿¡ µÑ Çʿ䰡 ÀÖ½À´Ï´Ù. .It Li /* LONGLONG */ long long Á¤¼öÇüÀÇ »ç¿ë¿¡ °üÇÑ º¸°í¸¦ ¾ïÁ¦ÇÕ´Ï´Ù. .It Li /* NOTREACHED */ ²Ù¢¾î¾ß ÇÒ Àå¼Ò¿¡ ÀÖ¾î, ¹Ìµµ´Þ Äڵ忡 °üÇÑ º¸°í¸¦ ¾ïÁ¦ÇÕ´Ï´Ù (ÀÌ ÄÚ¸àÆ®´Â Åë»ó, .Xr exit 3 (¿Í)°ú °°Àº ÇÔ¼öÀÇ È£ÃâÀÇ Á÷ÈÄ¿¡ µÓ´Ï´Ù). .It Li /* PRINTFLIKE Ns Ar n Li */ .Nm (Àº)´Â ÃÖÃÊÀÇ .Pq Ar n Ns -1 °³ÀÇ Àμö¸¦ º¸ÅëÀ¸·Î üũÇÕ´Ï´Ù. .Ar n ¹øÂ°ÀÇ Àμö´Â .Xr printf 3 ÀÇ Æ÷¸Ë ij¸¯ÅÍ ¶óÀΰú °°°Ô ÇØ¼®µÇ¾î ³ª¸ÓÁöÀÇ Àμö¸¦ üũÇϱâ À§Çؼ­ ÀÌ¿ëµË´Ï´Ù. .It Li /* PROTOLIB Ns Ar n Li */ ¸¸¾à .Ar n ÇÏÁö¸¸ 0 ÀÌ ¾Æ´Ï¸é, .Nm (Àº)´Â ÇÔ¼ö ¼±¾ð prototype¸¦ ÇÔ¼ö ¼±¾ðÀ¸·Î¼­ Ãë±ÞÇÕ´Ï´Ù. ÀÌ Áö½Ã¹®Àº .Li /* LINTLIBRARY */ (¿Í)°ú ÇÔ²² ¸¶¼Å ÀÌ¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. .Ar n ÇÏÁö¸¸ 0 ÀÇ °æ¿ì´Â, ÇÔ¼ö prototype´Â Åë»ó ´ë·Î Ãë±ÞµË´Ï´Ù. .It Li /* SCANFLIKE Ns Ar n Li */ .Nm (Àº)´Â ÃÖÃÊÀÇ .Pq Ar n Ns -1 °³ÀÇ Àμö¸¦ º¸ÅëÀ¸·Î üũÇÕ´Ï´Ù. .Ar n ¹øÂ°ÀÇ Àμö´Â .Xr scanf 3 ÀÇ Æ÷¸Ë ij¸¯ÅÍ ¶óÀΰú °°°Ô ÇØ¼®µÇ¾î ³ª¸ÓÁöÀÇ Àμö¸¦ üũÇϱâ À§Çؼ­ ÀÌ¿ëµË´Ï´Ù. .It Li /* VARARGS Ns Ar n Li */ ÈÄ¼Ó ÇÏ´Â ÇÔ¼ö ¼±¾ð¿¡ ´ëÇØ, Àμö °³¼ö¿¡ °üÇÑ Åë»óÀÇ Ã¼Å©¸¦ ¾ïÁ¦ÇÕ´Ï´Ù. ÃÖÃÊÀÇ .Ar n °³ÀÇ ÀμöÀÇ µ¥ÀÌÅÍÇüÀÌ Ã¼Å©µË´Ï´Ù. .Ar n ÇÏÁö¸¸ ÁöÁ¤µÇÁö ¾Ê´Â °æ¿ì´Â 0 À¸·Î ÇØ¼®µË´Ï´Ù. .El .Pp .Fl i ¿É¼Ç ¹× .Fl o ¿É¼ÇÀ» ÀÌ¿ëÇϸé(ÀÚ), »ç¶÷Á¶ÀÇ C ¿ø½Ã ÆÄÀÏ¿¡ ´ëÇØ¼­ ÀÎÅ©¸®¸àÅ»¿¡ .Nm (À»)¸¦ Àû¿ëÇÏ´Â °ÍÀÌ °¡´ÉÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î, °¢ ¿ø½Ã ÆÄÀÏ¿¡ ´ëÇØ¼­ .Fl i ¿É¼Ç ÷ºÎ·Î .Nm (À»)¸¦ ÇÑ ¹ø ±âµ¿ÇÕ´Ï´Ù. ÀÌ ¶§, .Pa . c ¿¡ ´ëÀÀÇØ .Pa .ln ÆÄÀÏÀÌ ÀÛ¼ºµÇ¾î ±×·¯ÇÑ ¿ø½Ã ÆÄÀÏ¿¡ °üÇÑ ¸ðµç ¸Þ¼¼Áö°¡ Ç¥½ÃµË´Ï´Ù. ¸ðµç ¿ø½Ã ÆÄÀÏ¿¡ ´ëÇØ¼­ °³º°ÀÇ .Nm 󸮰¡ ³¡³­ ÈÄ, ¸ðµç .Pa .ln ÆÄÀϰú ÇÊ¿äÇÑ .Fl l Ns Ar library ¿É¼ÇÀ» ºÙ¿©( .Fl i ¿É¼Ç ¾øÀ½À¸·Î) Çѹø ´õ .Nm (À»)¸¦ ±âµ¿ÇÕ´Ï´Ù. ¿©±â¼­ ÆÄÀϰ£ÀÇ Àϰü¼º¿¡ °üÇÑ ¹®Á¦Á¡ÀÌ Ç¥½ÃµË´Ï´Ù. ÀÌ ¹æ½ÄÀº .Xr make 1 (À»)¸¦ ÀÌ¿ëÇϸé(ÀÚ) Àߵ˴ϴÙ. .Xr make 1 (À»)¸¦ ÀÌ¿ëÇϸé(ÀÚ), Àüȸ ¿ø½Ã ÆÄÀÏÀÇ Á¶°¡ .Nm µÈ ÈÄ, ¼öÁ¤ÀÌ ÀÖ´ø ÆÄÀÏ ¿¡ ´ëÇØ¼­¸¸ .Nm (À»)¸¦ ±âµ¿ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. .Sh ȯ°æ º¯¼ö .Bl -tag -width LIBDIR .It Ev LIBDIR .Bk -words .Fl l Ar library .Ek ¿É¼ÇÀ¸·Î ÁöÁ¤µÈ ÇÁ·Î±×·¥ ¶óÀ̺귯¸®°¡ Á¸ÀçÇÏ´Â µð·ºÅ丮. ÀÌ È¯°æ º¯¼ö°¡ Á¤ÀǵǾî ÀÖÁö ¾ÊÀº °æ¿ì´Â, ÇÁ·Î±×·¥ ¶óÀ̺귯¸® °Ë»öÀ» À§Çؼ­(¶§¹®¿¡) µðÆúÆ® ÆÐ½º·Î ÇØ¼­ .Pa /usr/libdata/lint ÇÏÁö¸¸ ÀÌ¿ëµË´Ï´Ù. .It Ev TMPDIR ÀÏ½ÃÆÄÀÏ¿ëÀÇ ÆÐ½º´Â Åë»ó, ÀÌ È¯°æ º¯¼ö¸¦ ¼¼Æ® ÇÏ´Â °ÍÀ¸·Î º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. .El .Sh °ü·Ã ÆÄÀÏ .Bl -tag -width /usr/libdata/lint/llib-lc.ln -compact .It Pa /usr/libexec/lint Ns Bq Pa 12 ÇÁ·Î±×·¥ .It Pa /usr/libdata/lint/llib-l*.ln ¹Ì¸® ÀÛ¼ºµÇ°í ÀÖ´Â ¿©·¯°¡Áö lint ÇÁ·Î±×·¥ ¶óÀ̺귯¸® .It Pa /tmp/lint* ÀÏ½ÃÆÄÀÏ .El .Sh °ü·Ã Ç׸ñ .Xr cc 1 , .Xr cpp 1 , .Xr make 1 .Sh ÀúÀÚ .An Jochen Pohl .Sh ¹ö±× .Bl -item .It .Xr exit 3 (ÀÌ)³ª .Xr longjmp 3 ¹× µ¹¾Æ¿ÀÁö ¾Ê´Â ´Ù¸¥ ÇÔ¼ö´Â ¿Ã¹Ù¸£°Ô ÀÌÇØµÇÁö ¾Ê½À´Ï´Ù. À̰͵éÀº ¿©·¯°¡Áö ºÎÁ¤ Áø´ÜÀÇ ¿øÀÎÀÌ µË´Ï´Ù. .It ÃÖÃÊÀÇ extern ¼±¾ð Àü¿¡¼­¸¸ ÀÌ¿ëµÇ´Â static ÇÔ¼ö´Â, ¹Ì»ç¿ëÀÌ´Ù°í º¸°íµË´Ï´Ù. .It .Fl o ¿É¼Ç¿¡ ÀÇÇØ ¸¸µé¾îÁø ÇÁ·Î±×·¥ ¶óÀ̺귯¸®´Â, ÈÄÀÇ .Nm ½ÇÇàÀ¸·Î ÀÌ¿ëÇßÀ» °æ¿ì, ÇÁ·Î±×·¥ ¶óÀ̺귯¸® ÀÛ¼º½Ã¿¡ º¸°íµÈ ¾î¶² Á¾·ùÀÇ ¿¡·¯°¡ ÀçÂ÷ º¸°íµÇ¾î ÇÁ·Î±×·¥ ¶óÀ̺귯¸® ÀÛ¼º½Ã¿¡ ÀÌ¿ëÇÑ ¿À¸®Áö³¯ÀÇ ¿ø½Ã ÆÄÀÏÀÇ Çà ¹øÈ£ ¹× ÆÄÀϸíÀÌ ¿¡·¯ ¸Þ¼¼ÁöÁß¿¡ Ç¥½ÃµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ±× ¶§¹®¿¡, lint ÇÁ·Î±×·¥ ¶óÀ̺귯¸® ÀÛ¼º¿¡´Â .Fl C ¿É¼ÇÀ» ÀÌ¿ëÇÏ´Â °ÍÀ» Ãßõ ÇÕ´Ï´Ù. .El