码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Xcode Build Setting之Compiler flags


    Xcode Build Setting之Compiler flags
    1、 Compiler flags设置方式

    Compiler flags在编译时定义常量,之后我们就可以在代码中使用这些长常量。有三种方式可以设置常量,分别如下

    • OTHER_CFLAGS(other C Flags)
    • GCC_RREPROCESSOR_DEFINITIONS(Preprocessor Macros)
    • INFOPLIST_PREPROCESSOR_DEFINITIONS(info.plist Preprocessor Definitions)

    三者的不同之处

    • 传递给编译器的方式不同

    在于使用other C Flags设置的宏是直接传递给编译器

    • 使用方式不同

    (1)使用other C Flags设置宏时,需要加上“-D”前缀,例如设置DEBUG的宏,格式如下,编译器接收到设置后会定义“DEBUG”的宏

    OTHER_CFLAGS=‘-DDEBUG’
    
    • 1

    (2)使用另外两种方式设置时,也就是使用预处理器设置时在传递给编译器之前会自动加上“-D”,所以使用另外两种方式设置宏时只需要关系业务使用的宏名字即可

    GCC_RREPROCESSOR_DEFINITIONS=‘-DEBUG’
    
    • 1
    2、Compiler flags 的值

    常量本质上是bool值,不过可以设置值(DEBUG=1)或者仅是常量定义(DEBUG)

    扩展:OTHER_CFLAGS (Other C Flags)介绍

    Description:Space-separated list of option specifications. Specifies additional options for compiling C-based precompiled headers and implementation files. These options are passed (as given) to the compiler whether other build settings also specify values that correspond to these options. Therefore, you should look for the appropriate compiler build setting to specify a particular compiler option before using this build setting.
    Default value:None.
    Example value:-dM
    Affects:OTHER_CPLUSPLUSFLAGS (Other C++ Flags).
    Related to:OTHER_CFLAGS_.

    Other C Flags

    形式:以空格分隔的选项规格列表

    作用:指定用于编译基于C的预编译头文件和实现文件的选项。无论其他build setting是否也指定了与这些选项对应的值,这些选项都会传递给编译器

  • 相关阅读:
    RabbitMQ安装和使用(docker版本)
    慢跑是早上跑好,还是晚上跑好?对的时间跑,效果可能还翻倍
    IOS卡在更新进度界面处理办法
    C++学习——友元函数和友元类(friend关键字)
    钢铁与不锈钢区别
    Linux系统编程·进程状态
    Hexo+Github 托管个人博客手把手教程
    吴恩达机器学习复习1:监督学习、无监督学习、模型表示、损失函数、直觉Ⅰ、直觉Ⅱ、梯度下降及其直觉、线性回归的梯度下降
    GitHub配置账号Pull Request更新代码分支
    Linux内存管理(二十五):slub 分配器之kmem_cache_destroy
  • 原文地址:https://blog.csdn.net/u011774517/article/details/126782167
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号