我有一个问题涉及如何在各种环境中解释相对路径.如果我有一个C代码要使用Makefile和gcc在linux上编译,并且如果某个源文件有:
fopen(“../../xyz.ctl”, ”r”);
这个文件应该放在哪里.或者换句话说,如果我有
fopen(“xyz.ctl” , ”r”);
编译器会在同一个文件夹中查找xyz.ctl: -
a.)哪里有这个语句fopen的源文件?
b.)makefile在哪里?
c.)将生成linux可执行文件的位置?
我知道MSVC所有相对路径都来自具有*.dsw(工作区文件)的文件夹.对于RVDS环境,它从生成可执行文件*.axf的文件夹开始.
-广告
您的Makefile调用gcc,它编译包含fopen()的代码.执行新编译的代码时会调用fopen().启动程序时,该路径相对于当前工作目录.