我是微芯片家族的新手。我试过了下面的程序,
#include<pic.h>
#include <stdio.h>
__CONFIG(0x1932);
void main()
{
TRISA=0x00;
PORTA=0x01;
PORTA=0x02;
PORTA=0x04;
PORTA=0x08;
PORTA=0x10;
PORTA=0x20;
PORTA=0x40;
}
但我得到错误:
错误[237] C:\ Users \ mathishara \ Desktop \ project_mplab \ alternative.c; 9.功能&#34; _main&#34;重新定义。
我该怎么办?
答案 0 :(得分:1)
Main应定义为
int main(void)
任何不带参数的函数都应该有void
作为参数列表。
有关进一步的讨论,请参阅main() function in C和What should main() return in C and C++?。对于嵌入式应用程序,&#34; normal&#34;参数列表int main(int argc, char *argv[])
没有多大意义,所以void
没问题。
答案 1 :(得分:0)
在以下情况下可能会发生此错误:
例如
int fun_prot(); /* the function prototype is missing the parameter - "int" */
int fun_prot(int a)
{
...
}
函数重载在C中是非法的,并且会触发重新定义错误。 例如:
int twice(int a)
{
return a*2;
}
long twice(long a) /* only one prototype & definition of twice can exist and this will trigger a redifinition error */
{
return a*2;
}