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.

[参考译文] RTOS/66AK2H12:编译 C++

Guru**** 2549880 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/620413/rtos-66ak2h12-compiling-c

器件型号:66AK2H12

工具/软件:TI-RTOS

我刚发布了一个有关 c++ try/catch 的问题、但我想这个问题是一般编译/链接 c++类的指南。

我正在尝试使用 new 和 delete 来移植一些现有的 c++代码和该代码、以及对 std 库的调用、例如 std::copy、 std:runtime_error()等

SYS/BIOS UG 说:"新函数和删除函数是用于动态内存分配和取消分配的 C++运算符。 对于 TI 目标、这些运算符使用 malloc()和 free()。" 但我似乎无法使它们链接(未定义的引用)。

我的应用是在 ARM15内核上运行。

谢谢、Mike

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

    我认为 TI RTOS 不支持 C++。 请参阅类似的问题、我们在其中指出客户使用现有的 RTOS API (用 C 语言编写):
    e2e.ti.com/.../537889

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请您回答我的问题吗? SYS/BIOS 明确指示支持 C++。 请参阅 sqruex3q.pdf;"SYS/BIOS (TI-RTOS 内核) v6.46用户指南"、第1.5节。 (您链接的线程并未说明如何使用 C++)。 请注意、我的应用将在其中一个 ARM 内核上运行、而不是在 DSP 上运行。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我找到了以下有用链接:

    e2e.ti.com/.../612692

    使用 libstdc++.a 进行链接、删除 rdimon 和 nosys、然后在"其他标志"设置中添加--specs=rdimon.specs 我能够使用 c=和 new/delete 进行编译、链接和运行。

    仍然在等听到关于使用试/赶上/扔的声音,但是…