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

<2012年2月>
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

統計

  • 隨筆 - 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 小蔥蘸醬 閱讀(1009) 評論(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>
            久久不射电影网| 久久黄色影院| 欧美精品1区| 欧美大片免费观看在线观看网站推荐| 久久成人精品视频| 久久精品日产第一区二区三区| 久久精品欧美日韩| 欧美激情亚洲一区| 国产精品网站在线播放| 国产一级久久| 亚洲日本一区二区三区| 亚洲视频1区| 欧美一区二区三区视频在线| 欧美一区二区播放| 欧美激情第9页| 亚洲私拍自拍| 久久噜噜亚洲综合| 欧美新色视频| 在线播放亚洲| 亚洲欧美日韩视频二区| 美女黄毛**国产精品啪啪| 亚洲精品一区二区网址| 性欧美暴力猛交69hd| 免费不卡欧美自拍视频| 国产精品午夜国产小视频| 亚洲国产成人tv| 欧美一区二区视频在线| 亚洲高清电影| 亚洲综合日本| 欧美极品欧美精品欧美视频| 国产亚洲成精品久久| 99精品久久久| 免费不卡在线观看av| 亚洲天堂av在线免费观看| 久久天天躁狠狠躁夜夜爽蜜月| 欧美视频在线看| 日韩视频免费大全中文字幕| 国产精品毛片一区二区三区| 午夜在线精品| 欧美三级第一页| 亚洲国产美女精品久久久久∴| 欧美一级片在线播放| 亚洲六月丁香色婷婷综合久久| 久久精品视频在线看| 国产精品视频专区| 亚洲一区二区三区在线播放| 亚洲国产欧美日韩| 久久这里只有精品视频首页| 国产亚洲aⅴaaaaaa毛片| 亚洲欧美成人一区二区三区| 亚洲欧洲一区二区三区在线观看| 久热re这里精品视频在线6| 韩国av一区二区三区四区| 欧美一区二区成人6969| 亚洲视频图片小说| 欧美日韩在线直播| 亚洲一区中文| 一区二区三区久久久| 欧美日韩成人一区二区| 99国产精品视频免费观看一公开| 欧美激情第三页| 欧美激情aⅴ一区二区三区| 亚洲国产精品视频一区| 欧美激情精品久久久久久免费印度| 久久精品夜色噜噜亚洲a∨| 韩国一区二区三区美女美女秀| 久久久久久穴| 久久免费精品视频| 亚洲精品免费在线观看| 亚洲精品小视频| 欧美亚男人的天堂| 欧美在线视频免费播放| 久久精品国产亚洲5555| 亚洲第一页自拍| 亚洲日本欧美| 国产伦精品免费视频| 久久亚洲综合| 欧美精品久久久久久久久老牛影院 | 中文在线资源观看视频网站免费不卡| 欧美国产日韩视频| 亚洲图片在区色| 亚洲欧美日韩网| 加勒比av一区二区| 亚洲三级电影全部在线观看高清| 欧美日韩一区二区在线观看 | 亚洲欧美怡红院| 久久精品99国产精品日本| 亚洲国产成人在线| 中文日韩在线| 亚洲观看高清完整版在线观看| 亚洲精品久久久久久下一站| 国产精品免费一区豆花| 久久综合九九| 亚洲高清视频一区二区| 亚洲一区二区三区精品视频| 国产有码一区二区| 91久久视频| 激情五月婷婷综合| 日韩视频永久免费| 尤物网精品视频| 亚洲一区在线免费观看| 亚洲激情网站| 久久99伊人| 亚洲一区二区毛片| 美女在线一区二区| 久久精品国产欧美激情| 欧美久久久久久| 美女主播精品视频一二三四| 国产精品成人久久久久| 欧美激情自拍| 一区二区三区自拍| 欧美一级久久久| 亚洲欧美日韩综合aⅴ视频| 免费日韩一区二区| 久久最新视频| 国产一区视频观看| 一区二区三区日韩精品| 亚洲精品欧美日韩专区| 久久男女视频| 久久亚洲高清| 国产综合视频| 亚洲综合首页| 亚洲综合视频一区| 欧美另类极品videosbest最新版本| 久久综合九色99| 国产精品普通话对白| 99成人在线| 亚洲日本一区二区| 欧美1区2区视频| 亚洲第一网站免费视频| 一区二区三区我不卡| 欧美在线一二三区| 久久免费精品日本久久中文字幕| 国产精品mm| 亚洲午夜一区二区三区| 亚洲一区二区三区四区中文 | 欧美日韩播放| 亚洲精品一区二区网址| 亚洲精品一区中文| 欧美高清视频一区二区| 亚洲激情视频| 在线亚洲成人| 国产精品久久影院| 亚洲欧美日韩在线播放| 久久国产日韩| 亚洲电影免费观看高清完整版在线观看 | 欧美一区二区三区日韩视频| 性欧美大战久久久久久久免费观看 | 亚洲在线日韩| 国产精品黄色| 亚洲欧美精品suv| 久久久久国内| 亚洲电影视频在线| 欧美另类变人与禽xxxxx| 亚洲日本欧美| 性久久久久久久久| 一区精品久久| 欧美日韩成人综合| 亚洲欧美欧美一区二区三区| 久久久青草婷婷精品综合日韩| 亚洲成人在线视频网站| 欧美另类在线观看| 欧美一级久久久久久久大片| 欧美xx69| 亚洲主播在线播放| 激情欧美亚洲| 欧美视频日韩视频| 久久九九国产精品怡红院| 亚洲国产精品久久久久秋霞不卡 | 9i看片成人免费高清| 国产精品影片在线观看| 久久一区亚洲| 亚洲一区二区在线观看视频| 久久久综合网站| 一区二区三区欧美在线| 国产三级精品三级| 欧美日韩在线电影| 久久午夜视频| 亚洲午夜久久久久久久久电影网| 老司机免费视频一区二区| 亚洲一区视频| 亚洲黄色在线看| 国产日韩欧美在线播放| 欧美日韩直播| 美女国内精品自产拍在线播放| 99精品久久久| 欧美第十八页| 久久久久久夜| 性色av香蕉一区二区| 日韩视频免费观看| 亚洲福利国产| 国产亚洲欧洲一区高清在线观看 | 媚黑女一区二区| 午夜在线播放视频欧美| 亚洲精品乱码| 亚洲国产精品久久精品怡红院| 国产精品亚洲片夜色在线| 欧美日韩精品欧美日韩精品一 | 国产手机视频一区二区| 欧美性jizz18性欧美|