我有一个项目涉及子目录与子makefile.我知道我可以使用export命令通过环境将变量从父makefile传递到子makefile.有没有办法将变量从子makefile传递给它的调用makefile?即可以反过来出口工作?我试过这个没有成功.我猜测一旦子make完成它的shell就会被破坏,同时它的环境变量也会被破坏.还有另一种向上传递变量的标准方法吗?
每当我想要一个 make 命令来显示一个文件时,我就会遇到这个问题,该文件是使用操作系统的默认应用程序打开该类型文件并遵循特定配方而产生的。
例如...我主要在 Linux 中工作。我可以生成并查看代码文档,并将make docs以下内容放入 Makefile 中:
docs:
cd ${DIR_WORKING}/doc/; doxygen Doxyfile
xdg-open ${DIR_WORKING}/doc/html/index.html &
Run Code Online (Sandbox Code Playgroud)
我想在Windows中使用make docs并具有相同的效果。我也可以使用用户分配的变量,例如 a$(OPEN)代替xdg-open。有没有一种方法可以使用 Windows 和 Linux 中的默认程序打开文件,而不需要用户修改 Makefile?我从未在我的代码中使用过 Autoconf,并希望有一个不依赖于这个方向的解决方案。
我试图理解delete []的用法.以下代码是否会发生内存泄漏?
int * getArray( )
{
int *r = new int[10];
for (int i = 0; i < 10; ++i)
r[i] = i;
return r;
}
int main ()
{
int *array;
for ( int i = 0; i < 10; i++ ) // main loop
array = getArray();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
主循环似乎是为10个数组分配内存,其中只有最后一个数组有一个有效的指针.如果这是内存泄漏,我如何释放存储前9个阵列的内存?
我也可以用来const int r[10];代替编译int *r = new int[10];.可以使用const避免内存泄漏吗?