我在源代码中遇到过这个问题:
#define DEFAULT_PATHNAME "@SDK_DEFAULT_PATHNAME@"
在这种情况下@
符号表示什么?
修改:
Camke被用来产生这个项目
该值用作文件的路径
答案 0 :(得分:6)
CMake有这个很棒的命令configure_file
,它允许你的构建系统生成一个在构建中使用的文件,其中变量SDK_DEFAULT_PATHNAME
的内容(即值)将是将@SDK_DEFAULT_PATHNAME@
的位置放在“已配置的文件”中。
答案 1 :(得分:1)
在这种情况下,它是字符串的一部分,没什么特别的。
例如,在Windows上,您可以使用以下字符串:
#define DEFAULT_PATHNAME "%PATH_TO_SDK%"
%
个角色扮演相同的角色。在C ++和一般的字符串中,它没有任何意义(与\
不同,它用于转义字符)。
编辑: 澄清一下,尤其是关于你的评论:
该值用作程序打开文件的路径,当删除@程序时
操作系统可能需要读取此字符,正如我在Windows上使用%
示例所述,将该路径视为在环境变量中查找的内容,例如。再一次,它在C ++或一般字符串中没有特殊含义,但可能适用于其他程序。