使用Visual C ++ Express从newlib编译数学函数

时间:2013-07-09 15:30:33

标签: visual-c++ compilation newlib

我正在提取为使用NEWLIB中的数学函数的嵌入式系统设计的代码,我想用Visual C ++ Express Edition编译该代码。但是,似乎NEWLIB中的部分代码只能用GCC编译。

问题:可以以某种方式修改NEWLIB以使用GCC以外的编译器进行编译吗?怎么样?

我在这里问不合理的事情吗?

例如,Visual Compiler不理解以下符号:

__extension__
__ULong
_mbtowc_state
__attribute__

注意,如果我能用LCC编译,我会满足自己。这会更容易吗?

1 个答案:

答案 0 :(得分:1)

使用MSVC构建newlib需要大量的移植工作。最好将代码移植到MSVC提供的libc中。他们应该大多兼容。只需从构建系统中删除newlib,MSVC会自动将代码链接到它自己的libc。

如果你可以在MSVC下构建你的代码,你可能已经将它移植到MSVC的libc了。除非您明确包含来自newlib的标头。例如,如果您包含stdio.h,默认情况下它将获取MSVC的版本,除非您重写此行为以使其使用newlib的版本。