我正在尝试执行一个运行“ls”命令的非常简单的程序 我在 Mac OS 10.7 下工作,使用 XCode 和 C++ 这是代码:
#include <iostream>
using namespace std;
int main(void)
{
cout << "Hello world" << endl;
execl("/bin/ls","ls",NULL);
return 0;
}
跟随输出后崩溃
Hello world
No memory available to program now: unsafe to call malloc
我试着用谷歌搜索它,但没有成功,关于我可能做错了什么有什么想法吗?
最佳答案
这只是“我的意见”
来自手册页:
The exec family of functions replaces the current process image with a new process image.
可能是因为它试图替换调试器进程,所以它崩溃了(该应用程序是从 Xcode 运行的......)。如果您从命令行执行应用程序,它会工作...
关于c++ - execl - 现在没有可用于编程的内存 (OS X/XCode/C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9909940/