可以为多平台(嵌入式或所有操作系统)编写c代码和库吗?

可以为多平台(嵌入式或所有操作系统)编写c代码和库吗?,c,console,embedded,arm,multiplatform,C,Console,Embedded,Arm,Multiplatform,是否可以在每个平台上运行只使用初始c库的书面代码或书面库 例如: 窗户, ARM微处理器, PIC微处理器 他们有各自的编译器,这种差异对我来说并不重要,我可以根据需要在不同的编译器中编译。但要在这个平台上运行,我必须全部或部分更改代码吗 注意:对于库,我将只使用默认的c库。这取决于具体情况。如果您的库只使用标准C,并且您将要移植的多平台有一个与标准C兼容的编译器,那么您始终可以编写库代码。但如果您的库必须调用每个平台的本机API,则必须单独封装这些代码 视情况而定。如果您的库只使用标准C,并且

是否可以在每个平台上运行只使用初始c库的书面代码或书面库

例如: 窗户, ARM微处理器, PIC微处理器

他们有各自的编译器,这种差异对我来说并不重要,我可以根据需要在不同的编译器中编译。但要在这个平台上运行,我必须全部或部分更改代码吗


注意:对于库,我将只使用默认的c库。这取决于具体情况。如果您的库只使用标准C,并且您将要移植的多平台有一个与标准C兼容的编译器,那么您始终可以编写库代码。但如果您的库必须调用每个平台的本机API,则必须单独封装这些代码

视情况而定。如果您的库只使用标准C,并且您将要移植的多平台有一个与标准C兼容的编译器,那么您始终可以编写库代码。但如果您的库必须调用每个平台的本机API,则必须单独封装这些代码

在嵌入式系统中,您需要实现操作系统为标准库函数(如
malloc
printf
)提供的某些功能(如
\sbrk
\u read
等)

如果你注意到了这一点,我不认为你的代码有什么理由不工作,只要你在如何编写它时非常小心。我说的非常小心,是指对浮点、处理器字大小和任何其他在所需目标之间不常见的事情都要非常小心


简短回答:可能,但不容易。

在嵌入式系统中,您需要实现操作系统为标准库函数(如
malloc
printf
)提供的某些功能(如
\sbrk
\u read
等)

如果你注意到了这一点,我不认为你的代码有什么理由不工作,只要你在如何编写它时非常小心。我说的非常小心,是指对浮点、处理器字大小和任何其他在所需目标之间不常见的事情都要非常小心


简短回答:可能,但不容易。

是和否在很大程度上取决于您要编写的代码。a=a+1;例如,应在任何地方工作…printf(“abcd%f”,1.234);不太确定。通常情况下-不!假设我的简单程序只是从
/proc
读取数据,并根据该数据给出输出。它只使用默认库,但您无法在W上运行它。至于体系结构,我认为没有汇编部分,您就可以用gcc为任何硬件编译相同的代码。是和否,很大程度上取决于您要编写的代码。a=a+1;例如,应在任何地方工作…printf(“abcd%f”,1.234);不太确定。通常情况下-不!假设我的简单程序只是从
/proc
读取数据,并根据该数据给出输出。它只使用默认库,但您无法在W上运行它。至于体系结构,我认为如果没有汇编部分,您将能够通过gcc为任何硬件编译相同的代码。