首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MPLAB中有多个C18源文件?

如何在MPLAB中有多个C18源文件?
EN

Stack Overflow用户
提问于 2012-12-01 01:51:24
回答 2查看 1.1K关注 0票数 1

在许多语言中,例如C++,有许多不同的源文件是正常的,但对于PIC微控制器程序来说似乎并不是经常这样--至少在我读过的任何教程或书籍中都不是这样。

我想知道如何才能有一个源(.c)文件,其中包含一堆例程、全局变量和定义,可以供我的main.c文件使用。这有可能吗?

谢谢你的建议!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-01 03:44:34

这在PIC开发中是完全可能的。从代码和数据的角度来看,大小当然是一个问题,但它仍然只是C代码,这意味着大多数C规则(参见编译器文档中的例外)都适用,包括将多个源文件编译并链接到单个输出中(通常是.hex文件)。例如,在一个独立于main.c的C文件中,比如test.c:

代码语言:javascript
复制
int AddNumbers(int a, int b)
{
  return a + b;
}

然后,您可以在头文件test.h中定义它:

代码语言:javascript
复制
int AddNumbers(int a, int b);

在main.c文件的顶部包含test.h:

代码语言:javascript
复制
#include "test.h"

然后,您应该能够从main.c调用AddNumbers(4,5)。我没有测试过这段代码,但仅将其作为该过程的一个示例。

票数 3
EN

Stack Overflow用户

发布于 2012-12-01 01:59:18

通常,PIC18的大多数代码都来自其他文件。因此,与编译然后链接的高级技术相比,更常见的做法是包含(和包含来自includes的)所有代码,以便只有一个流去往编译器。我认为你可以在PIC18下做到这一点,但是我从来没有花足够的时间让它工作。大多数库等都被设计为包含文件,而不是单独翻译的单元。

这是一种不同的心态,但这是有原因的。我认为这是因为历史上需要保持尽可能小的东西。因此,更多的事情是基于芯片的宏,而更少的(可链接的)库开发。

PIC32编译器因其库支持而变得更好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13650477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档