将问题移植到VxWorks

时间:2009-06-09 21:31:24

标签: vxworks

我发布了之前问题的详细信息。我需要将已经支持Linux / Mac的c / c ++代码库移植到VxWorks。该应用程序使用套接字,pthread,互斥和临界区处理API。

我是VxWorks的新手。你能告诉我可能出现的问题吗?

1 个答案:

答案 0 :(得分:1)

VxWorks提供标准套接字操作,因此应该没问题 有一个pthread兼容库,它也是操作系统的一部分。您只需要包含pthread组件。

如果没有关于互斥锁和关键部分处理API的更多详细信息,则很难提供详细信息。

VxWorks有自己的互斥和关键部分API,但它也提供了POSIX接口。不同版本的VxWorks与不同版本的POSIX标准匹配。

根据您使用的VxWorks版本,使用繁重的C ++ STL可能会有问题(特别是如果您使用的是旧版本的vxWorks)。

在C ++中,您必须小心静态类实例。它工作正常,但我相信它会增加程序大小,因为它们必须静态实例化并放入我相信的.data段。

如果你有很多动态C ++对象被创建和销毁,它会给你的堆带来更大的压力。如果您的嵌入式系统占用的内存很小,则可能会出现问题。

如果在堆栈上创建对象,在创建线程(在创建时初始化了固定大小的堆栈)时,不要忘记考虑到这一点(你必须在带有结构的C中做同样的事情)。 / p>