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

<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 小蔥蘸醬 閱讀(1007) 評論(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,就不會聯接錯誤,跟引用有什么關系呢?
  回復  更多評論    
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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在线| 亚洲欧美www| 欧美电影在线免费观看网站| 91久久精品视频| 欧美一区久久| 欧美激情第8页| 欧美在线免费播放| 欧美日韩999| 激情伊人五月天久久综合| 亚洲视频在线二区| 亚洲自拍偷拍色片视频| 欧美丰满高潮xxxx喷水动漫| 国产情人综合久久777777| 亚洲精品国产精品乱码不99| av成人免费在线观看| 美脚丝袜一区二区三区在线观看| 国产精品激情电影| 91久久视频| 免费日韩成人| 欧美一区二区在线免费播放| 国产精品毛片| 亚洲淫片在线视频| 亚洲日本在线视频观看| 欧美影片第一页| 99精品欧美一区| 欧美大学生性色视频| 欧美日韩一区二区三| 99国产精品视频免费观看一公开 | 亚洲精品国产精品乱码不99| 亚洲少妇诱惑| 国产精品白丝黑袜喷水久久久| 日韩天天综合| 久久久国产成人精品| 国产一区再线| 亚洲系列中文字幕| 国产日韩在线播放| 欧美一区亚洲二区| 欧美日韩小视频| 亚洲国产精品激情在线观看| 欧美不卡激情三级在线观看| 一本久久综合亚洲鲁鲁五月天| 欧美激情四色| 国产亚洲福利| 久久久视频精品| 香蕉久久国产| 亚洲国产精品传媒在线观看| 西西裸体人体做爰大胆久久久| 99re6这里只有精品| 久久―日本道色综合久久| 亚洲第一区在线| 日韩视频在线免费观看| 国产精品视频你懂的| 久久男人av资源网站| 国产精品视频yy9099| 一区二区三区 在线观看视| 国内成人在线| 久久av资源网站| 久久美女性网| 在线观看中文字幕亚洲| 久久精品夜色噜噜亚洲a∨| 久久精品99久久香蕉国产色戒| 久久久青草青青国产亚洲免观| 亚洲国产成人精品视频| 久久婷婷久久一区二区三区| 免费在线观看成人av| 在线成人av.com| 亚洲视频在线观看一区| 亚洲午夜久久久久久尤物| 欧美一区日韩一区| 久久久久在线| 亚洲第一精品电影| 欧美国产极速在线| 亚洲免费av片| 欧美亚洲一区二区在线| 欧美激情一区二区三区蜜桃视频| 亚欧成人精品| 极品少妇一区二区三区| 久久久精品日韩| 亚洲黄色影片| 亚洲婷婷综合久久一本伊一区| 国产精品久久久久永久免费观看| 亚洲免费一区二区| 老司机亚洲精品| 国产一区二区按摩在线观看| 久久亚洲精品一区| 99热在这里有精品免费| 久久av一区二区| 国产精品免费小视频| 久久av一区| 亚洲精品欧美极品| 日韩一级免费观看| 国产精品亚洲综合一区在线观看| 久久久免费精品视频| 亚洲欧洲精品一区二区三区波多野1战4| 亚洲系列中文字幕| 黄色成人在线| 欧美性事免费在线观看| 久久一区中文字幕| 国产精品99久久久久久人 | 91久久精品一区二区别| 国产精品v欧美精品v日本精品动漫| 先锋资源久久| 亚洲精品自在在线观看| 久久综合一区二区三区| 亚洲欧美激情诱惑| 亚洲精品偷拍| 国产一区二区三区在线观看视频 | 亚洲一区二区三区免费视频| 国内激情久久| 国产精品视频久久久| 免费观看在线综合| 亚洲国产三级| 老司机成人在线视频| 性做久久久久久久久| 一区二区毛片| 国产精品欧美日韩一区二区| 欧美成人在线网站| 久久青青草综合| 久久精品国产96久久久香蕉| 欧美va天堂| 一级日韩一区在线观看| 亚洲国产精品一区在线观看不卡| 久久久久久久综合狠狠综合| 亚洲视频一区二区免费在线观看| 欧美激情一区二区久久久| 久久手机免费观看| 日韩视频第一页| 国产精品一区免费在线观看| 欧美在线资源| 新67194成人永久网站| 亚洲一区二区免费| 牛牛精品成人免费视频| 久久天天躁狠狠躁夜夜av| 久久国产精品亚洲va麻豆| 先锋a资源在线看亚洲| 午夜精品久久久久久久久久久久| 国产一区二区三区在线观看免费视频| 国产精品久久久91| 欧美午夜一区二区| 国产精品羞羞答答| 国产日本欧美一区二区三区在线 | 国产精品久久午夜| 国产精品99免费看 | 男人的天堂成人在线| 免费不卡中文字幕视频| 美日韩丰满少妇在线观看| 欧美96在线丨欧| 欧美三级第一页| 久久久噜噜噜久噜久久| 久久亚洲私人国产精品va| 牛牛精品成人免费视频| 欧美伦理一区二区| 欧美日一区二区三区在线观看国产免| 欧美日韩免费观看一区=区三区| 欧美四级伦理在线| 国产精品社区| 又紧又大又爽精品一区二区| 亚洲福利电影| 亚洲图片欧美午夜| 久久国产乱子精品免费女| 蜜臀va亚洲va欧美va天堂| 亚洲福利国产精品| 久久综合久久综合久久综合| 麻豆精品精华液| 亚洲精品一区在线观看| 亚洲欧美不卡| 欧美黄色小视频| 国产欧美日韩视频在线观看| 亚洲成在线观看| 亚洲一区二区少妇| 榴莲视频成人在线观看| 亚洲精品在线一区二区| 性欧美video另类hd性玩具| 欧美成人免费小视频| 国产精品入口| 亚洲久久在线| 久久午夜电影| 一区二区三区精品国产| 久久亚洲私人国产精品va媚药| 国产精品福利片| 亚洲精品久久久蜜桃| 久久国产加勒比精品无码| 亚洲人成小说网站色在线| 久久国产手机看片| 欧美性猛交视频| 亚洲精品三级| 久久亚洲视频| 亚洲欧美99| 欧美视频一区在线| 亚洲精品视频一区| 久久亚洲国产成人| 亚洲免费中文| 欧美系列一区| 一区二区三区国产在线| 亚洲电影欧美电影有声小说|