【发布时间】:2017-04-25 15:09:48
【问题描述】:
我想知道是否可以为 gcc 指示一些标志,其中包含不同类型文件的目录,例如 .wav 或 .txt。然后在我的代码中,我不需要指明读取文件的目录。
【问题讨论】:
-
使用 -D 将其作为宏传递到编译行?
-
不清楚你想要完成什么。 gcc 是一个编译器(前端),它需要特定的输入格式。我认为它不能播放音频文件。
我想知道是否可以为 gcc 指示一些标志,其中包含不同类型文件的目录,例如 .wav 或 .txt。然后在我的代码中,我不需要指明读取文件的目录。
【问题讨论】:
在编译行将其作为宏传递,例如:
#include <stdio.h>
#define qstr(a) str(a)
#define str(a) #a
int main(void)
{
printf("The path is %s\n", qstr(MY_FILE_PATH));
return 0;
}
然后编译为:
gcc -DMY_FILE_PATH="`pwd`/mymediadir/mywavfilesdir" test.c -o test
运行时给出:
./test
The path is /home/joe/tmp/mymediadir/mywavfilesdir
【讨论】:
~,其次您需要转义引号,以便它们出现在 MY_FILE_PATH 的值中。