首页 文章 精选 留言 我的

精选列表

搜索[实体项目],共10000篇文章
优秀的个人博客,低调大师

SpringBoot(二)_项目属性配置

修改端口 在main/resources/application.properties修改端口 server.port=8088 此时启动访问localhost:8088/hello 就会看到 Hello Spring Boot! 使用yml文件替换properties 文件 (1)在main/resources 文件下新建一个application.yml 文件 (2)在yml文件中修改端口 server: port: 8099 (3) 删除掉application.properties文件,只保留yml文件 (4) 运行程序,此时访问8099端口即可 获取配置文件的值 (1) 在application.yml 文件中,编写上其他内容 server: port: 8099 name: maomao age: 18 (2) 利用@Value 注解 @RestController public class HelloController { @Value("${name}") private String name; @Value("${age}") private int age; @RequestMapping(value = {"/hello"},method = RequestMethod.GET) public String say(){ return name+age; } } (3)访问8099端口,就获取到值 maomao 18 使用自定义配置类 如果属性很多,我们每个属性都需要写,显得有些费事,我们可以利用自定义配置类进行获取 (1) 修改yml 文件 server: port: 8099 girl: name: maomao age: 18 (2) 创建properties/GirlProperties.java @Component @ConfigurationProperties(prefix = "girl") public class GirlProperties { private String name; private int age; //get和set方法省略 } (3) 我在使用@ConfigurationProperties 这个注解时,提示找不到class,需在pom文件中引入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> (4) 修改controller文件 @RestController public class HelloController { @Resource private GirlProperties girlProperties; @RequestMapping(value = {"/hello"},method = RequestMethod.GET) public String say(){ return girlProperties.getName(); } } (5)验证结果 maomao 开发环境和生成环境配置不同的问题 这个问题经常见,比如我们开发环境 name 是maomao ,生成环境是 毛毛,我们大部分都是修改配置文件,但是这样还是很麻烦。 (1) 复制2个yml文件,分别是application-dev.yml (开发环境) application-prod.yml(生产环境) (2) 修改application-prod.yml(生产环境)文件 server: port: 8088 girl: name: 毛毛 age: 18 (3) application-dev.yml (开发环境)文件内容 server: port: 8099 girl: name: maomao age: 18 (4)application.yml文件内容,这个就代表使用dev的配置文件 spring: profiles: active: dev (5)上篇文章讲过java -jar 的启动方式 先执行 mvn install 在执行启动 java -jar girl-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod (6)此时就是访问的prod 的配置8088,(注意我们配置的application.yml 中用的是dev 这个配置文件,但是我们启动的时候加上后面的参数就自动切换到 prod 文件上) 总结 在使用yml进行配置更加简单方便,使用java -jar 启动 加上参数,就可以避免我们来回修改配置文件,有漏掉的情况。 源码下载:github 学习不是要么0分,要么100分的。80分是收获;60分是收获;20分也是收获。有收获最重要。但是因为着眼于自己的不完美,最终放弃了,那就是彻底的0分了。

优秀的个人博客,低调大师

Spring Reactor 项目核心库

Reactor Core Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactive Extensions inspired API and efficient event streaming support. Getting it Reactor 3 requires Java 8 or + to run. With Gradle from repo.spring.io or Maven Central repositories (stable releases only): repositories { // maven { url 'http://repo.spring.io/snapshot' } maven { url 'http://repo.spring.io/milestone' } mavenCentral() } dependencies { //compile "io.projectreactor:reactor-core:3.1.4.RELEASE" //testCompile("io.projectreactor:reactor-test:3.1.4.RELEASE") compile "io.projectreactor:reactor-core:3.2.0.M1" testCompile("io.projectreactor:reactor-test:3.2.0.M1") } See the reference documentation for more information on getting it (eg. using Maven, or on how to get milestones and snapshots). Note about Android support: Reactor 3 doesn't officially support nor target Android. However it should work fine with Android SDK 26 (Android O) and above. See thecomplete note in the reference guide. Getting Started New to Reactive Programming or bored of reading already ? Try the Introduction to Reactor Core hands-on ! If you are familiar with RxJava or if you want to check more detailled introduction, be sure to checkhttps://www.infoq.com/articles/reactor-by-example ! Flux A Reactive Streams Publisher with basic flow operators. Static factories on Flux allow for source generation from arbitrary callbacks types. Instance methods allows operational building, materialized on each Flux#subscribe(), Flux#subscribe() or multicasting operations such as Flux#publish and Flux#publishNext. <img src="https://raw.githubusercontent.com/reactor/reactor-core/v3.1.3.RELEASE/src/docs/marble/flux.png" width="500"> Flux in action : Flux.fromIterable(getSomeLongList()) .mergeWith(Flux.interval(100)) .doOnNext(serviceA::someObserver) .map(d -> d * 2) .take(3) .onErrorResumeWith(errorHandler::fallback) .doAfterTerminate(serviceM::incrementTerminate) .subscribe(System.out::println); Mono A Reactive Streams Publisher constrained to ZERO or ONE element with appropriate operators. Static factories on Mono allow for deterministic zero or one sequence generation from arbitrary callbacks types. Instance methods allows operational building, materialized on each Mono#subscribe() or Mono#get() eventually called. <img src="https://raw.githubusercontent.com/reactor/reactor-core/v3.1.3.RELEASE/src/docs/marble/mono.png" width="500"> Mono in action : Mono.fromCallable(System::currentTimeMillis) .flatMap(time -> Mono.first(serviceA.findRecent(time), serviceB.findRecent(time))) .timeout(Duration.ofSeconds(3), errorHandler::fallback) .doOnSuccess(r -> serviceM.incrementSuccess()) .subscribe(System.out::println); Blocking Mono result : Tuple2<Long, Long> nowAndLater = Mono.zip( Mono.just(System.currentTimeMillis()), Flux.just(1).delay(1).map(i -> System.currentTimeMillis())) .block(); Schedulers Reactor uses a Scheduler as a contract for arbitrary task execution. It provides some guarantees required by Reactive Streams flows like FIFO execution. You can use or create efficient schedulers to jump thread on the producing flows (subscribeOn) or receiving flows (publishOn): Mono.fromCallable( () -> System.currentTimeMillis() ) .repeat() .publishOn(Schedulers.single()) .log("foo.bar") .flatMap(time -> Mono.fromCallable(() -> { Thread.sleep(1000); return time; }) .subscribeOn(Schedulers.parallel()) , 8) //maxConcurrency 8 .subscribe(); ParallelFlux ParallelFlux can starve your CPU's from any sequence whose work can be subdivided in concurrent tasks. Turn back into a Flux with ParallelFlux#sequential(), an unordered join or use abitrary merge strategies via 'groups()'. Mono.fromCallable( () -> System.currentTimeMillis() ) .repeat() .parallel(8) //parallelism .runOn(Schedulers.parallel()) .doOnNext( d -> System.out.println("I'm on thread "+Thread.currentThread()) ) .subscribe() Custom sources : Flux.create and FluxSink, Mono.create and MonoSink To bridge a Subscriber or Processor into an outside context that is taking care of producing non concurrently, use Flux#create, Mono#create. Flux.create(sink -> { ActionListener al = e -> { sink.next(textField.getText()); }; // without cancellation support: button.addActionListener(al); // with cancellation support: sink.onCancel(() -> { button.removeListener(al); }); }, // Overflow (backpressure) handling, default is BUFFER FluxSink.OverflowStrategy.LATEST) .timeout(3) .doOnComplete(() -> System.out.println("completed!")) .subscribe(System.out::println) The Backpressure Thing Most of this cool stuff uses bounded ring buffer implementation under the hood to mitigate signal processing difference between producers and consumers. Now, the operators and processors or any standard reactive stream component working on the sequence will be instructed to flow in when these buffers have free room AND only then. This means that we make sure we both have a deterministic capacity model (bounded buffer) and we never block (request more data on write capacity). Yup, it's not rocket science after all, the boring part is already being worked by us in collaboration with Reactive Streams Commons on going research effort. What's more in it ? "Operator Fusion" (flow optimizers), health state observers, helpers to build custom reactive components, bounded queue generator, hash-wheel timer, converters from/to Java 9 Flow, Publisher and Java 8 CompletableFuture. The repository contains a reactor-test project with test features like the StepVerifier. Reference Guide http://projectreactor.io/docs/core/release/reference/docs/index.html Javadoc https://projectreactor.io/docs/core/release/api/ Getting started with Flux and Mono https://github.com/reactor/lite-rx-api-hands-on Reactor By Example https://www.infoq.com/articles/reactor-by-example Head-First Spring & Reactor https://github.com/reactor/head-first-reactive-with-spring-and-reactor/ Beyond Reactor Core Everything to jump outside the JVM with the non-blocking drivers from Reactor Netty. Reactor Addons provide for adapters and extra operators for Reactor 3. Powered by Reactive Streams Commons Licensed under Apache Software License 2.0 Sponsored by Pivotal

优秀的个人博客,低调大师

在线日志分析项目解读

1,日志的采集 从flume agent 上的数据一般分到两条线上一条是kafka 集群 ,后期可以用流式处理(spark streaming 或storm 等等)一条是到hdfs,后期可以用hive处理, 业界叫lambda架构 architecture (一般公司的推荐系统,就是用这种架构) flume-ng agent 采集收集日志后,聚合在一个节点上(也可以不聚合) 为什么要聚合?为什么不直接写到kafka集群? 假如公司规模比较大,有无数个flume节点,这么多都连kafka,会增加复杂度,有个聚合节点(会是多个节点组成,防止单节点挂了),还可以对日志格式统一处理,筛选不要的数据 hdfs 可以永久保存数据,mr 可以处理多久数据都行 kafka 集群数据可以存储一定时间不能长期存储,sparkstreaming 只能处理一定时间访问内数据 storm 流 数据源 nginx 日志,mysql 日志,tomcat 日志等等-> flume -> kafka 消息件 消息发送到这里缓存数据一段时间 -> spark streaming+spark sql on yarn cluster (实时计算) -> 存储 1.->redis adminLTE + flask 前端组件 + echarts3 集成到监控的系统上 2.->influxdb 时序分布式数据库 grafana 可视化组件(这两种结合比较好) (elk kibana ) 存储+可视化分析 画图工具 http://www.processon.com/ 本文转自 skinglzw 51CTO博客,原文链接:http://blog.51cto.com/skinglzw/1967271,如需转载请自行联系原作者

优秀的个人博客,低调大师

iOS添加GPUImage到项目

1. 把GPUImage.xcodeproj 拖到你的Xcode project 2. 在app的target依赖设置里面添加GPUImage.a作为Target Dependency 3. 在build phase的Link Binary With Libraries, 把libGPUImage.a加进来. 4. 添加下面这些系统framework: CoreMedia CoreVideo OpenGLES AVFoundation QuartzCore 5. 头文件搜索路径: project's build settings, 把GPUImage的source和source下的iOS目录加到搜索路径里, 使用相对路径和递归. 6. 包含下面这个头文件: #import "GPUImage.h" 7. target-build setting里面,other linker flags 里面添加 -fobjc-arc -ObjC 这两项 本文转自 卓行天下 51CTO博客,原文链接:http://blog.51cto.com/9951038/1772552,如需转载请自行联系原作者

优秀的个人博客,低调大师

iOS:消除项目中警告

引言: 在iOS开发过程中, 我们可能会碰到一些系统方法弃用, weak、循环引用、不能执行之类的警告。 有代码洁癖的孩子们很想消除他们, 今天就让我们来一次Fuck 警告!! 首先学会基本的语句: #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" 中间这里写出现警告的代码 #pragma clang diagnostic pop 这样就消除了方法弃用的警告! 也即使用如下: #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" //这里写出现警告的代码就能实现去除警告(代码写在这中间) #pragma clang diagnostic pop 同理, 大家可以在下边搜索到对应的警告, 这样 就可以把前边的字符串填入上边的ignored的后边, 然后括住你的代码, 就OK了 源网址 Semantic Warnings Warning Message -WCFString-literal input conversion stopped due to an input byte that does not belong to the input codeset UTF-8 -WNSObject-attribute __attribute ((NSObject)) may be put on a typedef only, attribute is ignored -Wabstract-vbase-init initializer for virtual base class %0 of abstract class %1 will never be used -Waddress-of-array-temporary pointer is initialized by a temporary array, which will be destroyed at the end of the full-expression -Warc-maybe-repeated-use-of-weak "weak %select{variable|property|implicit property|instance variable}0 %1 may be accessed multiple times in this %select{function|method|block|lambda}2 and may be unpredictably set to nil assign to a strong variable to keep the object alive -Warc-non-pod-memaccess %select{destination for|source of}0 this %1 call is a pointer to ownership-qualified type %2 -Warc-performSelector-leaks performSelector may cause a leak because its selector is unknown -Warc-repeated-use-of-weak "weak %select{variable|property|implicit property|instance variable}0 %1 is accessed multiple times in this %select{function|method|block|lambda}2 but may be unpredictably set to nil assign to a strong variable to keep the object alive -Warc-retain-cycles capturing %0 strongly in this block is likely to lead to a retain cycle -Warc-unsafe-retained-assign assigning retained object to unsafe property object will be released after assignment -Warc-unsafe-retained-assign assigning %select{array literal|dictionary literal|numeric literal|boxed expression|should not happen|block literal}0 to a weak %select{property|variable}1 object will be released after assignment -Warc-unsafe-retained-assign assigning retained object to %select{weak|unsafe_unretained}0 %select{property|variable}1 object will be released after assignment -Warray-bounds array index %0 is past the end of the array (which contains %1 element%s2) -Warray-bounds array index %0 is before the beginning of the array -Warray-bounds 'static' has no effect on zero-length arrays -Warray-bounds array argument is too small contains %0 elements, callee requires at least %1 -Warray-bounds-pointer-arithmetic the pointer incremented by %0 refers past the end of the array (that contains %1 element%s2) -Warray-bounds-pointer-arithmetic the pointer decremented by %0 refers before the beginning of the array -Wassign-enum integer constant not in range of enumerated type %0 -Watomic-property-with-user-defined-accessor writable atomic property %0 cannot pair a synthesized %select{getter|setter}1 with a user defined %select{getter|setter}2 -Wattributes unknown attribute %0 ignored -Wauto-var-id 'auto' deduced as 'id' in declaration of %0 -Wavailability unknown platform %0 in availability macro -Wavailability overriding method %select{introduced after|deprecated before|obsoleted before}0 overridden method on %1 (%2 vs. %3) -Wavailability availability does not match previous declaration -Wavailability overriding method cannot be unavailable on %0 when its overridden method is available -Wavailability feature cannot be %select{introduced|deprecated|obsoleted}0 in %1 version %2 before it was %select{introduced|deprecated|obsoleted}3 in version %4 attribute ignored -Wbad-function-cast cast from function call of type %0 to non-matching type %1 -Wbitfield-constant-conversion implicit truncation from %2 to bitfield changes value from %0 to %1 -Wbitwise-op-parentheses '&' within '|' -Wbool-conversion "initialization of pointer of type %0 to null from a constant boolean " "expression -Wbridge-cast %0 cannot bridge to %1 -Wbridge-cast %0 bridges to %1, not %2 -Wbuiltin-requires-header declaration of built-in function '%0' requires inclusion of the header stdio.h -Wbuiltin-requires-header declaration of built-in function '%0' requires inclusion of the header setjmp.h -Wbuiltin-requires-header declaration of built-in function '%0' requires inclusion of the header ucontext.h -Wc++-compat %select{|empty }0%select{struct|union}1 has size 0 in C, %select{size 1|non-zero size}2 in C++ -Wc++11-compat explicit instantiation cannot be 'inline' -Wc++11-compat explicit instantiation of %0 must occur at global scope -Wc++11-compat explicit instantiation of %0 not in a namespace enclosing %1 -Wc++11-compat explicit instantiation of %q0 must occur in namespace %1 -Wc++11-narrowing constant expression evaluates to %0 which cannot be narrowed to type %1 in C++11 -Wc++11-narrowing type %0 cannot be narrowed to %1 in initializer list in C++11 -Wc++11-narrowing non-constant-expression cannot be narrowed from type %0 to %1 in initializer list in C++11 -Wc++98-c++11-compat type definition in a constexpr %select{function|constructor}0 is incompatible with C++ standards before C++1y -Wc++98-c++11-compat use of this statement in a constexpr %select{function|constructor}0 is incompatible with C++ standards before C++1y -Wc++98-c++11-compat init-captures.def warn_cxx11_compat_init_capture : Warning "initialized lambda captures are incompatible with C++ standards " "before C++1y -Wc++98-c++11-compat variable declaration in a constexpr %select{function|constructor}0 is incompatible with C++ standards before C++1y -Wc++98-c++11-compat constexpr function with no return statements is incompatible with C++ standards before C++1y -Wc++98-c++11-compat multiple return statements in constexpr function is incompatible with C++ standards before C++1y -Wc++98-c++11-compat variable templates are incompatible with C++ standards before C++1y -Wc++98-compat substitution failure due to access control is incompatible with C++98 -Wc++98-compat %select{anonymous struct|union}0 member %1 with a non-trivial %select{constructor|copy constructor|move constructor|copy assignment operator|move assignment operator|destructor}2 is incompatible with C++98 -Wc++98-compat enumeration type in nested name specifier is incompatible with C++98 -Wc++98-compat static data member %0 in union is incompatible with C++98 -Wc++98-compat default template arguments for a function template are incompatible with C++98 -Wc++98-compat scalar initialized from empty initializer list is incompatible with C++98 -Wc++98-compat befriending %1 without '%select{struct|interface|union|class|enum}0' keyword is incompatible with C++98 -Wc++98-compat use of null pointer as non-type template argument is incompatible with C++98 -Wc++98-compat friend declaration naming a member of the declaring class is incompatible with C++98 -Wc++98-compat non-class friend type %0 is incompatible with C++98 -Wc++98-compat befriending enumeration type %0 is incompatible with C++98 -Wc++98-compat use of non-static data member %0 in an unevaluated context is incompatible with C++98 -Wc++98-compat friend function %0 would be implicitly redefined in C++98 -Wc++98-compat %select{class template|class template partial|variable template|variable template partial|function template|member function|static data member|member class|member enumeration}0 specialization of %1 outside namespace %2 is incompatible with C++98 -Wc++98-compat reference initialized from initializer list is incompatible with C++98 -Wc++98-compat redundant parentheses surrounding address non-type template argument are incompatible with C++98 -Wc++98-compat initialization of initializer_list object is incompatible with C++98 -Wc++98-compat use of 'template' keyword outside of a template is incompatible with C++98 -Wc++98-compat non-type template argument referring to %select{function|object}0 %1 with internal linkage is incompatible with C++98 -Wc++98-compat use of 'typename' outside of a template is incompatible with C++98 -Wc++98-compat passing object of trivial but non-POD type %0 through variadic %select{function|block|method|constructor}1 is incompatible with C++98 -Wc++98-compat goto would jump into protected scope in C++98 -Wc++98-compat constructor call from initializer list is incompatible with C++98 -Wc++98-compat 'auto' type specifier is incompatible with C++98 -Wc++98-compat delegating constructors are incompatible with C++98 -Wc++98-compat 'constexpr' specifier is incompatible with C++98 -Wc++98-compat inheriting constructors are incompatible with C++98 -Wc++98-compat explicit conversion functions are incompatible with C++98 -Wc++98-compat switch case would be in a protected scope in C++98 -Wc++98-compat '%0' type specifier is incompatible with C++98 -Wc++98-compat indirect goto might cross protected scopes in C++98 -Wc++98-compat-pedantic cast between pointer-to-function and pointer-to-object is incompatible with C++98 -Wc++98-compat-pedantic implicit conversion from array size expression of type %0 to %select{integral|enumeration}1 type %2 is incompatible with C++98 -Wcast-align cast from %0 to %1 increases required alignment from %2 to %3 -Wcast-of-sel-type cast of type %0 to %1 is deprecated use sel_getName instead -Wchar-subscripts array subscript is of type 'char' -Wconditional-uninitialized variable %0 may be uninitialized when %select{used here|captured by block}1 -Wconstant-logical-operand use of logical '%0' with constant operand -Wconstexpr-not-const 'constexpr' non-static member function will not be implicitly 'const' in C++1y add 'const' to avoid a change in behavior -Wconsumed state of variable '%0' must match at the entry and exit of loop -Wconsumed parameter '%0' not in expected state when the function returns: expected '%1', observed '%2' -Wconsumed argument not in expected state expected '%0', observed '%1' -Wconsumed invalid invocation of method '%0' on a temporary object while it is in the '%1' state -Wconsumed return state set for an unconsumable type '%0' -Wconsumed consumed analysis attribute is attached to member of class '%0' which isn't marked as consumable -Wconsumed invalid invocation of method '%0' on object '%1' while it is in the '%2' state -Wconsumed return value not in expected state expected '%0', observed '%1' -Wconversion implicit conversion discards imaginary component: %0 to %1 -Wconversion non-type template argument with value '%0' converted to '%1' for unsigned template parameter of type %2 -Wconversion implicit conversion loses floating-point precision: %0 to %1 -Wconversion implicit conversion loses integer precision: %0 to %1 -Wconversion non-type template argument value '%0' truncated to '%1' for template parameter of type %2 -Wconversion implicit conversion turns vector to scalar: %0 to %1 -Wconversion implicit conversion turns floating-point number into integer: %0 to %1 -Wcovered-switch-default default label in switch which covers all enumeration values -Wcustom-atomic-properties atomic by default property %0 has a user defined %select{getter|setter}1 (property should be marked 'atomic' if this is intended) -Wdangling-field initializing pointer member %0 with the stack address of parameter %1 -Wdangling-field binding reference %select{|subobject of }1member %0 to a temporary value -Wdangling-field binding reference member %0 to stack allocated parameter %1 -Wdangling-initializer-list array backing the initializer list will be destroyed at the end of %select{the full-expression|the constructor}0 -Wdelete-incomplete deleting pointer to incomplete type %0 may cause undefined behavior -Wdelete-non-virtual-dtor delete called on %0 that is abstract but has non-virtual destructor -Wdelete-non-virtual-dtor delete called on %0 that has virtual functions but non-virtual destructor -Wdeprecated access declarations are deprecated use using declarations instead -Wdeprecated definition of implicit copy %select{constructor|assignment operator}1 for %0 is deprecated because it has a user-declared %select{copy %select{assignment operator|constructor}1|destructor}2 -Wdeprecated dynamic exception specifications are deprecated -Wdeprecated-increment-bool incrementing expression of type bool is deprecated -Wdeprecated-objc-isa-usage assignment to Objective-C's isa is deprecated in favor of object_setClass() -Wdeprecated-objc-isa-usage direct access to Objective-C's isa is deprecated in favor of object_getClass() -Wdeprecated-objc-pointer-introspection bitmasking for introspection of Objective-C object pointers is strongly discouraged -Wdeprecated-objc-pointer-introspection-performSelector warn_objc_pointer_masking.Text -Wdeprecated-writable-strings dummy warning to enable -fconst-strings -Wdirect-ivar-access instance variable %0 is being directly accessed -Wdistributed-object-modifiers conflicting distributed object modifiers on return type in implementation of %0 -Wdistributed-object-modifiers conflicting distributed object modifiers on parameter type in implementation of %0 -Wdivision-by-zero division by zero is undefined -Wdivision-by-zero remainder by zero is undefined -Wdocumentation parameter '%0' not found in the function declaration -Wdocumentation not a Doxygen trailing comment -Wduplicate-enum element %0 has been implicitly assigned %1 which another element has been assigned -Wduplicate-method-match multiple declarations of method %0 found and ignored -Wdynamic-class-memaccess %select{destination for|source of|first operand of|second operand of}0 this %1 call is a pointer to dynamic class %2 vtable pointer will be %select{overwritten|copied|moved|compared}3 -Wempty-body switch statement has empty body -Wempty-body for loop has empty body -Wempty-body if statement has empty body -Wempty-body range-based for loop has empty body -Wempty-body while loop has empty body -Wenum-compare comparison of two values with different enumeration types%diff{ ($ and $)|}0,1 -Wenum-conversion implicit conversion from enumeration type %0 to different enumeration type %1 -Wexit-time-destructors declaration requires an exit-time destructor -Wexplicit-ownership-type method parameter of type %0 with no explicit ownership -Wextern-c-compat %select{|empty }0%select{struct|union}1 has size 0 in C, %select{size 1|non-zero size}2 in C++ -Wextern-initializer 'extern' variable has an initializer -Wfloat-equal comparing floating point with == or != is unsafe -Wformat "data argument position '%0' exceeds the number of data arguments (%1) -Wformat position arguments in format strings start counting at 1 (not 0) -Wformat invalid position specified for %select{field width|field precision}0 -Wformat cannot mix positional and non-positional arguments in format string -Wformat values of type '%0' should not be used as format arguments add an explicit cast to %1 instead -Wformat format specifies type %0 but the argument has type %1 -Wformat zero field width in scanf format string is unused -Wformat no closing ']' for '%%[' in scanf format string -Wformat format string should not be a wide string -Wformat format string contains '\\0' within the string body -Wformat '%select{*|.*}0' specified field %select{width|precision}0 is missing a matching 'int' argument -Wformat field %select{width|precision}0 should have type %1, but argument has type %2 -Wformat %select{field width|precision}0 used with '%1' conversion specifier, resulting in undefined behavior -Wformat format string missing -Wformat incomplete format specifier -Wformat flag '%0' results in undefined behavior with '%1' conversion specifier -Wformat flag '%0' is ignored when flag '%1' is present -Wformat more '%%' conversions than data arguments -Wformat length modifier '%0' results in undefined behavior or no effect with '%1' conversion specifier -Wformat-extra-args data argument not used by format string -Wformat-invalid-specifier invalid conversion specifier '%0' -Wformat-nonliteral format string is not a string literal -Wformat-security format string is not a string literal (potentially insecure) -Wformat-zero-length format string is empty -Wgcc-compat GCC does not allow the 'cleanup' attribute argument to be anything other than a simple identifier -Wglobal-constructors declaration requires a global constructor -Wglobal-constructors declaration requires a global destructor -Wgnu-conditional-omitted-operand use of GNU ?: conditional expression extension, omitting middle operand -Wheader-hygiene using namespace directive in global context in header -Widiomatic-parentheses using the result of an assignment as a condition without parentheses -Wignored-attributes 'malloc' attribute only applies to functions returning a pointer type -Wignored-attributes %0 attribute only applies to %select{functions|unions|variables and functions|functions and methods|parameters|functions, methods and blocks|functions, methods, and classes|functions, methods, and parameters|classes|variables|methods|variables, functions and labels|fields and global variables|structs|variables, functions and tag types|thread-local variables|variables and fields|variables, data members and tag types|types and namespaces|Objective-C interfaces}1 -Wignored-attributes '%0' attribute cannot be specified on a definition -Wignored-attributes __weak attribute cannot be specified on an automatic variable when ARC is not enabled -Wignored-attributes Objective-C GC does not allow weak variables on the stack -Wignored-attributes __weak attribute cannot be specified on a field declaration -Wignored-attributes attribute %0 cannot be applied to %select{functions|Objective-C method}1 without return value -Wignored-attributes attribute declaration must precede definition -Wignored-attributes attribute %0 is ignored, place it after \"%select{class|struct|union|interface|enum}1\" to apply attribute to type declaration -Wignored-attributes __declspec attribute %0 is not supported -Wignored-attributes attribute %0 ignored, because it cannot be applied to a type -Wignored-attributes attribute %0 after definition is ignored -Wignored-attributes %0 attribute ignored -Wignored-attributes 'sentinel' attribute only supported for variadic %select{functions|blocks}0 -Wignored-attributes 'sentinel' attribute requires named arguments -Wignored-attributes '%0' only applies to %select{function|pointer|Objective-C object or block pointer}1 types type here is %2 -Wignored-attributes 'nonnull' attribute applied to function with no pointer arguments -Wignored-attributes %0 attribute can only be applied to instance variables or properties -Wignored-attributes ibaction attribute can only be applied to Objective-C instance methods -Wignored-attributes %0 calling convention ignored on variadic function -Wignored-attributes %0 only applies to variables with static storage duration and functions -Wignored-attributes %0 attribute argument not supported: %1 -Wignored-attributes #pramga ms_struct can not be used with dynamic classes or structures -Wignored-attributes transparent union definition must contain at least one field transparent_union attribute ignored -Wignored-attributes first field of a transparent union cannot have %select{floating point|vector}0 type %1 transparent_union attribute ignored -Wignored-attributes 'gnu_inline' attribute requires function to be marked 'inline', attribute ignored -Wignored-attributes calling convention %0 ignored for this target -Wignored-attributes transparent_union attribute can only be applied to a union definition attribute ignored -Wignored-attributes %select{alignment|size}0 of field %1 (%2 bits) does not match the %select{alignment|size}0 of the first field in transparent union transparent_union attribute ignored -Wignored-attributes attribute %0 is already applied -Wignored-attributes %0 attribute ignored for field of type %1 -Wignored-attributes %0 attribute ignored when parsing type -Wignored-attributes %0 attribute only applies to %select{functions|methods|properties}1 that return %select{an Objective-C object|a pointer|a non-retainable pointer}2 -Wignored-attributes %0 attribute only applies to %select{Objective-C object|pointer}1 parameters -Wignored-attributes attribute %0 is already applied with different parameters -Wignored-attributes unknown visibility %0 -Wignored-qualifiers "'%0' type qualifier%s1 on return type %plural{1:has|:have}1 no effect -Wignored-qualifiers ARC %select{unused|__unsafe_unretained|__strong|__weak|__autoreleasing}0 lifetime qualifier on return type is ignored -Wimplicit-atomic-properties property is assumed atomic by default -Wimplicit-atomic-properties property is assumed atomic when auto-synthesizing the property -Wimplicit-fallthrough fallthrough annotation in unreachable code -Wimplicit-fallthrough unannotated fall-through between switch labels -Wimplicit-fallthrough fallthrough annotation does not directly precede switch label -Wimplicit-function-declaration implicit declaration of function %0 -Wimplicit-function-declaration use of unknown builtin %0 -Wimplicit-retain-self "block implicitly retains 'self' explicitly mention 'self' to indicate this is intended behavior -Wincompatible-library-redeclaration incompatible redeclaration of library function %0 -Wincomplete-implementation method definition for %0 not found -Winherited-variadic-ctor inheriting constructor does not inherit ellipsis -Winitializer-overrides subobject initialization overrides initialization of other fields within its enclosing subobject -Winitializer-overrides initializer overrides prior initialization of this subobject -Wint-to-pointer-cast cast to %1 from smaller integer type %0 -Wint-to-void-pointer-cast cast to %1 from smaller integer type %0 -Winvalid-iboutlet IBOutletCollection properties should be copy/strong and not assign -Winvalid-iboutlet %select{instance variable|property}2 with %0 attribute must be an object type (invalid %1) -Winvalid-noreturn function %0 declared 'noreturn' should not return -Winvalid-noreturn function declared 'noreturn' should not return -Wlarge-by-value-copy return value of %0 is a large (%1 bytes) pass-by-value object pass it by reference instead ? -Wlarge-by-value-copy %0 is a large (%1 bytes) pass-by-value argument pass it by reference instead ? -Wliteral-conversion implicit conversion from %0 to %1 changes value from %2 to %3 -Wliteral-range magnitude of floating-point constant too large for type %0 maximum is %1 -Wliteral-range magnitude of floating-point constant too small for type %0 minimum is %1 -Wlogical-not-parentheses logical not is only applied to the left hand side of this comparison -Wlogical-op-parentheses '&&' within '||' -Wloop-analysis variable%select{s| %1|s %1 and %2|s %1, %2, and %3|s %1, %2, %3, and %4}0 used in loop condition not modified in loop body -Wloop-analysis variable %0 is %select{decremented|incremented}1 both in the loop header and in the loop body -Wmethod-signatures conflicting parameter types in implementation of %0: %1 vs %2 -Wmethod-signatures conflicting return type in implementation of %0: %1 vs %2 -Wmicrosoft extra qualification on member %0 -Wmismatched-method-attributes attributes on method implementation and its declaration must match -Wmismatched-parameter-types conflicting parameter types in implementation of %0%diff{: $ vs $|}1,2 -Wmismatched-return-types conflicting return type in implementation of %0%diff{: $ vs $|}1,2 -Wmissing-braces suggest braces around initialization of subobject -Wmissing-declarations '%0' ignored on this declaration -Wmissing-field-initializers missing field '%0' initializer -Wmissing-method-return-type method has no return type specified defaults to 'id' -Wmissing-noreturn %select{function|method}0 %1 could be declared with attribute 'noreturn' -Wmissing-noreturn block could be declared with attribute 'noreturn' -Wmissing-prototypes no previous prototype for function %0 -Wmissing-variable-declarations no previous extern declaration for non-static variable %0 -Wmultiple-move-vbase defaulted move assignment operator of %0 will move assign virtual base class %1 multiple times -Wnested-anon-types anonymous types declared in an anonymous union/struct are an extension -Wno-typedef-redefinition Redefinition of typedef '%0' is a C11 feature -Wnon-literal-null-conversion "expression which evaluates to zero treated as a null pointer constant of " "type %0 -Wnon-pod-varargs second argument to 'va_arg' is of ARC ownership-qualified type %0 -Wnon-pod-varargs cannot pass %select{non-POD|non-trivial}0 object of type %1 to variadic %select{function|block|method|constructor}2 expected type from format string was %3 -Wnon-pod-varargs second argument to 'va_arg' is of non-POD type %0 -Wnon-pod-varargs cannot pass object of %select{non-POD|non-trivial}0 type %1 through variadic %select{function|block|method|constructor}2 call will abort at runtime -Wnon-virtual-dtor %0 has virtual functions but non-virtual destructor -Wnonnull null passed to a callee which requires a non-null argument -Wnull-arithmetic use of NULL in arithmetic operation -Wnull-arithmetic comparison between NULL and non-pointer %select{(%1 and NULL)|(NULL and %1)}0 -Wnull-dereference indirection of non-volatile null pointer will be deleted, not trap -Wobjc-autosynthesis-property-ivar-name-match autosynthesized property %0 will use %select{|synthesized}1 instance variable %2, not existing instance variable %3 -Wobjc-forward-class-redefinition redefinition of forward class %0 of a typedef name of an object type is ignored -Wobjc-interface-ivars declaration of instance variables in the interface is deprecated -Wobjc-literal-compare direct comparison of %select{an array literal|a dictionary literal|a numeric literal|a boxed expression|}0 has undefined behavior -Wobjc-literal-missing-atsign string literal must be prefixed by '@' -Wobjc-method-access instance method %objcinstance0 not found (return type defaults to 'id') did you mean %objcinstance2? -Wobjc-method-access class method %objcclass0 not found (return type defaults to 'id') did you mean %objcclass2? -Wobjc-method-access instance method %objcinstance0 not found (return type defaults to 'id') -Wobjc-method-access instance method %0 is being used on 'Class' which is not in the root class -Wobjc-method-access class method %objcclass0 not found (return type defaults to 'id') -Wobjc-method-access instance method %0 found instead of class method %1 -Wobjc-missing-property-synthesis "auto property synthesis is synthesizing property not explicitly synthesized -Wobjc-missing-super-calls method possibly missing a [super %0] call -Wobjc-noncopy-retain-block-property "retain'ed block property does not copy the block " "- use copy attribute instead -Wobjc-nonunified-exceptions can not catch an exception thrown with @throw in C++ in the non-unified exception model -Wobjc-property-implementation property %0 requires method %1 to be defined - use @dynamic or provide a method implementation in this category -Wobjc-property-implementation property %0 requires method %1 to be defined - use @synthesize, @dynamic or provide a method implementation in this class implementation -Wobjc-property-implicit-mismatch "primary property declaration is implicitly strong while redeclaration in class extension is weak -Wobjc-property-matches-cocoa-ownership-rule property's synthesized getter follows Cocoa naming convention for returning 'owned' objects -Wobjc-property-no-attribute no 'assign', 'retain', or 'copy' attribute is specified - 'assign' is assumed -Wobjc-property-no-attribute default property attribute 'assign' not appropriate for non-GC object -Wobjc-property-synthesis auto property synthesis will not synthesize property '%0' because it is 'readwrite' but it will be synthesized 'readonly' via another property -Wobjc-property-synthesis "auto property synthesis will not synthesize property '%0' because it cannot share an ivar with another synthesized property -Wobjc-protocol-method-implementation category is implementing a method which will also be implemented by its primary class -Wobjc-protocol-property-synthesis auto property synthesis will not synthesize property declared in a protocol -Wobjc-redundant-literal-use using %0 with a literal is redundant -Wobjc-root-class class %0 defined without specifying a base class -Wobjc-string-compare direct comparison of a string literal has undefined behavior -Wobjc-string-concatenation concatenated NSString literal for an NSArray expression - possibly missing a comma -Wover-aligned type %0 requires %1 bytes of alignment and the default allocator only guarantees %2 bytes -Woverloaded-shift-op-parentheses overloaded operator %select{|}0 has lower precedence than comparison operator -Woverloaded-virtual %q0 hides overloaded virtual %select{function|functions}1 -Woverriding-method-mismatch conflicting distributed object modifiers on parameter type in declaration of %0 -Woverriding-method-mismatch conflicting parameter types in declaration of %0: %1 vs %2 -Woverriding-method-mismatch conflicting variadic declaration of method and its implementation -Woverriding-method-mismatch conflicting distributed object modifiers on return type in declaration of %0 -Woverriding-method-mismatch conflicting parameter types in declaration of %0%diff{: $ vs $|}1,2 -Woverriding-method-mismatch conflicting return type in declaration of %0%diff{: $ vs $|}1,2 -Woverriding-method-mismatch conflicting return type in declaration of %0: %1 vs %2 -Wpacked packed attribute is unnecessary for %0 -Wpadded padding %select{struct|interface|class}0 %1 with %2 %select{byte|bit}3%select{|s}4 to align anonymous bit-field -Wpadded padding %select{struct|interface|class}0 %1 with %2 %select{byte|bit}3%select{|s}4 to align %5 -Wpadded padding size of %0 with %1 %select{byte|bit}2%select{|s}3 to alignment boundary -Wparentheses using the result of an assignment as a condition without parentheses -Wparentheses %0 has lower precedence than %1 %1 will be evaluated first -Wparentheses operator '?:' has lower precedence than '%0' '%0' will be evaluated first -Wparentheses-equality equality comparison with extraneous parentheses -Wpointer-arith subtraction of pointers to type %0 of zero size has undefined behavior -Wpredefined-identifier-outside-function predefined identifier is only valid inside function -Wprivate-extern use of __private_extern__ on a declaration may not produce external symbol private to the linkage unit and is deprecated -Wprotocol method %0 in protocol not implemented -Wprotocol-property-synthesis-ambiguity property of type %0 was selected for synthesis -Wreadonly-iboutlet-property readonly IBOutlet property '%0' when auto-synthesized may not work correctly with 'nib' loader -Wreadonly-setter-attrs property attributes '%0' and '%1' are mutually exclusive -Wreceiver-expr receiver type %0 is not 'id' or interface pointer, consider casting it to 'id' -Wreceiver-forward-class receiver type %0 for instance message is a forward declaration -Wreceiver-is-weak "weak %select{receiver|property|implicit property}0 may be unpredictably set to nil -Wreinterpret-base-class 'reinterpret_cast' %select{from|to}3 class %0 %select{to|from}3 its %select{virtual base|base at non-zero offset}2 %1 behaves differently from 'static_cast' -Wreorder %select{field|base class}0 %1 will be initialized after %select{field|base}2 %3 -Wrequires-super-attribute %0 attribute cannot be applied to %select{methods in protocols|dealloc}1 -Wreturn-stack-address returning address of local temporary object -Wreturn-stack-address returning address of label, which is local -Wreturn-stack-address address of stack memory associated with local variable %0 returned -Wreturn-stack-address reference to stack memory associated with local variable %0 returned -Wreturn-stack-address returning reference to local temporary object -Wreturn-type control may reach end of non-void function -Wreturn-type non-void %select{function|method}1 %0 should return a value, DefaultError -Wreturn-type control reaches end of non-void function -Wreturn-type-c-linkage %0 has C-linkage specified, but returns incomplete type %1 which could be incompatible with C -Wreturn-type-c-linkage %0 has C-linkage specified, but returns user-defined type %1 which is incompatible with C -Wsection section does not match previous declaration -Wselector creating selector for nonexistent method %0 -Wselector-type-mismatch multiple selectors named %0 found -Wself-assign explicitly assigning a variable of type %0 to itself -Wself-assign-field assigning %select{field|instance variable}0 to itself -Wsentinel "missing sentinel in %select{function call|method dispatch|block call}0 -Wsentinel not enough variable arguments in %0 declaration to fit a sentinel -Wshadow declaration shadows a %select{" "local variable|" "variable in %2|" "static data member of %2|" "field of %2}1 -Wshadow-ivar local declaration of %0 hides instance variable -Wshift-count-negative shift count is negative -Wshift-count-overflow shift count = width of type -Wshift-op-parentheses operator '%0' has lower precedence than '%1' '%1' will be evaluated first -Wshift-overflow signed shift result (%0) requires %1 bits to represent, but %2 only has %3 bits -Wshift-sign-overflow signed shift result (%0) sets the sign bit of the shift expression's type (%1) and becomes negative -Wshorten-64-to-32 implicit conversion loses integer precision: %0 to %1 -Wsign-compare comparison of integers of different signs: %0 and %1 -Wsign-conversion implicit conversion changes signedness: %0 to %1 -Wsign-conversion operand of ? changes signedness: %0 to %1 -Wsizeof-array-argument sizeof on array function parameter will return size of %0 instead of %1 -Wsizeof-array-decay sizeof on pointer operation will return size of %0 instead of %1 -Wsizeof-pointer-memaccess '%0' call operates on objects of type %1 while the size is based on a " "different type %2 -Wsizeof-pointer-memaccess argument to 'sizeof' in %0 call is the same pointer type %1 as the %select{destination|source}2 expected %3 or an explicit length -Wsometimes-uninitialized variable %0 is %select{used|captured}1 uninitialized whenever %select{'%3' condition is %select{true|false}4|'%3' loop %select{is entered|exits because its condition is false}4|'%3' loop %select{condition is true|exits because its condition is false}4|switch %3 is taken|its declaration is reached|%3 is called}2 -Wstatic-local-in-inline non-constant static local variable in inline function may be different in different files -Wstatic-self-init static variable %0 is suspiciously used within its own initialization -Wstrict-selector-match multiple methods named %0 found -Wstring-compare result of comparison against %select{a string literal|@encode}0 is unspecified (use strncmp instead) -Wstring-conversion implicit conversion turns string literal into bool: %0 to %1 -Wstring-plus-char adding %0 to a string pointer does not append to the string -Wstring-plus-int adding %0 to a string does not append to the string -Wstrlcpy-strlcat-size size argument in %0 call appears to be size of the source expected the size of the destination -Wstrncat-size the value of the size argument in 'strncat' is too large, might lead to a " "buffer overflow -Wstrncat-size size argument in 'strncat' call appears " "to be size of the source -Wstrncat-size the value of the size argument to 'strncat' is wrong -Wsuper-class-method-mismatch method parameter type %diff{$ does not match super class method parameter type $|does not match super class method parameter type}0,1 -Wswitch overflow converting case value to switch condition type (%0 to %1) -Wswitch case value not in enumerated type %0 -Wswitch %0 enumeration values not handled in switch: %1, %2, %3... -Wswitch enumeration values %0 and %1 not handled in switch -Wswitch enumeration value %0 not handled in switch -Wswitch enumeration values %0, %1, and %2 not handled in switch -Wswitch-enum enumeration values %0, %1, and %2 not explicitly handled in switch -Wswitch-enum enumeration values %0 and %1 not explicitly handled in switch -Wswitch-enum %0 enumeration values not explicitly handled in switch: %1, %2, %3... -Wswitch-enum enumeration value %0 not explicitly handled in switch -Wtautological-compare comparison of %0 unsigned%select{| enum}2 expression is always %1 -Wtautological-compare %select{self-|array }0comparison always evaluates to %select{false|true|a constant}1 -Wtautological-compare comparison of unsigned%select{| enum}2 expression %0 is always %1 -Wtautological-constant-out-of-range-compare comparison of constant %0 with expression of type %1 is always %select{false|true}2 -Wthread-safety-analysis locking '%0' that is already locked -Wthread-safety-analysis cannot call function '%0' while mutex '%1' is locked -Wthread-safety-analysis %select{reading|writing}2 the value pointed to by '%0' requires locking %select{'%1'|'%1' exclusively}2 -Wthread-safety-analysis unlocking '%0' that was not locked -Wthread-safety-analysis mutex '%0' is locked exclusively and shared in the same scope -Wthread-safety-analysis calling function '%0' requires %select{shared|exclusive}2 lock on '%1' -Wthread-safety-analysis %select{reading|writing}2 variable '%0' requires locking %select{'%1'|'%1' exclusively}2 -Wthread-safety-analysis cannot resolve lock expression -Wthread-safety-analysis expecting mutex '%0' to be locked at the end of function -Wthread-safety-analysis mutex '%0' is not locked on every path through here -Wthread-safety-analysis %select{reading|writing}1 the value pointed to by '%0' requires locking %select{any mutex|any mutex exclusively}1 -Wthread-safety-analysis %select{reading|writing}1 variable '%0' requires locking %select{any mutex|any mutex exclusively}1 -Wthread-safety-analysis mutex '%0' is still locked at the end of function -Wthread-safety-analysis expecting mutex '%0' to be locked at start of each loop -Wthread-safety-attributes ignoring %0 attribute because its argument is invalid -Wthread-safety-attributes %0 attribute only applies to %select{fields and global variables|functions and methods|classes and structs}1 -Wthread-safety-attributes %0 attribute requires arguments that are class type or point to class type type here is '%1' -Wthread-safety-attributes %0 attribute can only be applied in a context annotated with 'lockable' attribute -Wthread-safety-attributes %0 attribute requires arguments whose type is annotated with 'lockable' attribute type here is '%1' -Wthread-safety-attributes '%0' only applies to pointer types type here is %1 -Wthread-safety-beta Thread safety beta warning. -Wthread-safety-precise %select{reading|writing}2 the value pointed to by '%0' requires locking %select{'%1'|'%1' exclusively}2 -Wthread-safety-precise %select{reading|writing}2 variable '%0' requires locking %select{'%1'|'%1' exclusively}2 -Wthread-safety-precise calling function '%0' requires %select{shared|exclusive}2 lock on '%1' -Wtype-safety this type tag was not designed to be used with this function -Wtype-safety specified %0 type tag requires a null pointer -Wtype-safety argument type %0 doesn't match specified '%1' type tag %select{that requires %3|}2 -Wundeclared-selector undeclared selector %0 did you mean %1? -Wundeclared-selector undeclared selector %0 -Wundefined-inline inline function %q0 is not defined -Wundefined-internal %select{function|variable}0 %q1 has internal linkage but is not defined -Wundefined-reinterpret-cast dereference of type %1 that was reinterpret_cast from type %0 has undefined behavior -Wundefined-reinterpret-cast reinterpret_cast from %0 to %1 has undefined behavior -Wuninitialized reference %0 is not yet bound to a value when used within its own initialization -Wuninitialized field %0 is uninitialized when used here -Wuninitialized block pointer variable %0 is uninitialized when captured by block -Wuninitialized variable %0 is uninitialized when used within its own initialization -Wuninitialized variable %0 is uninitialized when %select{used here|captured by block}1 -Wuninitialized reference %0 is not yet bound to a value when used here -Wunneeded-internal-declaration %select{function|variable}0 %1 is not needed and will not be emitted -Wunneeded-internal-declaration 'static' function %0 declared in header file should be declared 'static inline' -Wunneeded-member-function member function %0 is not needed and will not be emitted -Wunreachable-code will never be executed -Wunsequenced multiple unsequenced modifications to %0 -Wunsequenced unsequenced modification and access to %0 -Wunsupported-friend dependent nested name specifier '%0' for friend template declaration is not supported ignoring this friend declaration -Wunsupported-friend dependent nested name specifier '%0' for friend class declaration is not supported turning off access control for %1 -Wunsupported-visibility target does not support 'protected' visibility using 'default' -Wunused-comparison %select{equality|inequality}0 comparison result unused -Wunused-const-variable unused variable %0 -Wunused-exception-parameter unused exception parameter %0 -Wunused-function unused function %0 -Wunused-label unused label %0 -Wunused-member-function unused member function %0 -Wunused-parameter unused parameter %0 -Wunused-private-field private field %0 is not used -Wunused-property-ivar ivar %0 which backs the property is not referenced in this property's accessor -Wunused-result ignoring return value of function declared with warn_unused_result attribute -Wunused-value ignoring return value of function declared with %0 attribute -Wunused-value expression result unused should this cast be to 'void'? -Wunused-value expression result unused -Wunused-variable unused variable %0 -Wunused-volatile-lvalue expression result unused assign into a variable to force a volatile load -Wused-but-marked-unused %0 was marked unused but was used -Wuser-defined-literals user-defined literal suffixes not starting with '_' are reserved%select{ no literal will invoke this operator|}0 -Wvarargs second parameter of 'va_start' not last named argument -Wvarargs 'va_start' has undefined behavior with reference types -Wvarargs second argument to 'va_arg' is of promotable type %0 this va_arg has undefined behavior because arguments will be promoted to %1 -Wvector-conversion incompatible vector types %select{%diff{assigning to $ from $|assigning to different types}0,1|%diff{passing $ to parameter of type $|passing to parameter of different type}0,1|%diff{returning $ from a function with result type $|returning from function with different return type}0,1|%diff{converting $ to type $|converting between types}0,1|%diff{initializing $ with an expression of type $|initializing with expression of different type}0,1|%diff{sending $ to parameter of type $|sending to parameter of different type}0,1|%diff{casting $ to type $|casting between types}0,1}2 -Wvexing-parse parentheses were disambiguated as a function declaration -Wvexing-parse empty parentheses interpreted as a function declaration -Wvisibility declaration of %0 will not be visible outside of this function -Wvisibility redefinition of %0 will not be visible outside of this function -Wvla variable length array used -Wvla-extension variable length arrays are a C99 feature -Wweak-template-vtables explicit template instantiation %0 will emit a vtable in every translation unit -Wweak-vtables %0 has no out-of-line virtual method definitions; its vtable will be emitted in every translation unit Lexer Warnings Warning Message -W#pragma-messages %0 -W#warnings %0 -W#warnings %0 -Wambiguous-macro ambiguous expansion of macro %0 -Wauto-import treating #%select{include|import|include_next|__include_macros}0 as an import of module '%1' -Wbackslash-newline-escape backslash and newline separated by space -Wc++11-compat identifier after literal will be treated as a user-defined literal suffix in C++11 -Wc++11-compat '%0' is a keyword in C++11 -Wc++98-c++11-compat digit separators are incompatible with C++ standards before C++1y -Wc++98-c++11-compat-pedantic binary integer literals are incompatible with C++ standards before C++1y -Wc++98-compat raw string literals are incompatible with C++98 -Wc++98-compat unicode literals are incompatible with C++98 -Wc++98-compat universal character name referring to a control character is incompatible with C++98 -Wc++98-compat '::' is treated as digraph ':' (aka '[') followed by ':' in C++98 -Wc++98-compat using this character in an identifier is incompatible with C++98 -Wc++98-compat specifying character '%0' with a universal character name is incompatible with C++98 -Wc++98-compat-pedantic variadic macros are incompatible with C++98 -Wc++98-compat-pedantic #line number greater than 32767 is incompatible with C++98 -Wc++98-compat-pedantic C++98 requires newline at end of file -Wc++98-compat-pedantic empty macro arguments are incompatible with C++98 -Wc99-compat unicode literals are incompatible with C99 -Wc99-compat %select{using this character in an identifier|starting an identifier with this character}0 is incompatible with C99 -Wcomment '/*' within block comment -Wcomment escaped newline between */ characters at block comment end -Wdisabled-macro-expansion disabled expansion of recursive macro -Wheader-guard %0 is used as a header guard here, followed by #define of a different macro -Wignored-attributes unknown attribute '%0' -Wincomplete-module header '%0' is included in module '%1' but not listed in module map -Wincomplete-umbrella umbrella header for module '%0' does not include header '%1' -Winvalid-token-paste pasting formed '%0', an invalid preprocessing token, DefaultError -Wmalformed-warning-check __has_warning expected option name (e.g. \"-Wundef\") -Wnewline-eof no newline at end of file -Wnull-character null character ignored -Wnull-character null character(s) preserved in string literal -Wnull-character null character(s) preserved in character literal -Wtrigraphs ignored trigraph would end block comment -Wtrigraphs trigraph ignored -Wundef %0 is not defined, evaluates to 0 -Wunicode universal character names are only valid in C99 or C++ treating as '\\' followed by identifier -Wunicode \\%0 used with no following hex digits treating as '\\' followed by identifier -Wunicode incomplete universal character name treating as '\\' followed by identifier -Wunicode universal character name refers to a surrogate character -Wunknown-pragmas unknown pragma ignored -Wunknown-pragmas pragma STDC FENV_ACCESS ON is not supported, ignoring pragma -Wunused-macros macro is not used Parser Warnings Warning Message -Warc-bridge-casts-disallowed-in-nonarc '%0' casts have no effect when not using ARC -Wattributes unknown __declspec attribute %0 ignored -Wavailability 'unavailable' availability overrides all other availability information -Wc++11-compat use of right-shift operator ('') in template argument will require parentheses in C++11 -Wc++11-compat 'auto' storage class specifier is redundant and incompatible with C++11 -Wc++98-c++11-compat 'decltype(auto)' type specifier is incompatible with C++ standards before C++1y -Wc++98-compat range-based for loop is incompatible with C++98 -Wc++98-compat alias declarations are incompatible with C++98 -Wc++98-compat in-class initialization of non-static data members is incompatible with C++98 -Wc++98-compat defaulted function definitions are incompatible with C++98 -Wc++98-compat rvalue references are incompatible with C++98 -Wc++98-compat reference qualifiers on functions are incompatible with C++98 -Wc++98-compat inline namespaces are incompatible with C++98 -Wc++98-compat generalized initializer lists are incompatible with C++98 -Wc++98-compat trailing return types are incompatible with C++98 -Wc++98-compat enumeration types with a fixed underlying type are incompatible with C++98 -Wc++98-compat alignof expressions are incompatible with C++98 -Wc++98-compat '%0' keyword is incompatible with C++98 -Wc++98-compat 'decltype' type specifier is incompatible with C++98 -Wc++98-compat deleted function definitions are incompatible with C++98 -Wc++98-compat consecutive right angle brackets are incompatible with C++98 (use '> >') -Wc++98-compat static_assert declarations are incompatible with C++98 -Wc++98-compat scoped enumerations are incompatible with C++98 -Wc++98-compat lambda expressions are incompatible with C++98 -Wc++98-compat attributes are incompatible with C++98 -Wc++98-compat 'alignas' is incompatible with C++98 -Wc++98-compat noexcept specifications are incompatible with C++98 -Wc++98-compat literal operators are incompatible with C++98 -Wc++98-compat noexcept expressions are incompatible with C++98 -Wc++98-compat 'nullptr' is incompatible with C++98 -Wc++98-compat-pedantic extra '' outside of a function is incompatible with C++98 -Wc++98-compat-pedantic extern templates are incompatible with C++98 -Wc++98-compat-pedantic commas at the end of enumerator lists are incompatible with C++98 -Wdangling-else add explicit braces to avoid dangling else -Wdeprecated Use of 'long' with '__vector' is deprecated -Wdeprecated-declarations use of C-style parameters in Objective-C method declarations is deprecated -Wdeprecated-register 'register' storage class specifier is deprecated -Wduplicate-decl-specifier duplicate '%0' declaration specifier -Wextra-semi extra ';' after member function definition -Wextra-tokens "extra tokens at the end of '#pragma omp %0' are ignored -Wgcc-compat GCC does not allow %0 attribute in this position on a function definition -Wignored-attributes attribute %0 ignored, because it is not attached to a declaration -Wmicrosoft-exists dependent %select{__if_not_exists|__if_exists}0 declarations are ignored -Wmissing-selector-name %0 used as the name of the previous parameter rather than as part of the selector -Wsemicolon-before-method-body semicolon before method body is ignored -Wsource-uses-openmp "unexpected '#pragma omp ...' in program -Wstatic-inline-explicit-instantiation ignoring '%select{static|inline}0' keyword on explicit template instantiation 原博主:http://www.jianshu.com/p/eb03e20f7b1c 程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式! 本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/6058652.html ,如需转载请自行联系原作者

优秀的个人博客,低调大师

Linux 内核自防护项目

"2015年11月,华盛顿邮报发布了一篇关于Linux内核安全性的报道, 厂商们多年以来极力掩饰的Linux内核安全状况第一次呈现在了公众面前,虽然在黑客圈Linux内核自身安全的脆弱性早已经不是秘密,而多年以来自由软 件社区和商业用户也用各种各样的方式来规避Linux内核本身的安全性问题,由于Mobile和IoT的趋势,越来越多的人开始关注这个基础架构中的基础 架构和担心Linux的安全性会影响到未来重度依赖自由软件的IoT体系,由Kees Cook主导的Kernel Self-Protection Project( KSPP)应运而生,目标是为了让Linux内核本身具有对漏洞利用的防御能力,主要工作是参考PaX/Grsecurity的实现来移植或者重新实现类似的功能然后推进到Linux内核主线。随着Linux 4.6的发布,第一个加固patch合并到了主线,而Kees Cook也为KSPP编写了介绍性文档以让更多的人能了解和参与到KSPP中。" 文章转载自 开源中国社区[http://www.oschina.net]

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册