共2条
1/1 1 跳转至页
问
我编写了两个C程序,放在同一个项目下.
这两个程序分别如下:
第一个是主程序,单独的一个C文件,命名为MAIN.C
该程序如下
main()
{
ADD(3);
}
第二个是加1程序,也是一个单独的C文件,命名为ADD.C
该程序如下
void ADD(char a)
{
a++;
}
单独编译每个程序时都能通过,可准备将两个文件连接的后生成HEX文件时出错,
由于我不懂英语,看不出是那里错误,好象是参数错误.
我不想在MAIN.C里使用#include<add.c>语句
有那位高手能指点我一下怎样才能将这两个文件连接起来生成HEX文件呢?
谢谢各位了!谢谢~~
我还试过如果将第二个函数的参数去掉,变为无参函数的话,在MAIN.C的文件中就可以成功调用并能生成HEX文件.这又是为什么呢??
谢谢!!!
答 1: 我顶一下,能给我举一个能传递参数的C的例子吗?不胜感激! 答 2: RE第一个写成这样
extern void add(char a);
void main(void)
{
add(3);
}
第二个文件不变,我试过了,可以编译成功 答 3: 楼上说的没错插一句:一般不会用#include<add.c>
而是,再做个文件add.h,
内容:
#ifndef __ADD_H_
#define __ADD_H_
void add(char a);
#endif
再在main.c中用#include "add.h" (建议:标准库用<>,当前程序专用的用"")
楼主还是找个别人的程序看看吧 答 4: 谢谢二位,我的问题现在解决了!
这两个程序分别如下:
第一个是主程序,单独的一个C文件,命名为MAIN.C
该程序如下
main()
{
ADD(3);
}
第二个是加1程序,也是一个单独的C文件,命名为ADD.C
该程序如下
void ADD(char a)
{
a++;
}
单独编译每个程序时都能通过,可准备将两个文件连接的后生成HEX文件时出错,
由于我不懂英语,看不出是那里错误,好象是参数错误.
我不想在MAIN.C里使用#include<add.c>语句
有那位高手能指点我一下怎样才能将这两个文件连接起来生成HEX文件呢?
谢谢各位了!谢谢~~
我还试过如果将第二个函数的参数去掉,变为无参函数的话,在MAIN.C的文件中就可以成功调用并能生成HEX文件.这又是为什么呢??
谢谢!!!
答 1: 我顶一下,能给我举一个能传递参数的C的例子吗?不胜感激! 答 2: RE第一个写成这样
extern void add(char a);
void main(void)
{
add(3);
}
第二个文件不变,我试过了,可以编译成功 答 3: 楼上说的没错插一句:一般不会用#include<add.c>
而是,再做个文件add.h,
内容:
#ifndef __ADD_H_
#define __ADD_H_
void add(char a);
#endif
再在main.c中用#include "add.h" (建议:标准库用<>,当前程序专用的用"")
楼主还是找个别人的程序看看吧 答 4: 谢谢二位,我的问题现在解决了!
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |