青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

<2009年2月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
1234567

統計

  • 隨筆 - 24
  • 文章 - 0
  • 評論 - 17
  • 引用 - 0

常用鏈接

留言簿(4)

隨筆分類

隨筆檔案

相冊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

有關include guard的一個好帖子(收藏)
終于弄清楚了原來說的同一個頭文件不能被兩次或兩次以上包含是針對同一個源文件而言的。借用80后的流行語,真是漢哪!

原貼地址:http://www.keil.com/forum/docs/thread10237.asp

作者 Per Westermark

The

#ifndef xx
#define xx
...
#endif

method is to make sure that a header file isn't included more than once from the same c file.

You can not - and normally don't want to - stop multiple c files from including the same header file.

A header file is included because:
1) You have specifically added a line #include "xx" or #include <xx> in the source file. Don't do that unless you want the file to be included :)
2) You are including one header file, that it it's turn (one or more steps away) includes another header file. But a header file should only contain a recursive #include if it really needs that other file for some declarations. Hence, you need to include it.

What does this mean?

If the header file must be seen by multiple source files, you can't use it to allocate global variables, since the linker would then complain about multiple sets of global variables with the same name. This can be solved with the following:

//globals.h
#ifndef _GLOBALS_H
#define _GLOBALS_H
#if defined MAIN
#define EXTERN
#else
#define EXTERN extern
#endif
...
EXTERN int my_global_variable;
#endif // _GLOBALS_H

// main.c
#define MAIN
#include "globals.h"
...
// misc.c
#include "globals.h"
...

In this case, only the inclusion in main.c will result in an "allocation" of global variables, because the #define EXTERN will be empty. All other source files that includes "globals.h" will just see the type information for the global variables.

posted on 2009-02-19 09:04 小蔥蘸醬 閱讀(1013) 評論(2)  編輯 收藏 引用

評論

# re: 有關include guard的一個好帖子(收藏) 2009-02-19 21:19 陳梓瀚(vczh)

EXTERN的時候,如果剛好main沒有引用它,那就鏈接錯誤了- -#
  回復  更多評論    

# re: 有關include guard的一個好帖子(收藏)[未登錄] 2009-02-20 16:15 小蔥蘸醬

@陳梓瀚(vczh)
歡迎評論!
只要在include "globals.h"前定義了MAIN,就不會聯接錯誤,跟引用有什么關系呢?
  回復  更多評論    

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产有码在线一区二区视频| 免费成人在线视频网站| 亚洲一区二区三区色| 欧美在线91| 欧美国产日产韩国视频| 国产精品自拍小视频| 亚洲精品国精品久久99热一| 亚洲欧美视频一区| 蜜桃av久久久亚洲精品| 一本色道久久综合亚洲精品婷婷| 久久久久久久久久久久久女国产乱| 欧美日韩视频在线第一区| 1024成人网色www| 欧美一级黄色网| 91久久国产综合久久91精品网站| 99香蕉国产精品偷在线观看| 久久精品视频免费| 亚洲午夜精品在线| 欧美精品日韩一区| 亚洲国产日本| 久久永久免费| 欧美一区永久视频免费观看| 亚洲第一精品久久忘忧草社区| 亚洲国产国产亚洲一二三| 久久久av网站| 国内精品久久久久影院色| 免费看av成人| 欧美日韩在线观看视频| 久久九九免费视频| 午夜欧美精品| 国产女人精品视频| 欧美一区二区三区免费大片| 亚洲网站在线播放| 亚洲国产成人porn| 欧美激情一区二区三区蜜桃视频| 久久久久久高潮国产精品视| av成人免费在线| 欧美一区午夜精品| 国产一二三精品| 久久久久久久97| 欧美欧美在线| 亚洲午夜精品网| 亚洲淫性视频| 日韩午夜高潮| 日韩午夜av电影| 国产精品你懂的在线| 亚洲欧美日韩直播| 亚洲欧美日韩电影| 国产一区二区三区视频在线观看| 亚洲国产黄色| 在线观看日产精品| 亚洲啪啪91| 国产精品久久久久国产精品日日| 欧美亚洲视频在线观看| 欧美国产视频在线观看| 久久福利精品| 美女黄毛**国产精品啪啪| 欧美一区激情视频在线观看| 欧美久久电影| 亚洲国产成人av| 亚洲激情av| 久久综合久色欧美综合狠狠| 99re8这里有精品热视频免费 | 在线视频日韩精品| 亚洲视频在线一区| 亚洲最新合集| 欧美日本在线一区| 日韩一级免费| 欧美成人久久| 性色一区二区| 国产精品免费区二区三区观看| 日韩午夜av在线| 一本大道久久精品懂色aⅴ| 欧美成人精品在线视频| 亚洲人成免费| 亚洲深夜影院| 久久视频在线视频| 午夜老司机精品| 国产日本精品| 欧美亚洲综合网| 免费成人高清在线视频| 影音先锋成人资源站| 麻豆成人精品| 亚洲国产91| 在线亚洲激情| 国产日韩欧美亚洲| 99一区二区| 亚洲人成在线播放| 久久久精品日韩| 欧美高清视频一区| 国内成+人亚洲+欧美+综合在线| 性欧美8khd高清极品| 噜噜噜噜噜久久久久久91| 国产精品综合av一区二区国产馆| 亚洲免费在线观看| 国产精品99久久久久久久久久久久| 欧美精品一区二区三区很污很色的| 99re6这里只有精品| 欧美在线亚洲| 亚洲国产乱码最新视频| 欧美乱在线观看| 亚洲欧美日韩中文播放| 欧美chengren| 亚洲国产成人精品女人久久久 | 久久国产精品99久久久久久老狼| 亚洲男人的天堂在线aⅴ视频| 国产欧美一区二区在线观看| 久久一二三区| 亚洲私人影院在线观看| 老司机免费视频一区二区三区 | 国产伦理一区| 免费看黄裸体一级大秀欧美| 麻豆成人小视频| 亚洲性人人天天夜夜摸| 狠狠色综合网| 六月婷婷一区| 亚洲欧美中文字幕| 亚洲精品日韩精品| 中国女人久久久| 亚洲福利视频二区| 国产精品一区二区三区四区| 欧美激情日韩| 久久全球大尺度高清视频| 亚洲视频导航| 久久青青草综合| 亚洲电影网站| 国产精品欧美一区二区三区奶水| 性欧美xxxx大乳国产app| 亚洲精品国产无天堂网2021| 久久午夜精品| 午夜久久一区| 亚洲欧美网站| 亚洲视频在线看| 亚洲精品欧美极品| 在线看片欧美| 国产一区久久| 国产九九视频一区二区三区| 国产精品成人国产乱一区| 欧美肥婆bbw| 模特精品在线| 久久综合亚洲社区| 久久久久国色av免费看影院| 午夜视频一区| 先锋影音久久久| 亚洲欧美日本国产有色| 亚洲少妇中出一区| 99国产精品99久久久久久粉嫩| 91久久精品国产91久久性色| 亚洲电影免费观看高清完整版| 麻豆精品网站| 欧美成人午夜| 91久久精品一区二区别| 亚洲国产91色在线| 91久久精品一区二区三区| 亚洲黄色在线视频| 日韩视频在线一区| 99在线精品观看| 一区二区三区蜜桃网| 一区二区三区免费网站| 亚洲一区激情| 久久精品91久久久久久再现| 久久综合网hezyo| 牛牛影视久久网| 欧美日韩国产综合新一区| 欧美三级日本三级少妇99| 蜜臀91精品一区二区三区| 欧美高清影院| 国产精品成人va在线观看| 国产婷婷精品| 精品成人一区二区三区| 国产亚洲一级高清| 狠狠做深爱婷婷久久综合一区| 亚洲国产精品成人久久综合一区| 亚洲精品中文字幕女同| 亚洲第一区在线| 一本色道久久综合亚洲精品高清| 亚洲女人av| 欧美高清视频在线观看| 一本色道久久精品| 久久9热精品视频| 欧美精品三级日韩久久| 国产精品素人视频| 亚洲高清在线播放| 中文一区字幕| 老牛嫩草一区二区三区日本 | 久久人人看视频| 亚洲精品韩国| 亚洲欧洲99久久| 欧美激情免费在线| 国产性猛交xxxx免费看久久| 亚洲精品午夜| 久久精品日韩欧美| 亚洲毛片av在线| 久久久久久夜精品精品免费| 欧美午夜精品久久久久久浪潮| 欧美日韩日本视频| 雨宫琴音一区二区在线| 午夜精品国产| 亚洲靠逼com| 久久婷婷av|