相关疑难解决方法(0)

是否有任何理由使用C而不是C++进行嵌入式开发?

我的硬件C++和C89上有两个编译器

我正在考虑将C++与类一起使用但没有多态(以避免使用vtable).我想使用C++的主要原因是:

  • 我更喜欢使用"内联"函数而不是宏定义.
  • 我想使用命名空间,因为我的前缀使代码混乱.
  • 我认为C++有点类型更安全,主要是因为模板和详细的转换.
  • 我真的很喜欢重载的函数和构造函数(用于自动转换).

在开发非常有限的硬件(4kb RAM)时,您是否认为有理由坚持使用C89?

结论

谢谢你的回答,他们真的很有帮助!

我认为这个主题通过,我会坚持使用C主要是因为:

  1. 在C中预测实际代码更容易,如果你只有4kb的ram,这非常重要.
  2. 我的团队主要由C开发人员组成,因此不会经常使用高级C++功能.
  3. 我找到了一种在C编译器(C89)中内联函数的方法.

因为你提供了很多好的答案,所以很难接受一个答案.不幸的是我不能创建一个wiki并接受它,所以我会选择一个让我最想的答案.

c c++ embedded c89

77
推荐指数
14
解决办法
4万
查看次数

因为C++包含所有东西,所以不需要学习C是真的吗?

我正在参加C++编程课程,教授告诉我们没有必要学习C语言,因为C++包含C语言中的所有内容以及面向对象的特性.然而,其他一些人告诉我,这不一定是真的.任何人都可以对此有所了解吗?

c c++

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

嵌入D(编程语言)

我喜欢我读过很多关于D.的内容.

  • 统一文档(这将使我的工作变得更加容易.)
  • 内置于该语言的测试功能.
  • 调试代码支持语言.
  • 前瞻性声明.(我一直认为两次声明相同的功能是愚蠢的.)
  • 内置功能可替换预处理器.
  • 模块
  • Typedef用于正确的类型检查而不是别名.
  • 嵌套函数.(咳嗽 PASCAL 咳嗽)
  • 输入和输出参数.(这有多明显!)
  • 支持低级编程 - 嵌入式系统,哦耶!

然而:

  • D可以支持不会运行操作系统的嵌入式系统吗?
  • 它不支持16位处理器的彻底解除是否完全来自在这些机器上运行的嵌入式应用程序?有时你不需要锤子来解决你的问题.
  • 垃圾收集在Windows或Linux上很棒,但不幸的是嵌入式应用程序有时必须进行显式内存管理.
  • 数组边界检查,你喜欢它,你讨厌它.非常适合设计保证,但并不总是允许性能问题.
  • 对于支持多线程的嵌入式系统而不是运行操作系统有什么影响?我们有一个客户甚至不喜欢中断.更少OS /多线程.
  • 是否有适用于嵌入式系统的D-Lite?

所以基本上D适用于只有几兆字节(有时小于一兆字节)的嵌入式系统,不运行操作系统,其中必须在编译时知道最大内存使用量(每个要求),并且可能在小于32位的情况下处理器?

我对一些功能非常感兴趣,但我得到的印象是针对桌面应用程序开发人员.

具体是什么使它不适合16位实现?(假设16位架构可以处理足够的内存来保存运行时,无论是在闪存还是RAM中.)仍然可以计算32位值,尽管比16位慢,并且需要使用库代码进行更多操作.

embedded 32-bit d 16-bit

23
推荐指数
3
解决办法
5001
查看次数

在嵌入式实时环境中如何使用D?

对于所有熟悉D编程语言的人来说,如何在嵌入式实时环境中使用它?我知道它的原始设计不是针对实时嵌入式环境的,但这个问题更多的是关于如何实现实时功能.

哪种语言结构必不可少?

您认为哪些结构会出现问题?

有没有人在嵌入式系统中成功使用它?

任何其他想法或建议都会很棒.

embedded d

15
推荐指数
2
解决办法
1449
查看次数

标签 统计

embedded ×3

c ×2

c++ ×2

d ×2

16-bit ×1

32-bit ×1

c89 ×1