共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 跳转至页
回复
打赏帖 | |
---|---|
【Zephyr】使用Zephyr外设初始化过程解析被打赏30分 | |
【S32K146】S32DS watchdog 配置使用被打赏20分 | |
【Zephyr】使用 IAR 调试 Zephyr 镜像被打赏20分 | |
赚取电动螺丝刀+电源电路理论知识分享1被打赏5分 | |
我想要一部加热台+分享常见运算放大器电路的应用被打赏5分 | |
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
我想要一部加热台+常见的MOS管驱动电路被打赏5分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下串口调试printf输出记录被打赏29分 | |
【瑞萨RA2E1开发板】:使用ADC功能实现位移传感器采集方案被打赏20分 |