c++ - execl - 现在没有可用于编程的内存 (OS X/XCode/C++)

标签 c++ xcode macos

我正在尝试执行一个运行“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/

相关文章:

c++ - 什么时候使用 std::pair 比较好?

c++ - 如何在 cocos2d-x 中以自定义类作为根节点访问子 ccb 文件中的变量

c++ - 解析jsonarray?

c++ - Xcode C++ 调试

linux - 如何在grep期间显示文件名

C++ 接口(interface)与模板

xcode - 带有属性的 LLDB 类型摘要 (N​​SManagedObject)

swift - Apple Mach-O 链接器错误(静态,不是 ld)

git - 签署提交时无法在 Vim 上使用 Gcommit(Fugitive 插件)

objective-c - 在 OS X 中以编程方式打开 map 应用程序