代码之家  ›  专栏  ›  技术社区  ›  pgb

_目标C的objc_uuuu等价物++

  •  2
  • pgb  · 技术社区  · 15 年前

    我正在为一个iPhone应用程序编译一个.m m文件(objective-c++),预编译头没有包含基类。

    我追踪到如下:

    #ifdef __OBJC__
        #import <Foundation/Foundation.h>
        #import <UIKit/UIKit.h>
    #endif
    

    原来, __OBJC__ 对于m m文件是未定义的,而对于标准m文件是定义的。

    是否有其他标志可以替代?

    1 回复  |  直到 15 年前
        1
  •  2
  •   DaveR    15 年前

    如果使用 -dM -E 它将在预处理后停止,并列出所有 #defines . 这通常是我检查内置定义设置的方式;但是我只是用一个测试来尝试这个方法。 .mm 文件和 __OBJC__ 是为我定义的,所以我不知道为什么没有为你定义。

    $ echo "int foo() {};" > tmp.mm
    $ gcc -dM -E tmp.mm|grep OBJ
    #define __OBJC__ 1
    #define OBJC_NEW_PROPERTIES 1