嵌入式 C/C++ Atollic
Posted
技术标签:
【中文标题】嵌入式 C/C++ Atollic【英文标题】:Embedded C/C++ Atollic 【发布时间】:2017-05-31 13:11:04 【问题描述】:在 atollic 中处理嵌入式 c++/c 项目时(eclipse 也一样),在您的项目设置下,您有:
> Assembler (arm-atollic-eabi-gcc -c)
> C Compiler (arm-atollic-eabi-gcc -c)
> C++ Compiler (arm-atollic-eabi-g++ -c)
> C++ Linker
这意味着,我可以在 c++ 项目中使用 C 代码而无需任何修改,因为所有 .c 文件都使用 gcc
编译,所有 .cpp
文件使用 g++ 编译。此外,如果 C 代码在标头中包含 #if __cplusplus extern "C"
或 .cpp
代码将包含 V 代码,如 "#if __cplusplus extern "C" #include "c_header.h" ...
这绝对没有区别,因为 .c 文件是用 gcc
编译的定义__cplusplus
。
这样对吗??
当我想纯粹使用 g++ 构建时,因为我所有的 C 代码都以这种方式包含在内...
extern "C"
#include "c_header.h"
如何从 atollic/eclipse 中删除 C 编译器?
我尝试删除项目文件“.cproject”中定义的工具,然后再次打开项目,但它们是自动添加的。
【问题讨论】:
你到底在问什么?请看How do I ask a good question? 这个问题是2年前的问题,所以我怀疑原作者在这里需要帮助,但对于其他人。据我所知,他想从编译过程中删除 C 编译器。您可以将 C++ 编译器的文件关联更改为包括 .c 和 .h。然后删除 C 编译器的关联。我认为这应该可行。 你好,2 年是很长的时间,但我还没有弄清楚如何做到这一点。最初的问题是如何使用 g++ 构建 c 和 c++ 源代码,因为 g++ 将看到 extern "C" 并将其构建(mangle)为 c 源代码。 【参考方案1】:窗口 -> 首选项 -> C/C++ ->语言映射 -> 添加
然后添加两个关联:
Content type : C Header file
Language : GNU C++
和
Content type : C Source file
Language : GNU C++
【讨论】:
以上是关于嵌入式 C/C++ Atollic的主要内容,如果未能解决你的问题,请参考以下文章
Atollic TrueSTUDIO:如何从 C 转换为 C++?