相关疑难解决方法(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万
查看次数

应该"可移植"C编译为C++吗?

我在一个C问题上发表的答案得到了评论,评论者建议将代码编写为使用C++编译器进行编译,因为最初的问题提到代码应该是"可移植的".

这是"便携式C"的常见解释吗?正如我在对该答案的进一步评论中所说的那样,对我来说完全令人惊讶,我认为可移植性意味着完全不同的东西,并且在编写也是合法C++的C代码时看到的好处很少.

c c++ compatibility portability

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

我应该使用哪些字符串操作函数?

在我的Windows/Visual C环境中,有许多替代方法可以执行相同的基本字符串操作任务.

例如,为了进行字符串复制,我可以使用:

  • strcpy,ANSI C标准库函数(CRT)
  • lstrcpy,kernel32.dll中包含的版本
  • StrCpy,来自Shell Lightweight Utility库
  • StringCchCopy/ StringCbCopy,来自"安全字符串"库
  • strcpy_s,安全增强版CRT

虽然我理解所有这些替代方案都有历史原因,但我可以为新代码选择一组一致的函数吗?哪一个?或者我应该根据具体情况选择最合适的功能?

c string

16
推荐指数
1
解决办法
4839
查看次数

为什么有人会使用C而不是C++?

可能重复:
为什么人为地将代码限制为C?

我开始学习C,但后来直接进入C++只是因为它支持OO并且也是后续工作所必需的.然而,一些公司坚持雇用具有特别强大的C经验的人 - 我注意到这尤其适用于硬件驱动程序开发公司.

c c++

8
推荐指数
1
解决办法
3508
查看次数

C中的通用数据类型的任何库?

我想用C编写一个2d游戏引擎(没有c ++).有哪些好的库有我可能需要的通用数据类型 - 例如队列,树,地图,列表等等?

c data-structures

6
推荐指数
1
解决办法
3552
查看次数

在嵌入式环境中使用C++

今天我和一位同事进行了一次非常有趣的对话,其中一个主题让我在今晚思考和谷歌搜索.在嵌入式环境中使用C++(而不是C).环顾四周,似乎有一些好的交易支持和反对C++提供的功能,但其他人迈尔斯显然支持它.所以,我想知道谁能够阐明这个话题,以及社区的普遍共识是什么.

c++ embedded

6
推荐指数
3
解决办法
3037
查看次数

如果有的话,编程基础知识在C语言中学得更好而不是C++?

作为一个想要提高他的基本编程技能的人,我选择学习C++而不是C.这引出了我的问题:我在C中留下的任何基本技能是否可能无法通过学习C++获得?

相关问题: 在学习C++之前我应该​​学习C吗?

c c++

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

为什么人们在使用C++时仍然使用C语言?

我的问题是,为什么人们在使用C++时仍然使用C?我研究过C,因为它被认为是程序员交流的语言,建议任何程序员知道.然后我转到C++,我现在想,为什么人们仍然在C中使用和编程?据我所知,C++更强大(在其中有OOP方面),它和C一样快,整体似乎更好.我见过人们不喜欢C++,因为编写代码太难了.

c c++

5
推荐指数
2
解决办法
3830
查看次数

什么时候使用C作为面向对象的语言?

有很多优秀的答案如何用C模拟面向对象的概念.仅举几例:

什么时候使用这种模拟是合适的,而不是本地使用支持面向对象技术的语言?

高度相关:

c oop

5
推荐指数
1
解决办法
314
查看次数

学习C++或C.

我的问题是:是学习C++不学习C足以编程任何种类的计算机程序,让计算机它了最高级别(完全控制,除了需要汇编语言的任务)?谢谢

c c++

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

标签 统计

c ×10

c++ ×8

embedded ×2

c89 ×1

compatibility ×1

data-structures ×1

oop ×1

portability ×1

string ×1