objective-c - 如何在clang CFLAGS(字符串文字)中#define和使用表达式
问题描述
我正在尝试Name
在命令行中定义字符串文字并在我的代码中使用它,例如NSLog("%@", Name);
. 我指的是这篇文章并试图将其转换为 clang/objective-c 格式。
在我的生成文件中:
clang -DName=$(printf "%s-%d" $(ls $(PWD)/.folderA/folderB | sort -V | tail -n 1) $(cat $(PWD)/folderA/folderB/$(ls $(PWD)/.folderA/folderB | sort -V | tail -n 1)))
在我的代码中:
#define STRINGIZE(x) #x
#define STRINGIZE_VALUE_OF(x) STRINGIZE(x)
NSLog(@"%@", [NSString stringWithUTF8String:STRINGIZE_VALUE_OF(Name)]);
但是,记录的输出为空。但是,如果我尝试更简单的命令,例如
clang -DName=$(PWD)
它确实记录正确。知道为什么吗?
解决方案
推荐阅读
- css - 我可以在 iFrame 中使用 CSS @media 来响应父级的视口宽度吗?
- flutter - Flutter ListView - 如果不扩展超出屏幕,则居中项目
- linux - 按区域运行 Ansible Playbook
- ios - 带有奇怪的长动态链接 url 格式问题的 iOS Firebase 动态链接
- magento - Magento 2.3.5-p1 由于内容安全策略,前端为空白
- reporting-services - Azure 数据库是否支持 SSRS?
- c# - WPF ListView UI 获取新添加的 UI 元素
- python-3.x - 一个字符串元素的列表被转换为字符列表
- java - proguard 规则不适用于某些 Java 文件
- android - 切换片段后切换按钮不改变状态