>  기사  >  백엔드 개발  >  C 언어의 경고가 조정되어 있습니까?

C 언어의 경고가 조정되어 있습니까?

高洛峰
高洛峰원래의
2016-11-22 17:53:471662검색

사실 대부분의 C언어 엔지니어들은 경고 튜닝을 안하는데, 저같은 개자식이라면 튜닝 안하면 손도 불편하고, 튜닝 안하면 가슴이 가렵고, 놀리지 않으면 잠을 잘 못 자요 경고. 그럼 워닝의 놀림 경험에 대해 말씀드리겠습니다.

우선 Warning을 놀리기 전에 먼저 Error를 제거해야 합니다. 즉, Error를 먼저 조정하세요. 모든 오류를 제거한 후에도 프로그램이 정확할 것이라는 보장은 없습니다. 그렇죠? 오류를 보고하지 않는 버그도 있습니다. 버그가 경고를 괴롭히는 것을 막지는 못하지만. 그런데 어린 아가를 놀리고 싶을 때, 외부인들이 지켜보는 가운데 어떻게 즐길 수 있겠습니까?

물론 벌레는 고칠 수 없는 경우가 많습니다(코코 유코의 말에 따르면 "중국에는 계란의 흠집을 찾아내라는 옛말이 있습니다"). 따라서 고칠 수 있는 값싼 벌레를 관찰하게 하세요. 프로그램의 정상적인 사용에는 영향을 미치지 않습니다.

초보 프로그래머들이 Error를 제거하는 방법을 모른다면 제가 알려드리겠습니다.

오류는 일반적으로 구문 오류로 인해 발생합니다. 일반적인 실수는 대개 철자 오류입니다(작은 아가씨를 놀리기에는 너무 불안합니다, 형제님, 너무 빨리 누를 수 없습니다). 세미콜론이 없거나 세미콜론이 쉼표로 대체됩니다. 물론 일부 "처녀"에도 문제가 있습니다. " 중국어 구두점도 구사할 수 있는 사람. 오류를 신고하세요.

물론 우리는 종종 이상한 오류에 직면합니다. 중국어 경로에 문제가 있는지 확인하십시오. 일부 오류는 컴파일러를 다시 열어 해결할 수도 있습니다. Baidu, Google, Bing 등은 실제로 작동하지 않습니다. (구글은 아직 *qiang으로 번역해야 할 것 같습니다. 저는 Bing을 사용하는 데 익숙합니다. 저만의 습관이 있습니다. 실제로 많은 사람들이 Google을 사용하고 있습니다. 초보자는 Baidu를 사용하는 것이 좋습니다. 초보자를 위한 일반적인 오류는 잘못 답변되었습니다. 결국 바이두에서는 아직 *qiang을 돌려야 하는 것 같군요. 나같은 새끼는 *qiang 돌리는 걸 별로 안 좋아합니다.)

자 여러분, 출발합시다. 당신의 벨트.

삭제 가능한 것부터 먼저 알아보세요. 때로는 변수나 함수가 선언된 다음 전혀 사용되지 않는 경우도 있습니다. 이건 흔한 경고 새끼인데 내 경험상 삭제하는 편이다. 일부 변수가 있더라도 후속 업그레이드에 사용됩니다. 예약이 필요한지 확실하지 않은 경우 다음 버전에서 해당 문제를 논의하겠습니다. 물론, 선언된 함수를 작성했지만 쓸모가 없다면 나중에 사용할 수 있도록 모아서 보관할 수 있지만, 프로그램과 관련이 없는 경우에는 삭제하는 것이 좋습니다. 나의 일반적인 접근 방식은 다중 선언된 변수만 삭제하고 다중 선언된 함수는 삭제하지 않는 것입니다.

반환 값을 받아들이는 변수가 없습니다. 비어 있지 않은 일부 함수의 반환 값은 성공 시 1을 반환하고 실패 시 0을 반환합니다. 이러한 종류의 반환 값은 분기에 설정된 경우 유용할 수 있습니다. 사실 사람들은 원래 분기를 용이하게 하기 위해 해당 함수를 작성했습니다. 그래서 지점에 없기 때문에. 이 값이 소용이 없다면, 이 새끼는 옆으로 밀려나야 합니다. 못 본 척하세요.

특정 헤더 파일의 기능을 호출했지만 헤더 파일이 포함되지 않은 경우입니다.

예: 경고: 이전 암시적 선언과 유형이 일치하지 않습니다

'***' 함수의 암시적 선언

헤더 파일만 포함하세요.

목록과 호출이 형식에 대한 인수 수가 너무 적지 않습니다.

예: printf("%4d %4d",a);

이런 식으로 하나를 추가하거나, 방금 항상 표시되지 않는 값이 있고, 버그라고 생각한 적이 있습니까? ㅎㅎ

물론 손이 떨려서 하나 더 입력하신 분들도 계실 것 같아 삭제하겠습니다.

논리연산자 or/and 표현식의 양변의 범위를 알 수 없습니다.

저는 or and and 양쪽에 괄호를 넣는 습관이 있어서 이런 경고를 접하는 일이 거의 없습니다. 결국 이런 경고가 발생하면 당시의 논리적 관계를 분석해야 하는데 꽤 시간이 걸립니다. - 좋은 습관을 기르기 전에 하는 것이 좋습니다. 물론 재미로만 보관하라고 한다면 제가 할 수 있는 일은 없습니다. 그렇다면 빨리 문을 닫고 경고하는 여인과 둘만의 세계를 살아야 한다.

값에 대한 연산은 의미가 없습니다

예를 들어 int *p;

선언하고 *p++;

선언한다면 뜻은 (*p) = (*p) + 1 인가요

그때 표현하고 싶었던 것이 무엇인지 살펴보세요.

재정의됨, 이는 여러 선언을 의미합니다. 그런 다음 한 번만 선언하면 이 상황을 영리하게 피할 수 있습니다.

if 분기나 while 루프는 실행할 수 없습니다. unsigned를 정의한 다음 if를 사용하여 음수인지 확인합니다. 필요한 경우 삭제하세요.

또 다른 경고는 매개변수 유형이 일관되지 않아 강제 유형 변환이 필요하다는 것입니다.

아무리 놀리더라도 한 단계만 변경하고 다시 컴파일하고 다시 실행하는 것이 좋습니다. 경고를 괴롭히는 과정에서 오류나 새로운 버그가 생성되어서는 안 된다는 원칙이 있습니다.

모든 미혼 남성들이 경고 부인을 유혹하기를 바랍니다. 집에 가서 남편에게 당황스러운 일을 할 것입니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:C/C++ 심층 분석다음 기사:C/C++ 심층 분석