免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 1738 | 回复: 12
打印 上一主题 下一主题

#define 错误? 请指教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-08 16:19 |只看该作者 |倒序浏览
头文件

a.h

#ifndef   _A_H
#define _A_H
int aa(int a, int b ){
    return a+b;
}
int bb(int a,int b){
   return a*b;
}
#endif


程序1

b.c

int main(){
   int i1;
   int i3;
   i1 = dd();
   printf("\n[%d]\n",i1);
   i3 = ee();
   printf("\n[%d]\n",i3);
}

程序2

d.c

#include "a.h"
dd(){
    bb(4,2);
}

程序3

#include "a.h"
int ee(){
    aa(5,6);
}

makefile

OBJ = b.o d.o e.o

all : bbb

bbb : $(OBJ)
        xlc -g -o $@ $(OBJ)
b.o : b.c
        xlc -c -g b.c
d.o : d.c
        xlc -c -g d.c
e.o : e.c
        xlc -c -g e.c

-------------------------
编译的时候总提示 WARNING: Duplicate symbol: .bb
                           WARNING: Duplicate symbol: .aa
我的头文件不是已经有宏定义了么? 请教一下,见笑见笑

论坛徽章:
0
2 [报告]
发表于 2004-11-08 16:23 |只看该作者

#define 错误? 请指教

有你这样写程序的吗?

论坛徽章:
0
3 [报告]
发表于 2004-11-08 16:35 |只看该作者

#define 错误? 请指教

测试,测试,仅仅是测试一下宏定义
#ifndef _A_H
#define _A_H

#endif
的功能。
我贴得乱了点,麻烦大家看看

论坛徽章:
0
4 [报告]
发表于 2004-11-08 16:43 |只看该作者

#define 错误? 请指教

#ifdef  __cplusplus
extern "C" {
#endif

#ifdef  __cplusplus
}
#endif


再问一下 这句是什么意思?今天被宏定义搞得乱了

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
5 [报告]
发表于 2004-11-08 16:43 |只看该作者

#define 错误? 请指教

我都找不到你的bb,aa,程序能找着嘛。

论坛徽章:
0
6 [报告]
发表于 2004-11-08 16:50 |只看该作者

#define 错误? 请指教

a.h

#ifndef _A_H
#define _A_H
int aa(int a, int b ){
return a+b;
}
int bb(int a,int b){
return a*b;
}
#endif



头文件里面 编译的时候提示重复引用

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2004-11-08 16:56 |只看该作者

#define 错误? 请指教

^_^,8好意思,看走眼了。

论坛徽章:
0
8 [报告]
发表于 2004-11-08 17:11 |只看该作者

#define 错误? 请指教

请高人指点一二,不胜感激

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
9 [报告]
发表于 2004-11-08 17:22 |只看该作者

#define 错误? 请指教

原帖由 "jemc" 发表:
#ifdef  __cplusplus
extern "C" {
#endif

#ifdef  __cplusplus
}
#endif


再问一下 这句是什么意思?今天被宏定义搞得乱了

是用在C++里面编译C代码的时候用的。extern里面的内容被指定按照C的语法进行编译。

论坛徽章:
0
10 [报告]
发表于 2004-11-08 17:28 |只看该作者

#define 错误? 请指教

声明和定义要分开写,你这样当然会重复定义了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP