首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python仿真中使用嵌入式C库

在Python仿真中使用嵌入式C库
EN

Stack Overflow用户
提问于 2011-08-02 05:19:26
回答 2查看 423关注 0票数 4

短问题

这将更容易地从现有的嵌入式C库中模拟复杂( J1939)通信堆栈:

1)全端口--意思是手动将所有C函数转换为python模块

2)用Python包装包装堆栈--意思是在Python中调用真正的c代码。

背景信息

我已经用Python编写了这个堆栈的小部分,但是它们对于100%的覆盖率来说是非常不重要的。由于这个原因,我们最近为我们的嵌入式平台购买了现成的SAE J1939堆栈。为了澄清,我知道接触硬件层的部分必须重新创建并映射到PC的CAN驱动程序。

我希望在这里找到一个人,这样就可以将一个5k LOC C库移植到Python上了。如果有任何C到Python工具工作得很好,那么我也可以了解一下。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-02 05:26:38

我的建议是把它包起来。

理由如下:

  • 如果您按函数转换函数,您将引入新的bug(我们只是人类),这类东西很难测试
  • 对python的包装很容易,使用大口甚至C型动态加载dll,您将看到大量的教程
  • 如果您的库被更新了,那么从长远来看,影响就会更小。

但是,你需要

  • 检查您购买的许可证是否允许您这样做。
  • 要知道,在嵌入式和PC端都有相同的实现,这无助于跟踪bug
  • 与完整的python实现相比,您的可移植性可能要差一点(无论如何,对于您来说,对于您的低层需要根据每个目标重写)。
票数 3
EN

Stack Overflow用户

发布于 2011-08-02 05:46:26

一定要包起来。运行ctypesgen.py,然后使用它,可能也很容易。请查看这篇关于使用ctypesgen为libreadline http://wavetossed.blogspot.com/2011/07/asynchronous-gnu-readline.html创建包装器的博客文章,以便访问完整的API。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6907583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档