ios - Xcode编译出现警告的原因都有哪些
伊谢尔伦
伊谢尔伦 2017-04-18 09:29:47
0
1
345

以下代码编译通过也能正常运行,但编译器会在第一行显示警告。警告为:
'extern' variable has an initializer。// 'extern'变量初始化

// main.m
extern int var = 10;
int main(void)
{
 var = 10;
 return 0;
}

目前对extern的认识是:它是会声明一个工程内全局共享变量,但不给予实现,也就是不会为其申请内存,等到定义时才会申请内存空间。
正常的使用方法如下:

// .h
extern int var;
// .m
int var = 10;

我的认识是:警告的原因是extern是设计用来声明一个变量或方法,并未涉及定义。但语法也是允许定义为其分配内存空间。

问题是:

  1. 设计成错误和警告的界限应该是警告代表编译通过,但运行时是否发生错误就不确定了,可能崩溃也可能不崩溃。错误那就是显而易见的无法通过编译。那么编译出现警告的原因都有哪些呢?(貌似这个问题蛮大的,提出来就是想讨论总结下)

目前已知的 Xcode编译出现警告的原因:

  1. API is deprecated

  2. 类型问题。 比如应传入NSInteger类型,但传入的是NSObject类型。

  3. 还有上面的这个例子,但这属于什么类型的编译警告呢?语法不推荐吗?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

모든 응답(1)
刘奇

모든 언어에 대한 컴파일 경고
Target->빌드 설정->에서 GCC 검색(검색 상자 왼쪽에서 모두를 선택해야 함)
각 언어별 경고를 아래로 스크롤하면 볼 수 있습니다
경고 설정에 대한 자세한 내용은 Miao Shen의 블로그를 확인하세요
경고 제거를 위한 간단한 주소
추가를 환영합니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!