作者retrash ()
看板C_and_CPP
标题[问题] header 的问题....
时间Fri Jun 19 08:37:52 2009
大家好
我写了个不小的程式所以把他们分成好几个 .h .c
A.h (include stdio.h)
a.h (include stdio.h)
b.h (include stdio.h)
c.h (include stdio.h)
d.h (include stdio.h)
A.cpp (include A.h stdio.h)
a.cpp (include A.h a.h)
b.cpp (include A.h b.h)
c.cpp (include A.h c.h)
d.cpp (include A.h d.h)
e.cpp (include A.h a.h b.h c.h d.h)
然後我用 gcc A.cpp a.cpp b.cpp c.cpp d.cpp e.cpp -o program
可是在 gcc 跟我说一堆东西已经在 A.h 定义过了........
请问我应该要怎麽改呢??
谢谢 <(_ _)>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 155.98.80.103
1F:推 AGanPTT:去找找是哪些东西定义过 应该是你自己定义的东西重复定义 06/19 09:19
2F:推 VictorTom:你自己写的.h有没有用#ifndef #endif等括起来?? 06/19 09:27
3F:→ aecho:随便找一个.h来看看,如stdio.h,看他是怎麽解决重覆定义 06/19 09:57
4F:推 zlw:header档不是没有分大小写吗? 06/19 10:35
5F:推 zlw:gcc...所以在Unix-Like是有分大小写?以前没注意 06/19 10:38
6F:→ MOONRAKER:header档真的没有分大小写?? 06/19 11:12
7F:→ MOONRAKER:不是C都要分大小写吗? 06/19 11:12
8F:推 VictorTom:z大应该是指档名; ex: Windows下.... 06/19 11:18
9F:→ VictorTom:#include "glut.h" 和 #include "GLUT.h" 应该一样吧?? 06/19 11:19
10F:→ VictorTom:不过关键是Window下档名大小写可识别但视为同样的.... 06/19 11:19
11F:→ VictorTom:所以可能z大才说不晓得Unix-Like系统会怎样@_@" 06/19 11:19
12F:推 zlw:对,指档名。刚看觉得奇怪怎麽会有a.h跟A.h 06/19 11:25
13F:推 sunkill:unix-like linux 有分 06/19 12:13
14F:推 jerohands:每个.h 第一行打 #pragma once 06/19 12:31
15F:推 littleshan:不要用 #pragma once,这不是标准方法 06/19 12:40