小编jld*_*ont的帖子

C状态机设计

我正在用混合C和C++制作一个小项目.我正在我的一个工作线程的核心构建一个小型状态机.

我想知道你是否会在SO上分享你的状态机设计技巧.

注意:我主要是经过久经考验的实施技术.

更新:基于SO上收集的所有重要输入,我已经确定了这个架构:

事件泵指向指向调度员的事件集成器. 调度程序指向1到n的操作,这些操作指向事件集成器. 带通配符的转换表指向调度程序.

c c++ architecture state-machine

192
推荐指数
9
解决办法
8万
查看次数

140
推荐指数
6
解决办法
4万
查看次数

malloc(0)中有什么意义?

刚看到这段代码:

artist = (char *) malloc(0);
Run Code Online (Sandbox Code Playgroud)

我想知道为什么会这样做?

c malloc

115
推荐指数
5
解决办法
6万
查看次数

Java中的#ifdef #ifndef

我怀疑是否有一种方法可以在Java中创建编译时条件,如C++中的#ifdef #ifndef.

我的问题是有一个用Java编写的算法,我有不同的运行时间改进了该算法.所以我想测量每次改进时我节省了多少时间.

现在我有一组布尔变量,用于在运行时决定应该使用哪些改进,哪些不使用.但即使测试这些变量也会影响总运行时间.

所以我想找到一种方法来在编译期间决定编译和使用程序的哪些部分.

有人知道在Java中使用它的方法.或者也许有人知道没有这样的方式(它也会有用).

java conditional compilation conditional-compilation

103
推荐指数
3
解决办法
7万
查看次数

如何在不重新输入SSH密码的情况下执行`git pull`?

是否可以进行配置,git/ssh因此每次我想执行时都不必输入密码git pull?请注意,repo是github上的私有.

或者,或者,从私有Github仓库自动执行代码部署的最佳做法是什么?

其他细节: EC2实例运行基于Fedora的公共AMI.

linux git ssh github

87
推荐指数
5
解决办法
8万
查看次数

Javascript:document.execCommand跨浏览器?

我偶然发现了一段我以前从未见过的代码:

document.execCommand('Copy');

这似乎将剪贴板内容复制到焦点中的元素.

跨浏览器是否可以使用此功能?


我找到了一个显示兼容性矩阵的页面document.execCommand.

javascript cross-browser

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

停止setup.py安装为egg

如何停止setup.py将包装作为鸡蛋?或者甚至更好,我如何easy_install安装包作为egg

sudo python setup.py安装

原因是对于格式化的软件包PyDev非常挑剔egg...我现在感兴趣的软件包是boto.

更新:我找到了蛮力的方式:

sudo easy_install -m boto
cd path/to/boto-xyz.egg
sudo mv boto ..
sudo rm -rf boto-xyz.egg
Run Code Online (Sandbox Code Playgroud)

python pydev setuptools easy-install

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

RESTful API文档

我将很快设计一个RESTful API,因此我需要对其进行描述,以便让其他人开始使用它来实现客户端.

我看了一下,但不幸的是,我没有找到任何描述基于Web的RESTful服务的标准化形式.我正在寻找的东西就像JavaDoc,虽然它不必由任何类型的代码生成.我也不是在谈论类似WADL的东西,我宁愿想要一些我可以提供的人类可读的文档.

由于RESTful基于Web的服务的性质,标准化文档应该很容易.它应该只列出可用的资源,相应的URI,允许的方法,内容类型并描述可用的操作.你有什么建议吗?

在此先感谢您和Greets

documentation rest

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

AMQP中的"交付模式"是什么?

我知道有两种选择:

  • "非持久"
  • "老大难"

但这究竟意味着什么呢?

"非持久性"如下:如果没有消费者,AMQP结构将尝试传递消息,消息将被删除?

"持久"如下:AMQP将重试消息,直到消费者接受它?

amqp

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

Python状态机设计

此Stack Overflow问题(C状态机设计)相关,Stack Overflow人员可以与我(以及社区)共享您的Python状态机设计技术吗?

目前,我正在寻找基于以下内容的引擎:

class TrackInfoHandler(object):
    def __init__(self):
        self._state="begin"
        self._acc=""

    ## ================================== Event callbacks

    def startElement(self, name, attrs):
        self._dispatch(("startElement", name, attrs))

    def characters(self, ch):
        self._acc+=ch

    def endElement(self, name):
        self._dispatch(("endElement", self._acc))
        self._acc=""

    ## ===================================
    def _missingState(self, _event):
        raise HandlerException("missing state(%s)" % self._state)

    def _dispatch(self, event):
        methodName="st_"+self._state
        getattr(self, methodName, self._missingState)(event)

    ## =================================== State related callbacks
Run Code Online (Sandbox Code Playgroud)

但我确信在利用Python的动态特性(例如动态调度)的同时,还有很多方法可以实现.

我正在接受"引擎"的设计技术,它接收基于机器"状态"的"事件"和"发送".

python state-machine fsm

45
推荐指数
4
解决办法
5万
查看次数