小编sou*_*thp的帖子

如何获取系统调用调用的程序退出代码?

例如,程序a.out:

int main()
{
    return 0x10;
}
Run Code Online (Sandbox Code Playgroud)

程序b.out:

int main()
{
    if(system("./a.out") == 0x10)
       return 0;
    else
       return -1;
}
Run Code Online (Sandbox Code Playgroud)

根据cppreference,返回值system()依赖于实现的.因此,程序b.out的尝试显然是错误的.

在上面的例子中,我如何获得0x10而不是未确定的值?如果系统调用不是正确的工具,那么正确的方法是什么?

c++

5
推荐指数
1
解决办法
8006
查看次数

无法在OSX 10.9.5上安装haskell-src-exts-1.16.0

我的环境:

我做了cabal install alexcabal install happy.cabal二进制路径被确认添加到我的$ PATH中$(HOME)/Library/Haskell/bin/.

cabal install haskell-src-exts 发出以下编译错误:

[19 of 22] Compiling Language.Haskell.Exts.InternalParser ( dist/build/Language/Haskell/Exts/InternalParser.hs, dist/build/Language/Haskell/Exts/InternalParser.o )

templates/GenericTemplate.hs:104:22:
    Couldn't match expected type ‘Bool’
                with actual type ‘Happy_GHC_Exts.Int#’
    In the expression:
      (n Happy_GHC_Exts.<# (0# :: Happy_GHC_Exts.Int#))
    In a stmt of a pattern guard for
                   a case alternative:
      (n Happy_GHC_Exts.<# (0# :: Happy_GHC_Exts.Int#))
    In a case alternative:
        n | (n Happy_GHC_Exts.<# (0# :: …
Run Code Online (Sandbox Code Playgroud)

macos haskell ghc cabal

4
推荐指数
1
解决办法
1399
查看次数

bad_alloc详细?

我从事游戏项目.最近,当我们加载/卸载不同的场景大约三次时,我们遇到了一个问题,我们捕获了"bad_alloc"异常.

每次加载场景时,我们首先将压缩的.zip文件夹加载到内存中,然后从中提取游戏对象.由于我们没有任何内存分析器工具,我只需使用Process Explorer的性能图来查看发生了什么:

  1. 运行游戏==> ~620 MB
  2. 加载第一个场景==> ~1.1 GB
  3. 卸载它==> ~620 MB
  4. 加载第二个场景==> ~1.1 GB
  5. 卸载它==> ~620 MB
  6. 加载第3个场景==> bad_alloc

我追溯到每个负载的新运算符.加载压缩文件夹本身需要100~120 MB内存,而bad_alloc会在第3次加载时从中抛出.

我们的平台安装了2GB物理内存.在卸载场景后,我们似乎没有留下任何东西.每个压缩文件夹大小相同.但是,第3次加载的新运算符不起作用.

我想知道,这个bad_alloc的可能含义是什么?内存不足?或者根本无法分配所需大小的连续块?如果确实有几种可能性,我该如何判断呢?

任何帮助都是适用的,谢谢!

c++ memory

0
推荐指数
1
解决办法
717
查看次数

标签 统计

c++ ×2

cabal ×1

ghc ×1

haskell ×1

macos ×1

memory ×1