Xcode警告消除宏

在iOS开发过程中, 我们可能会碰到一些系统方法弃用, weak、循环引用、不能执行之类的警告。 有代码洁癖的孩子们很想消除他们, 今天就让我们来一次Fuck 警告!!

首先学会基本的语句

#pragma clang diagnostic push

#pragma clang diagnostic ignored"-Wdeprecated-declarations"

这里写出现警告的代码

#pragma clang diagnostic pop

这样就消除了方法弃用的警告!

同理, 大家可以在下边搜索到对应的警告, 这样 就可以把前边的字串填入上边的ignored的后边, 然后阔住你的代码, 就OK了

喜欢请关注、哈哈

源网址

Semantic WarningsWarning Message

-WCFString-literal  input conversion stopped due to an input byte that doesnotbelong to the input codeset UTF-8

-WNSObject-attribute    __attribute ((NSObject)) may be put on a typedef only, attribute is ignored

-Wabstract-vbase-init  initializerforvirtual baseclass%0ofabstractclass%1willneverbeused

-Waddress-of-array-temporary    pointer is initialized by a temporary array, which will be destroyed at theendof 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 timesinthis %select{function|method|block|lambda}2but may be unpredictably set tonilassign to a strong variable to keep the object alive

-Warc-retain-cycles capturing %0stronglyinthis 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|shouldnothappen|block literal}0 to a weak %select{property|variable}1object will be released after assignment

-Warc-unsafe-retained-assign    assigning retained object to %select{weak|unsafe_unretained}0 %select{property|variable}1object will be released after assignment

-Warray-bounds  array index %0is past theendof the array (which contains %1element%s2)

-Warray-bounds  array index %0is before the beginning of the array

-Warray-bounds'static'has no effect on zero-length arrays

-Warray-bounds  array argument is too small contains %0elements, callee requires at least %1

-Warray-bounds-pointer-arithmetic  the pointer incremented by %0refers past theendof the array (that contains %1element%s2)

-Warray-bounds-pointer-arithmetic  the pointer decremented by %0refers before the beginning of the array

-Wassign-enum  integer constantnotinrange of enumerated type %0

-Watomic-property-with-user-defined-accessor    writable atomic property %0cannot pair a synthesized %select{getter|setter}1 with a userdefined%select{getter|setter}2

-Wattributes    unknown attribute %0ignored

-Wauto-var-id'auto'deduced as'id'indeclaration of %0

-Wavailability  unknown platform %0inavailability macro

-Wavailability  overriding method %select{introduced after|deprecated before|obsoleted before}0overridden method on %1(%2vs. %3)

-Wavailability  availability doesnotmatch previous declaration

-Wavailability  overriding method cannot be unavailable on %0whenits overridden method is available

-Wavailability  feature cannot be %select{introduced|deprecated|obsoleted}0in%1version %2before it was %select{introduced|deprecated|obsoleted}3inversion %4attribute ignored

-Wbad-function-cast cast from function call of type %0to non-matching type %1

-Wbitfield-constant-conversion  implicit truncation from %2to bitfield changes value from %0to %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 declarationina constexpr %select{function|constructor}0 is incompatible with C++ standards before C++1y

-Wc++98-c++11-compat    constexpr function with noreturnstatements is incompatible with C++ standards before C++1y

-Wc++98-c++11-compat    multiplereturnstatementsinconstexpr 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}0member %1with 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 typeinnested name specifier is incompatible with C++98

-Wc++98-compat  static data member %0inunion is incompatible with C++98

-Wc++98-compat  default template argumentsfora 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'keywordisincompatiblewithC++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 declaringclassisincompatiblewithC++98

-Wc++98-compat  non-classfriendtype%0isincompatiblewithC++98

-Wc++98-compat  befriending enumeration type %0is incompatible with C++98

-Wc++98-compat  use of non-static data member %0inan unevaluated context is incompatible with C++98

-Wc++98-compat  friend function %0would be implicitly redefinedinC++98

-Wc++98-compat  %select{classtemplate|classtemplatepartial|variabletemplate|variabletemplatepartial|functiontemplate|memberfunction|staticdatamember|memberclass|memberenumeration}0specializationof%1outsidenamespace%2isincompatiblewithC++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}1is incompatible with C++98

-Wc++98-compat  goto would jump into protected scopeinC++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  switchcasewould beina protected scopeinC++98

-Wc++98-compat'%0'type specifier is incompatible with C++98

-Wc++98-compat  indirect goto might cross protected scopesinC++98

-Wc++98-compat-pedantic cast between pointer-to-functionandpointer-to-object is incompatible with C++98

-Wc++98-compat-pedantic implicit conversion from array size expression of type %0to %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 uninitializedwhen%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 willnotbe implicitly'const'inC++1y add'const'to avoid a changeinbehavior

-Wconsumed  state of variable'%0'must match at the entryandexit of loop

-Wconsumed  parameter'%0'notinexpected statewhenthe functionreturns:expected'%1', observed'%2'

-Wconsumed  argumentnotinexpected state expected'%0', observed'%1'

-Wconsumed  invalid invocation of method'%0'on a temporary objectwhileit isinthe'%1'state

-Wconsumedreturnstate setforan unconsumable type'%0'

-Wconsumed  consumed analysis attribute is attached to member ofclass'%0'whichisn'tmarkedasconsumable

-Wconsumed  invalid invocation of method'%0'on object'%1'whileit isinthe'%2'state

-Wconsumedreturnvaluenotinexpected state expected'%0', observed'%1'

-Wconversion    implicit conversion discards imaginarycomponent:%0to %1

-Wconversion    non-type template argument with value'%0'converted to'%1'forunsigned template parameter of type %2

-Wconversion    implicit conversion loses floating-pointprecision:%0to %1

-Wconversion    implicit conversion loses integerprecision:%0to %1

-Wconversion    non-type template argument value'%0'truncated to'%1'fortemplate parameter of type %2

-Wconversion    implicit conversion turns vector toscalar:%0to %1

-Wconversion    implicit conversion turns floating-point number intointeger:%0to %1

-Wcovered-switch-default    default labelinswitch which covers all enumeration values

-Wcustom-atomic-properties  atomic by default property %0has a userdefined%select{getter|setter}1 (property should be marked 'atomic'ifthis is intended)

-Wdangling-field    initializing pointer member %0 with the stack address of parameter %1

-Wdangling-field    binding reference %select{|subobject of }1member %0to a temporary value

-Wdangling-field    binding reference member %0to stack allocated parameter %1

-Wdangling-initializer-list array backing the initializer list will be destroyed at theendof %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}1for%0is 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 deprecatedinfavor of object_getClass()

-Wdeprecated-objc-pointer-introspection bitmaskingforintrospection 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 %0is being directly accessed-

Wdistributed-object-modifiers  conflicting distributed object modifiers onreturntypeinimplementation of %0

-Wdistributed-object-modifiers  conflicting distributed object modifiers on parameter typeinimplementation of %0

-Wdivision-by-zero  division by zero is undefined

-Wdivision-by-zero  remainder by zero is undefined

-Wdocumentation parameter'%0'notfoundinthe function declaration

-Wdocumentationnota Doxygen trailing comment

-Wduplicate-enum    element %0has been implicitly assigned %1which another element has been assigned

-Wduplicate-method-match    multiple declarations of method %0foundandignored

-Wdynamic-class-memaccess%select{destinationfor|sourceof|firstoperandof|secondoperandof}0this%1callisapointertodynamicclass%2vtablepointerwillbe%select{overwritten|copied|moved|compared}3

-Wempty-body    switch statement has empty body

-Wempty-bodyforloop has empty body

-Wempty-bodyifstatement has empty body

-Wempty-body    range-basedforloop has empty body

-Wempty-bodywhileloop 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 0inC, %select{size 1|non-zero size}2inC++

-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 onreturntype %plural{1:has|:have}1no effect

-Wignored-qualifiers    ARC %select{unused|__unsafe_unretained|__strong|__weak|__autoreleasing}0lifetime qualifier onreturntype is ignored-Wimplicit-atomic-properties    property is assumed atomic by default

-Wimplicit-atomic-properties    property is assumed atomicwhenauto-synthesizing the property

-Wimplicit-fallthrough  fallthrough annotationinunreachable code

-Wimplicit-fallthrough  unannotated fall-through between switch labels

-Wimplicit-fallthrough  fallthrough annotation doesnotdirectly 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}2expected 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}2call will abort at runtime

-Wnon-virtual-dtor  %0has virtual functions but non-virtual destructor

-Wnonnull  null passed to a callee which requires a non-null argument

-Wnull-arithmetic  use of NULLinarithmetic operation

-Wnull-arithmetic  comparison between NULLandnon-pointer %select{(%1andNULL)|(NULLand%1)}0

-Wnull-dereference  indirection of non-volatile null pointer will be deleted,nottrap

-Wobjc-autosynthesis-property-ivar-name-match  autosynthesized property %0 will use %select{|synthesized}1instance variable %2,notexisting instance variable %3

-Wobjc-forward-class-redefinitionredefinitionofforwardclass%0ofatypedefnameofanobjecttypeisignored

-Wobjc-interface-ivars  declaration of instance variablesinthe interface is deprecated

-Wobjc-literal-compare  direct comparison of %select{an array literal|a dictionary literal|a numeric literal|a boxed expression|}0has undefined behavior

-Wobjc-literal-missing-atsign  string literal must be prefixed by'@'

-Wobjc-method-access    instance method %objcinstance0notfound (returntype defaults to'id') did you mean %objcinstance2?

-Wobjc-method-accessclassmethod%objcclass0notfound(returntypedefaultsto'id')didyoumean%objcclass2?

-Wobjc-method-access    instance method %objcinstance0notfound (returntype defaults to'id')

-Wobjc-method-access    instance method %0is being used on'Class'which isnotinthe rootclass

-Wobjc-method-accessclassmethod%objcclass0notfound(returntypedefaultsto'id')

-Wobjc-method-access    instance method %0found instead ofclassmethod%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 conventionforreturning'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'notappropriatefornon-GC object-Wobjc-property-synthesis  auto property synthesis willnotsynthesize 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}0may be unpredictably set tonil

-Wreinterpret-base-class'reinterpret_cast' %select{from|to}3class%0 %select{to|from}3its%select{virtualbase|baseatnon-zerooffset}2 %1behavesdifferentlyfrom'static_cast'

-Wreorder  %select{field|baseclass}0 %1 will be initialized after %select{field|base}2%3

-Wrequires-super-attribute  %0attribute cannot be applied to %select{methodsinprotocols|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 reachendof non-void function

-Wreturn-type  non-void %select{function|method}1%0shouldreturna value, DefaultError

-Wreturn-type  control reachesendof non-void function

-Wreturn-type-c-linkage %0has C-linkage specified, but returns incomplete type %1which could be incompatible with C

-Wreturn-type-c-linkage %0has C-linkage specified, but returns user-definedtype %1which is incompatible with C

-Wsection  section doesnotmatch previous declaration

-Wselector  creating selectorfornonexistent method %0

-Wselector-type-mismatch    multiple selectors named %0found

-Wself-assign  explicitly assigning a variable of type %0to itself

-Wself-assign-field assigning %select{field|instance variable}0 to itself

-Wsentinel  "missing sentinelin%select{function call|method dispatch|block call}0

-Wsentinelnotenough variable argumentsin%0 declaration to fit a sentinel

-Wshadow    declaration shadows a %select{" "local variable|" "variablein%2|" "static data member of %2|" "field of %2}1

-Wshadow-ivar  local declaration of %0hides 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 %1bits to represent, but %2only has %3bits

-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 isnotdefined

-Wundefined-internal    %select{function|variable}0%q1 has internal linkage but isnotdefined

-Wundefined-reinterpret-cast    dereference of type %1that was reinterpret_cast from type %0has undefined behavior

-Wundefined-reinterpret-cast    reinterpret_cast from %0to %1has undefined behavior

-Wuninitialized reference %0isnotyet bound to a valuewhenused within its own initialization

-Wuninitialized field %0is uninitializedwhenused here

-Wuninitialized block pointer variable %0is uninitializedwhencaptured by block

-Wuninitialized variable %0is uninitializedwhenused within its own initialization

-Wuninitialized variable %0is uninitializedwhen%select{used here|captured by block}1

-Wuninitialized reference %0 isnotyet bound to a valuewhenused here

-Wunneeded-internal-declaration %select{function|variable}0%1isnotneededandwillnotbe emitted

-Wunneeded-internal-declaration'static'function %0declaredinheader file should be declared'static inline'

-Wunneeded-member-function  member function %0isnotneededandwillnotbe emitted

-Wunreachable-code  will never be executed

-Wunsequenced  multiple unsequenced modifications to %0

-Wunsequenced  unsequenced modificationandaccess to %0

-Wunsupported-friend    dependent nested name specifier'%0'forfriend template declaration isnotsupported ignoring this friend declaration

-Wunsupported-friend    dependent nested name specifier'%0'forfriendclassdeclarationisnotsupportedturningoffaccesscontrolfor%1

-Wunsupported-visibility    target doesnotsupport'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 isnotused

-Wunused-property-ivar  ivar %0 which backs the property isnotreferencedinthis property's accessor

-Wunused-result ignoringreturnvalue of function declared with warn_unused_result attribute

-Wunused-value  ignoringreturnvalue 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-definedliteral suffixesnotstarting with '_' are reserved%select{ no literal will invoke this operator|}0

-Wvarargs  second parameter of'va_start'notlast named argument

-Wvarargs'va_start'has undefined behavior with reference types

-Wvarargs  second argument to'va_arg'is of promotable type %0this 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 differentreturntype}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 %0willnotbe visible outside of this function

-Wvisibility    redefinition of %0willnotbe 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 %0will emit a vtableinevery translation unit

-Wweak-vtables  %0has no out-of-line virtual method definitions; its vtable will be emittedinevery translation unitLexer WarningsWarning 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  backslashandnewline separated by space

-Wc++11-compat  identifier after literal will be treated as a user-definedliteral suffixinC++11

-Wc++11-compat'%0'is a keywordinC++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':'inC++98

-Wc++98-compat  using this characterinan 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++98requires newline atendof 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 characterinan identifier|starting an identifier with this character}0 is incompatible with C99

-Wcomment  '/*' within block comment

-Wcomment  escaped newline between */ characters at block commentend

-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-moduleheader '%0' is includedinmodule'%1' butnotlistedinmodulemap

-Wincomplete-umbrella  umbrella headerformodule'%0' doesnotincludeheader '%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 atendof file

-Wnull-character    null character ignored

-Wnull-character    null character(s) preservedinstring literal

-Wnull-character    null character(s) preservedincharacter litera

l-Wtrigraphs ignored trigraph wouldendblock comment

-Wtrigraphs trigraph ignored

-Wundef %0 isnotdefined, evaluates to 0

-Wunicode  universal character names are only validinC99orC++ 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 isnotsupported, ignoring pragma

-Wunused-macros macro isnotusedParser WarningsWarning Message

-Warc-bridge-casts-disallowed-in-nonarc '%0' casts have no effectwhennotusing ARC

-Wattributes    unknown __declspec attribute %0 ignored

-Wavailability  'unavailable' availability overrides all other availability information

-Wc++11-compat  use of right-shift operator ('')intemplate argument willrequireparenthesesinC++11

-Wc++11-compat  'auto' storageclassspecifier is redundantandincompatible with C++11

-Wc++98-c++11-compat    'decltype(auto)' type specifier is incompatible with C++ standards before C++1y

-Wc++98-compat  range-basedforloop is incompatible with C++98

-Wc++98-compataliasdeclarations are incompatible with C++98

-Wc++98-compatin-classinitialization 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  trailingreturntypes 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 theendof enumerator lists are incompatible with C++98

-Wdangling-elseadd explicit braces to avoid danglingelse

-Wdeprecated    Use of 'long' with '__vector' is deprecated

-Wdeprecated-declarations  use of C-style parametersinObjective-C method declarations is deprecated

-Wdeprecated-register  'register' storageclassspecifier is deprecated

-Wduplicate-decl-specifier  duplicate '%0' declaration specifier

-Wextra-semi    extra ';' after member function definition

-Wextra-tokens  "extra tokens at theendof '#pragma omp %0' are ignored

-Wgcc-compat    GCC doesnotallow %0 attributeinthis position on a function definition

-Wignored-attributes    attribute %0 ignored, because it isnotattached to a declaration

-Wmicrosoft-exists  dependent %select{__if_not_exists|__if_exists}0declarations are ignored

-Wmissing-selector-name %0used 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

作者:WildDylan

链接:https://www.jianshu.com/p/eb03e20f7b1c

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容