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

woaidongmao

文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數(shù)據(jù)加載中……

頭文件定義的函數(shù),加Inline,否則容易出現(xiàn)link 2005錯誤

.h中文件定義的函數(shù)默認(rèn)為inline,但有時(shí)候卻不是如此,所以加上inline,可避免出現(xiàn)link 2005 錯誤。因?yàn)槎鄠€cpp包含這個.h的話,函數(shù)定義會出現(xiàn)在多個.obj中。、

 

 

 

我寫了一個函數(shù)放到了一個abc.h文件中,在mfc項(xiàng)目的stdafx.h中添加了包含abc.h   ,則   出現(xiàn)鏈接錯誤LNK2005
如不放到stdafx.h中,而直接在使用這個函數(shù)的cpp文件里包含這個abc.h   就不會有錯 20 回復(fù)次數(shù):8

第1個回答
你這個abc.h有函數(shù)實(shí)現(xiàn)么?
有沒有定義全局變量?


第2個回答
謝謝幫助,abc.h
中有函數(shù)實(shí)現(xiàn),但沒有全局變量


第3個回答
#ifndef   _ABCFUNC
#define   _ABCFUNC
在此處添加函數(shù)定義
#endif


第4個回答
使用inline.


第5個回答
#ifndef       _ABCFUNC
#define       _ABCFUNC
在此處添加函數(shù)定義
#endif
已經(jīng)加上了   用的是   #pragma   once  
加入   使用inline.   確實(shí)解決了問題   還請   xyzhaopeng     講講為什么  


第6個回答
編譯器認(rèn)為你對函數(shù)沒有作聲明,所以會   出錯,加上inline就說明你的函數(shù)是個內(nèi)聯(lián)函數(shù),這樣編譯器就會認(rèn)為你是在聲明時(shí)加的函數(shù)體。


第7個回答
編譯器是編譯每個cpp文件,你在abc.h里面寫了函數(shù)的實(shí)現(xiàn),afx.h里面include了abc.h,
而有很多gecpp文件include了afx.h,也就是很多個cpp文件里面有這個函數(shù)的實(shí)現(xiàn),
在鏈接器鏈接時(shí)就會發(fā)現(xiàn)有多個同名函數(shù),所以會報(bào)錯.
如果最終只有一個cpp文件include了abc.h則不會出錯,或者在abc.h中將函數(shù)申明為inline.


第8個回答
謝謝各位的熱心幫助  
我是在學(xué)習(xí)wtl
wtl沒有cpp文件,所有實(shí)現(xiàn)都寫在了h文件里面
卻沒有這種問題呢?

 

 

#####################################################################################################

#####################################################################################################


VC的LNK2005錯誤,用于避免重復(fù)包含的宏為什么無效?

頭文件設(shè)置如下:
#ifndef _MY_HPP_
#define _MY_HPP_
/*
內(nèi)容:
函數(shù)A
函數(shù)B
……
*/
#endif
可當(dāng)我在同一工程的多個cpp文件(例如文件1和文件2)里#include此頭文件時(shí),編譯倒能正常通過,可是連接時(shí)卻出現(xiàn)了報(bào)錯。大致意思是說:“在文件1.obj中的函數(shù)A已經(jīng)在文件2中定義?!倍沂穷^文件中有多少個函數(shù)就會出現(xiàn)多少條這樣的連接錯誤提示。
既然已經(jīng)設(shè)置了保護(hù)宏,為什么還不管用呢?急問,拜托了,叩謝。

作者: 125.33.0.*

2008-5-6 20:08 回復(fù)此發(fā)言


2
回復(fù):VC的LNK2005錯誤,用于避免重復(fù)包含的宏為什么無效?

如果把被提示的函數(shù)設(shè)置為inline就不會報(bào)錯了,可我總不能把所有函數(shù)都聲明成inline吧?該怎么辦???

作者: 125.33.0.*

2008-5-6 20:54 回復(fù)此發(fā)言


3
回復(fù):VC的LNK2005錯誤,用于避免重復(fù)包含的宏為什么無效?

"如果把被提示的函數(shù)設(shè)置為inline就不會報(bào)錯了"
說明你在頭文件里面有實(shí)現(xiàn)。。
這樣多個包含這個頭文件的cpp文件都有實(shí)現(xiàn)
link的時(shí)候就有多分。
頭文件一般是申明, 實(shí)現(xiàn)應(yīng)該放到某一個cpp文件里面
這樣link的時(shí)候就只有一份在“某一個cpp文件”

作者: 125.34.177.*

2008-5-6 23:14 回復(fù)此發(fā)言


4
回復(fù):VC的LNK2005錯誤,用于避免重復(fù)包含的宏為什么無效?

終于有回復(fù)了,感激涕零ing……T_T
Sorry……我那個頭文件說穿了就是個為了以后公用而寫的“函數(shù)庫”,是獨(dú)立于當(dāng)前工程之外的,故而頭文件里的這些函數(shù)也不是任何一個類的成員函數(shù)。
況且,這個頭文件在Dev-Cpp里即使包含了多次也沒有任何錯誤的啊。
還有,如果真的要把這些函數(shù)的實(shí)現(xiàn)挪到cpp里,那豈不還是得把這個cpp文件同樣在包含此頭文件的位置上照舊#include一遍,跟直接#include這個頭文件還有什么不同呢?
OK,不管怎么著,先謝謝3樓的老大了:)

作者: 125.33.10.*

2008-5-7 00:18 回復(fù)此發(fā)言


5
回復(fù):VC的LNK2005錯誤,用于避免重復(fù)包含的宏為什么無效?


是這樣寫
common.h 當(dāng)中聲明

#ifudef
....
void foo();
#endif
common.cpp 當(dāng)中寫實(shí)現(xiàn)
#include"common.h"
void foo()
{
....
}
然后調(diào)用的文件只需要包含頭文件就行了
#include"common"
int call()
{
foo();
}
include的意思就是把整個文件的類容copy過來。

作者: 求是的夢

2008-5-7 01:05 回復(fù)此發(fā)言


6
回復(fù):VC的LNK2005錯誤,用于避免重復(fù)包含的宏為什么無效?

剛剛在Dev-Cpp里試了一下3、5樓的雙文件法,結(jié)果成功通過了連接,待會去VC里試試看-_-
可是……可是話說回來,難道寫有函數(shù)定義的頭文件就真的“永遠(yuǎn)”不能在同一個工程中的不同文件里重復(fù)#include了嗎?都需要另建一個c或cpp文件來做寫函數(shù)定義體才能連接成功的嗎?
——該不會我這么久以來所堅(jiān)信的“在頭文件里設(shè)置了重復(fù)包含保護(hù)宏之后就可以隨意#include了”的觀點(diǎn)一直就是錯的吧?天!無論如何,先謝謝二位提點(diǎn),我這就去測驗(yàn)一遍看看……

作者: 125.33.10.*

2008-5-7 01:34 回復(fù)此發(fā)言


7
回復(fù):VC的LNK2005錯誤,用于避免重復(fù)包含的宏為什么無效?

還是不對呀,按照5樓的方式編寫2個文件:
//頭文件
#ifndef MY_H
#define MY_H
/*
函數(shù)聲明……
*/
#endif
//實(shí)現(xiàn)文件
#include <同名頭文件>
/*
函數(shù)定義……
*/
連接時(shí)LNK2005倒是消失了,可又出現(xiàn)了新的錯誤:
error LNK2001: unresolved symbol "函數(shù)A"(...)
error LNK2001: unresolved symbol "函數(shù)B"(...)
……
儼然一副“當(dāng)前工程中找不到函數(shù)定義”的樣子,可我如果把實(shí)現(xiàn)文件針對添加到工程里的話,跟我的最初“只#include頭文件、不增加工程文件數(shù)”的期望可就完全背道而馳了啊。
★★★★★★★★★★
簡而言之:怎么才能使我的頭文件像自帶的頭文件(如<iostream>、<string>或<stdio.h>)一樣可以隨處#include呢?
★★★★★★★★★★

作者: 125.33.19.*

2008-5-7 20:06 回復(fù)此發(fā)言


8
回復(fù):VC的LNK2005錯誤,用于避免重復(fù)包含的宏為什么無效?

大家一般是怎么寫這種dú-lì的通用式頭文件的呢?
只用同一個頭文件來同時(shí)包含函數(shù)的聲明和定義、并在同一工程中多次#include,究竟可不可行?能不能實(shí)現(xiàn)呢?

作者: 125.33.1.*

2008-5-8 00:35 回復(fù)此發(fā)言


9
或者說是暫時(shí)解決

呼~非得把所有函數(shù)都設(shè)置為static之后才能隨處#include……-_-

作者: 問題解決啦

2008-5-9 03:14 回復(fù)此發(fā)言

posted on 2008-11-15 18:35 肥仔 閱讀(2887) 評論(0)  編輯 收藏 引用 所屬分類: C++ 基礎(chǔ)

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲精选在线观看| 99这里有精品| 欧美护士18xxxxhd| 欧美激情亚洲自拍| 欧美国产精品va在线观看| 欧美好吊妞视频| 欧美午夜剧场| 国产丝袜美腿一区二区三区| 国内揄拍国内精品久久| 在线欧美日韩国产| 亚洲少妇诱惑| 久久国产精品亚洲77777| 欧美激情1区| 艳女tv在线观看国产一区| 亚洲自拍偷拍色片视频| 久久漫画官网| 欧美午夜片在线观看| 国产一区二区三区黄视频| 91久久黄色| 午夜久久久久久久久久一区二区| 久久久久久久尹人综合网亚洲| 亚洲成人直播| 亚洲手机成人高清视频| 欧美日韩在线视频一区二区| 久久久五月天| 欧美日韩在线播放| 国产色产综合产在线视频| 亚洲日本国产| 久久精品国产v日韩v亚洲| 亚洲精品女av网站| 亚洲欧美日韩国产一区二区三区| 久久久久九九九| 国产精品美女久久久久aⅴ国产馆| 伊人成人在线| 欧美在线观看一区二区| 亚洲剧情一区二区| 快she精品国产999| 国产香蕉97碰碰久久人人| 亚洲最新色图| 欧美国产日韩一区二区三区| 先锋影音一区二区三区| 欧美日韩免费一区二区三区视频| 在线高清一区| 久久亚洲精品视频| 午夜精彩视频在线观看不卡 | 欧美xart系列高清| 国产欧美一区二区色老头| 在线亚洲欧美视频| 欧美黄污视频| 免费日韩成人| **欧美日韩vr在线| 久久尤物电影视频在线观看| 亚洲欧美亚洲| 国产精品网站在线| 午夜精品久久久久久久| 亚洲午夜一区| 国产日本亚洲高清| 欧美一二三视频| 亚洲字幕一区二区| 国产日韩一区在线| 久久久久久综合| 久久国产免费看| 国内视频一区| 欧美va亚洲va日韩∨a综合色| 久久精品国产精品亚洲| 伊人狠狠色j香婷婷综合| 免费观看成人| 欧美激情2020午夜免费观看| 亚洲美女精品成人在线视频| 亚洲日本电影| 国产精品美女一区二区| 久久精品中文字幕一区| 久久久夜夜夜| 日韩亚洲精品电影| 99在线热播精品免费| 国产精品美女| 乱码第一页成人| 欧美成人精品h版在线观看| 一区二区三区欧美在线观看| 在线一区二区三区四区| 国产欧美精品| 欧美成人免费在线| 日韩视频一区二区三区在线播放| 亚洲欧美视频一区| 国产一区二区三区四区老人| 美女精品一区| 欧美日韩国产精品| 欧美资源在线| 欧美大片91| 性色一区二区三区| 久久亚洲精品网站| 亚洲天堂免费观看| 久久久精品日韩欧美| 夜夜嗨av一区二区三区四区| 亚洲欧美日韩在线不卡| 最新国产成人av网站网址麻豆| 在线视频中文亚洲| 狠狠88综合久久久久综合网| 亚洲精品久久久久中文字幕欢迎你| 国产精品视频网| 亚洲国产日韩欧美综合久久| 国产欧美日韩在线视频| 最新高清无码专区| 国产亚洲精品aa| 日韩香蕉视频| 亚洲黄色精品| 欧美一区二区视频网站| 中文亚洲视频在线| 久久综合久久综合九色| 亚洲欧美www| 欧美福利影院| 麻豆精品视频在线观看| 国产精品系列在线播放| 亚洲精品孕妇| 亚洲国产综合在线| 久久国产精品久久久久久久久久| 在线综合亚洲欧美在线视频| 美女露胸一区二区三区| 久久久久久久久久久久久9999| 欧美精品一区二区三区四区| 免费成人黄色片| 狠狠综合久久av一区二区小说| 亚洲图片你懂的| 亚洲视频中文字幕| 欧美日本一道本| 亚洲人体一区| 亚洲看片网站| 欧美激情久久久久久| 欧美电影在线播放| 极品尤物久久久av免费看| 午夜在线视频一区二区区别| 午夜在线不卡| 国产精品永久在线| 亚洲欧美另类国产| 欧美在线观看视频| 国产一区二区三区电影在线观看| 亚洲欧美日韩国产成人精品影院| 午夜精品婷婷| 国产喷白浆一区二区三区| 亚洲综合视频一区| 久久精品夜色噜噜亚洲a∨ | 亚洲欧美日韩一区在线| 欧美日韩午夜剧场| aaa亚洲精品一二三区| 亚洲一级黄色| 欧美国产日韩精品| 亚洲在线观看免费| 欧美剧在线观看| 日韩一区二区福利| 亚洲免费一在线| 国产视频一区在线观看一区免费| 欧美一区二区三区婷婷月色 | 99精品欧美| 亚洲欧美99| 伊人激情综合| 欧美剧在线观看| 亚洲专区在线视频| 欧美成人久久| 亚洲一区日韩| 国产在线高清精品| 欧美大片一区| 午夜精品成人在线| 亚洲高清免费视频| 性欧美暴力猛交69hd| 在线精品视频免费观看| 欧美日本精品一区二区三区| 亚洲欧美日韩在线综合| 美日韩精品视频| 亚洲一区在线看| 黄色在线一区| 欧美日韩亚洲不卡| 久久精品二区| 一本色道久久88综合亚洲精品ⅰ | 黑人巨大精品欧美一区二区小视频| 美女日韩在线中文字幕| 夜夜爽夜夜爽精品视频| 久久综合给合| 中日韩高清电影网| 在线欧美日韩国产| 国产精品资源| 欧美日韩一区二区三区| 久久久五月天| 香蕉久久a毛片| 99在线精品观看| 亚洲第一色在线| 久久亚洲美女| 欧美中文在线视频| 亚洲素人一区二区| 最新精品在线| 樱花yy私人影院亚洲| 国产精品色一区二区三区| 欧美激情第8页| 久久久久久一区二区| 午夜精品久久久久久久 | 欧美14一18处毛片| 欧美一区二区三区久久精品| 中文在线不卡视频| 9i看片成人免费高清| 亚洲激情av| 91久久国产综合久久|