This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/CC3200:用C和C++编写固件

Guru**** 2538930 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/567924/ccs-cc3200-write-firmware-in-c-and-c

部件号:CC3200

工具/软件:Code Composer Studio

您好,

我正在开始构建一个SDK模块,它将集成到用C编写的现有固件中

这是我的问题:Cani用C++语言开发SDK吗?

我从未用C++编写过固件代码。 我是嵌入式系统中C++语言的新用户。

Code Composer是否支持C++代码及其编译?

采用C++语言是否会造成一些问题? (编译,链接,执行)

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当然,您可以用C++编写它,但为什么? 固件程序中需要C++的哪些功能? 嵌入式软件中的C++存在的一个问题是它可以隐藏复杂性。 一旦您开始使用C++功能(如多态),编译器就会“在后台”生成大量额外的代码和数据,因此在查看C++代码时,您可能对代码大小没有很好的了解(例如)。 另一方面,如果您使用C++时就像使用C时更严格地执行类型检查一样,那么您就可以了。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    考古学家,您好!

    感谢您的回复。

    我不想使用C++来开发我的SDK,但我的客户已经用C++编写了他的固件,他的固件将集成我的SDK。 所以我的SDK必须用C++编写(这是客户的要求)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是否真的是一个要求,或者客户是否只是想通过C++代码调用您的函数? 如果是后者,只需确保头文件检测到它是从C++模式(定义的(__cplusplusplusplusplusplusplusplusplus)中包含的,并在外部"C"中包装所有声明。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    问得好! 我不知道我的客户的意图,但我将在下次会议中尝试了解这一点。 感谢您提供有关头文件的提示。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    C++非常强大,如果您使用得当,它可以大幅改善SDK的结构。 请查看 我的博客 ,了解可用于嵌入式系统的C++功能。

    如果您不熟悉C++,则有两种选择:
    1.使用C设计SDK。 如果您使用"#ifdef__cplusplusplusplusplusplusplusplus... "。
    2.学习C++并通过C++设计整个SDK。 这将需要时间,但您会发现您的SDK变得非常易于维护和使用。

    就个人而言,我在C++中设计几乎所有的东西(RTOS除外)。 我的RTOS还通过定义任务类来支持C++。