小编Eon*_*nil的帖子

Haskell的GC性能如何用于游戏等软实时应用程序?

因为我意识到游戏规则逻辑应该处理巨大的复杂性,我正在考虑在游戏领域中使用非典型语言作为游戏中的逻辑脚本语言.游戏中脚本的原因是用较少的代码表示复杂的逻辑.因此需要极其抽象的语言.

但大多数提取良好的语言都使用GC.通常,GC会产生CPU突发负载.基本上它推迟了清除内存操作,并立即执行.对包括游戏和GUI在内的实时图形至关重要.

AFAIK,Haskell的GC与其他基于GC的语言略有不同,因为它是不可变的属性.很难想象.我没有详细找到任何文件.

有什么不同?对于长时间运行的程序,CPU是否可以免费使用?(随着时间的推移分布均匀,可以为每个滴答调用手动完成GC命令)

performance garbage-collection haskell real-time soft-real-time

23
推荐指数
1
解决办法
2187
查看次数

C代码后变量名后的冒号

可能重复:
'unsigned temp:3'表示什么

这是参考页面的C代码示例.

      signed int _exponent:8;
Run Code Online (Sandbox Code Playgroud)

在'8'和'8'之前结肠的含义是什么?

c syntax bit-fields

22
推荐指数
2
解决办法
2万
查看次数

在Haskell和C之间交换结构化数据

首先,我是Haskell的初学者.

我正计划将Haskell集成到C中用于实时游戏.Haskell做逻辑,C做渲染.要做到这一点,我必须为每个滴答(每秒至少30次)从彼此传递巨大的复杂结构数据(游戏状态).所以传递的数据应该是轻量级的.该状态数据可以放在存储器上的顺序空间上.Haskell和C部分都应该自由地访问各州的每个区域.

在最好的情况下,传递数据的成本可以是复制指向内存的指针.在最坏的情况下,通过转换复制整个数据.

我正在阅读Haskell的FFI(http://www.haskell.org/haskellwiki/FFICookBook#Working_with_structs)Haskell代码看起来明确指定了内存布局.

我有几个问题.

  1. Haskell可以明确指定内存布局吗?(与C结构完全匹配)
  2. 这是真正的内存布局吗?或者需要进行任何类型的转换?(表现罚款)
  3. 如果Q#2为真,那么在明确指定内存布局时会有任何性能损失吗?
  4. 语法是#{alignment foo}什么?我在哪里可以找到关于此的文件?
  5. 如果我想以最佳性能传递大量数据,我该怎么做?

*PS显式内存布局功能,我说只是C#的[StructLayout]属性.这明确指定了内存中的位置和大小. http://www.developerfusion.com/article/84519/mastering-structs-in-c/

我不确定Haskell是否匹配语言构造与C struct的字段匹配.

c syntax haskell ffi

22
推荐指数
2
解决办法
2822
查看次数

Rust支持类似Ruby的字符串插值吗?

在Ruby中,我可以做到这一点.

aaa = "AAA"
bbb = "BBB #{aaa}"

puts(bbb)

> "BBB AAA"
Run Code Online (Sandbox Code Playgroud)

这种语法的重点是消除重复,并使其感觉像一个shell脚本 - 非常适合繁重的字符串操作.

Rust支持这个吗?或者有计划支持这个?或者有一些可以模仿的功能?

string-interpolation rust

22
推荐指数
3
解决办法
6248
查看次数

是否禁止在iOS应用程序中为AppStore使用JIT(即时)编译代码?

我听说iOS AppStore中不允许使用JIT编译代码,因为禁止在堆中放置可执行代码.那对吗?还是只是谣言?

jit appstore-approval ios

21
推荐指数
1
解决办法
1万
查看次数

如何让Xcode4在NSAssert失败时停止?

目前,我的Xcode4并未停止NSAssert失败.我怎样才能让它NSAssert再次失败?

xcode4

21
推荐指数
1
解决办法
3851
查看次数

在C中的函数标准中是`typedef`和`struct`吗?

我使用了这样的代码:

void A()
{
    typedef struct B B;
    struct B
    {

    };

    B b;
};
Run Code Online (Sandbox Code Playgroud)

typedefstruct函数内的定义.它与Clang编译,但我想知道(1)它们是否属于标准的一部分.关于(2)是否仅限于在功能范围内被认可.

c standards scope typedef function

20
推荐指数
2
解决办法
2万
查看次数

如何在没有MANIFEST.MF的情况下运行Java .jar?

是否可以运行不包含MANIFEST.MF文件的Java应用程序?当然,有静态main方法,只缺少清单文件.该应用程序依赖于几个外部.jar文件.

如果这可能,怎么做?

java manifest

19
推荐指数
3
解决办法
2万
查看次数

如何在iOS7中更改UIAlertView的按钮文字颜色?

iOS7推出了一般的色彩.我认为UIAlertView也在有效范围内,但实际上tintColor看起来不适用UIAlertView.(用于可点击的按钮文字颜色)

是否可以更改警报视图的色调?如果可能,如何改变它?

uialertview tintcolor ios7

19
推荐指数
1
解决办法
2万
查看次数

在C++命名空间中包含C头 - 它是标准行为吗?

我一直认为C头文件必须包含在C++程序的顶层.无论如何,我偶然发现C++允许在子命名空间中包含C头.

namespace AAA {
    extern "C" {
        #include "sqlite3.h"     // C API.
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,所有C类型和函数都将放在命名空间中.更有趣的是,所有链接的C函数也正常工作!我还发现这可能会导致一些预处理器问题,但除此之外,它似乎工作得很好.

这是标准行为吗?(我正在使用Clang 3.x)如果是,这个功能的名称是什么,我在哪里可以找到标准中提到的这个功能?

c c++

19
推荐指数
2
解决办法
2496
查看次数