青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
金慶的專欄
C++博客
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評(píng)論 :: 0 Trackbacks
公告
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網(wǎng)游開發(fā)(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊(cè)
公告照片
搜索
積分與排名
積分 - 660421
排名 - 25
最新評(píng)論
1.?re: boost::asio::spawn 將一統(tǒng)C++網(wǎng)絡(luò)庫(kù)
asio 成為C++首選網(wǎng)絡(luò)庫(kù)
--linda
2.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--金慶
3.?re: mingw編譯OrzNet
能發(fā)送一個(gè)mingw編譯好的OrzNet庫(kù)給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--bigbad
5.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯(cuò)誤(11062)
2.?SVN中邪惡的replace(10988)
3.?VS2005編譯libevent(10436)
4.?混音算法的學(xué)習(xí)與研究(10242)
5.?C調(diào)用lua腳本的效率測(cè)試(9020)
評(píng)論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯(cuò)誤(18)
4.?C++引用優(yōu)于指針(17)
5.?ACE與ASIO之間關(guān)于Socket編程的比較(16)
"multiple definition of" 錯(cuò)誤
"multiple definition of" 錯(cuò)誤
在global.h定義了一個(gè)常量字符串,在多個(gè)cpp中包含該global.h.
// file: global.h
#ifndef GLOBAL_H
#define GLOBAL_H
const char * STR_TEST = "Hello world!";
#endif
結(jié)果鏈接時(shí)出現(xiàn)錯(cuò)誤:
multiple definition of ‘STR_TEST’
雖然改為#define肯定行,但是盡量應(yīng)該用const量取代宏定義。
這里有個(gè)概念性錯(cuò)誤。
const 變量默認(rèn)是 static 的,
但帶有 const 的不一定是 const 變量.
此處 STR_TEST 并不是常量,而是指向常量字符串的變量。
改為
const char * const STR_TEST = "Hello world!";
就可以了。
不過我又覺得改為
const char STR_TEST[] = "Hello world!"
更好。
posted on 2008-08-26 20:12
金慶
閱讀(11062)
評(píng)論(18)
編輯
收藏
引用
所屬分類:
1. C/C++
評(píng)論
#
re: "multiple definition of" 錯(cuò)誤
2008-08-27 00:33
TheAnswer
const char * const STR_TEST = "Hello world!";
前面那個(gè)const可以去掉的 效果一樣的
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤
2008-08-27 08:59
Kevin Lynx
概念性問題而已。
const int a = 12; 表示a 是個(gè)常量
const char * STR_TEST = "Hello world!";表示STR_TEST指向的內(nèi)容是常量,但其本身(作為一個(gè)指針變量而言)不是一個(gè)常量。
所以:
char * const STR_TEST = ".." 即可
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤
2008-08-27 09:09
金慶
@TheAnswer
char * const STR_TEST = "Hello world!";
STR_TEST[0] = 'X';
會(huì)通過編譯,所以不能去掉前面的const.
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤[未登錄]
2008-08-27 09:48
raof01
const 變量默認(rèn)是 static 的?誰說的?
multiple definition并不是由其constness不正確而導(dǎo)致的。
char * const p = "....";(p為常量,存放在常量表中,鏈接時(shí)沒問題)或者static char * p = "....";(限制p的作用域?yàn)榫幾g單元,但p可修改)即可,因?yàn)樽址旧硎亲置娉A浚荒苄薷摹?br>
因此,你這里的錯(cuò)誤是由于全局變量使用錯(cuò)誤導(dǎo)致的,與const無關(guān)。按照你最初的定義,在多個(gè)cpp中包含該global.h就相當(dāng)于多次定義了STR_TEST。因此鏈接時(shí)會(huì)出錯(cuò)。
const char STR_TEST[] = "Hello world!";這里有個(gè)拷貝操作,相當(dāng)于多用了一倍的空間。
建議你看看“C++:一些基礎(chǔ)知識(shí)”(
http://blog.chinaunix.net/u/12783/showart_548200.html
)3和4條
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤
2008-08-27 10:28
abettor
加了
#ifndef GLOBAL_H
#define GLOBAL_H
#endif
還出現(xiàn)重復(fù)定義?不解中……
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤
2008-08-27 10:29
theanswerzju
@金慶
會(huì)有運(yùn)行時(shí)錯(cuò)誤的這位大哥
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤
2008-08-27 10:30
theanswerzju
@abettor
這個(gè)防護(hù)宏只能防止一個(gè)cpp里重復(fù)包含
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤
2008-08-27 10:56
komac
文章內(nèi)容有誤導(dǎo)性,定義一個(gè)常量在多個(gè)文件中使用如果是定義在頭文件中就會(huì)出現(xiàn)multi definition的錯(cuò)誤,只需要把你想用的變量定義在cpp文件里面,然后在h文件里面用external關(guān)鍵字聲明即可。出現(xiàn)多次定義的原因是多次包含,雖然用了ifndef define endif 也不可以避免在多個(gè)不想干文件里面包含該頭文件所產(chǎn)生的錯(cuò)誤。
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤[未登錄]
2008-08-27 10:57
raof01
@abettor,@theanswerzju
IMHO,你們對(duì)于變量的定義理解存在問題。參考“C/C++:如何理解復(fù)雜的聲明”(
http://blog.chinaunix.net/u/12783/showart_378340.html
)。
變量定義一次就分配一次存儲(chǔ)。多次包含global.h,則多次為STR_TEST分配空間。編譯器正常是因?yàn)榉珠_編譯。鏈接異常是因?yàn)橛卸鄠€(gè)存儲(chǔ)叫做STR_TEST,通過STR_TEST引用存儲(chǔ)存在二義性。
而且inclusion guard是防止一個(gè)h被重復(fù)包含,而不是在一個(gè)cpp里重復(fù)包含。最基礎(chǔ)的書籍關(guān)于這點(diǎn)也是很清楚的。
與inclusion guard無關(guān)。
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤[未登錄]
2008-08-27 10:58
raof01
@komac
你沒有理解博主的意思。
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤[未登錄]
2008-08-27 10:59
raof01
OMG!看了這么多留言才知道,只有kevin lynx和博主——當(dāng)然也包括本人——知道討論的是什么問題。
IMHO,其他人該好好鞏固一下基礎(chǔ)了。
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤
2008-08-27 13:23
金慶
@raof01
看了你的文章,很好,學(xué)到了 bitwise constant.
const char STR_TEST[] = "Hello world!";
確實(shí)多用了空間, 看來還是用 const char * const 好,這樣只需復(fù)制指針。
const 變量默認(rèn)是 static,應(yīng)該是C++標(biāo)準(zhǔn)說的吧。不然我的代碼就會(huì)編譯出錯(cuò)。
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤[未登錄]
2008-08-27 13:43
raof01
@金慶
c++標(biāo)準(zhǔn)哪里有?把原話貼過來啊。
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤[未登錄]
2008-08-27 13:46
raof01
考慮這種情況:
void foo()
{
int const a = 10;
a++;
}
如果const默認(rèn)是static,那么上面的函數(shù)應(yīng)該等價(jià)于:
void foo()
{
static int a = 10;
a++;
}
可能嗎?
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤[未登錄]
2008-08-27 13:49
raof01
考慮這種情況:
void foo()
{
int const a = 10;
}
如果const默認(rèn)是static,那么上面的函數(shù)應(yīng)該等價(jià)于:
void foo()
{
static int a = 10;
}
可能嗎?
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤
2008-08-27 19:02
金慶
@raof01
更準(zhǔn)確的說法可能是:C++中const默認(rèn)為內(nèi)部鏈接的。
我本來不甚了了,現(xiàn)在查了C++標(biāo)準(zhǔn)終于清楚了。
C++ 2003 標(biāo)準(zhǔn)下載自:
http://d.download.csdn.net/down/167339/i2005reg
原文如下:
Annex C
3.5
Change: A name of file scope that is explicitly declared const, and not explicitly declared extern, has internal linkage, while in C it would have external linkage
Rationale: Because const objects can be used as compile-time values in C + +, this feature urges programmers to provide explicit initializer values for each const. This feature allows the user to put const objects in header files that are included in many compilation units.
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤
2008-08-27 21:18
komac
@金慶
This feature allows the user to put const objects in header files that are included in many compilation units.
的確無知了,不知道const還有這個(gè)用法,慚愧慚愧
回復(fù)
更多評(píng)論
#
re: "multiple definition of" 錯(cuò)誤[未登錄]
2008-08-28 09:24
raof01
看來我的理解也不夠深刻……
回復(fù)
更多評(píng)論
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
How are dtLinks created in NavMesh
C++ parameter passing rules
Naming Conventions for Accessors
Visual Studio 2019 Compiler Hangs
Fbx File Format Identifier
查找內(nèi)存錯(cuò)誤
std::thread 中的異常會(huì)丟失調(diào)用棧
用賦值代替 protobuf CopyFrom()
vs2017 linux 編譯輸出改成 vs 格式
為 LiteIDE 添加選中標(biāo)記
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
欧美在线精品一区
|
午夜在线电影亚洲一区
|
国产欧美日韩一区
|
在线观看国产精品网站
|
国产伦精品一区二区三区视频孕妇
|
国产午夜精品福利
|
欧美在线观看一区
|
亚洲一级在线
|
免费看的黄色欧美网站
|
亚洲国产女人aaa毛片在线
|
久久久久一本一区二区青青蜜月
|
性欧美暴力猛交69hd
|
伊人狠狠色丁香综合尤物
|
艳妇臀荡乳欲伦亚洲一区
|
日韩午夜av
|
国产精品永久免费观看
|
亚洲国产精品福利
|
亚洲欧美网站
|
一本久久a久久免费精品不卡
|
亚洲黄一区二区三区
|
免费h精品视频在线播放
|
亚洲国产精品久久人人爱蜜臀
|
国产精品视频九色porn
|
久久网站免费
|
欧美高清在线
|
午夜性色一区二区三区免费视频
|
久久久99国产精品免费
|
午夜国产精品视频
|
一本色道久久88精品综合
|
亚洲欧美日韩一区
|
亚洲欧美日韩一区二区三区在线
|
亚洲一区二区三区在线
|
尤物精品在线
|
亚洲影视中文字幕
|
国内精品福利
|
欧美一区二区日韩
|
国产精品国产三级国产aⅴ入口
|
国产欧美日韩精品一区
|
国产婷婷成人久久av免费高清
|
久久国产精品久久国产精品
|
亚洲国产日韩欧美在线99
|
午夜在线视频一区二区区别
|
亚洲一区在线播放
|
亚洲剧情一区二区
|
久久亚洲春色中文字幕久久久
|
亚洲视频精品
|
欧美巨乳在线观看
|
国产欧美一二三区
|
99国产精品视频免费观看一公开
|
亚洲精选中文字幕
|
欧美另类在线观看
|
欧美一区二区三区在线看
|
毛片av中文字幕一区二区
|
一区二区av
|
亚洲国产日韩在线一区模特
|
女同一区二区
|
欧美在线观看天堂一区二区三区
|
国产女同一区二区
|
久久精品一区二区三区中文字幕
|
激情五月综合色婷婷一区二区
|
日韩视频专区
|
亚洲第一天堂av
|
亚洲女人天堂av
|
亚洲欧洲精品一区
|
国产午夜精品视频免费不卡69堂
|
欧美国产日产韩国视频
|
亚洲男人第一av网站
|
99re8这里有精品热视频免费
|
国产欧美一区二区视频
|
欧美日本免费一区二区三区
|
久久久91精品国产一区二区三区
|
亚洲国产精品激情在线观看
|
蜜臀va亚洲va欧美va天堂
|
午夜精品一区二区三区四区
|
亚洲黄色成人
|
亚洲高清二区
|
韩国在线一区
|
狠狠色狠狠色综合日日tαg
|
亚洲国产黄色片
|
国产乱子伦一区二区三区国色天香
|
欧美视频1区
|
国产日韩视频一区二区三区
|
国产精品久久网站
|
国产一区久久
|
国产综合色产在线精品
|
亚洲大片精品永久免费
|
尤妮丝一区二区裸体视频
|
韩国三级在线一区
|
国产日韩精品在线播放
|
国产精品一区二区a
|
韩国亚洲精品
|
国内精品视频在线播放
|
在线观看精品视频
|
一本大道av伊人久久综合
|
亚洲欧美一区二区三区极速播放
|
亚洲一区二区三区中文字幕
|
性欧美大战久久久久久久免费观看
|
一区二区三区中文在线观看
|
国产精品久久久91
|
国产精品天美传媒入口
|
最新国产拍偷乱拍精品
|
亚洲一区二区成人
|
欧美电影电视剧在线观看
|
一区二区三区国产精华
|
久久精品观看
|
欧美日韩亚洲一区二
|
国内精品模特av私拍在线观看
|
亚洲区国产区
|
欧美大片免费观看
|
久久精品女人天堂
|
国产欧美精品日韩
|
午夜在线一区二区
|
亚洲欧美日韩国产中文
|
亚洲一区观看
|
日韩午夜激情av
|
欧美成人tv
|
在线视频精品一区
|
日韩视频专区
|
亚洲美女免费精品视频在线观看
|
久久久午夜电影
|
1024亚洲
|
亚洲精品一区在线观看香蕉
|
欧美剧在线观看
|
亚洲欧美日韩一区二区三区在线观看
|
日韩午夜在线播放
|
国产精品一区毛片
|
久久久久久综合网天天
|
久久先锋影音av
|
99国产精品私拍
|
亚洲免费在线电影
|
狠狠88综合久久久久综合网
|
久久手机免费观看
|
欧美成人一区二区在线
|
性色av一区二区三区红粉影视
|
亚洲美女精品成人在线视频
|
国产精品免费电影
|
亚洲国产美国国产综合一区二区
|
欧美国产日韩一区二区
|
亚洲欧美成人精品
|
美玉足脚交一区二区三区图片
|
免费观看30秒视频久久
|
亚洲欧美日本另类
|
欧美激情日韩
|
久久综合色婷婷
|
国产精品va在线播放我和闺蜜
|
久久人91精品久久久久久不卡
|
欧美日韩国产精品自在自线
|
久久影视三级福利片
|
国产精品有限公司
|
中文国产一区
|
亚洲淫性视频
|
欧美日韩国产电影
|
亚洲国产精品久久久久秋霞不卡
|
国产亚洲欧美一级
|
午夜精品视频一区
|
亚洲欧美日韩高清
|
国产精品自在线
|
亚洲在线国产日韩欧美
|
欧美中文字幕在线视频
|
国产日韩精品在线播放
|
久久不射2019中文字幕
|
久久久亚洲国产美女国产盗摄
|
国产亚洲一级高清
|
蜜臀av性久久久久蜜臀aⅴ四虎
|
亚洲一区二区三区在线观看视频
|
一区二区欧美国产
|
欧美日韩国产色综合一二三四
|
欧美剧在线观看
|
亚洲卡通欧美制服中文
|
亚洲欧美在线网
|
伊大人香蕉综合8在线视
|
欧美高潮视频
|
香蕉免费一区二区三区在线观看
|
麻豆视频一区二区
|
亚洲调教视频在线观看
|
国产专区欧美专区
|
欧美日韩国产123区
|
亚洲激情在线观看
|
香蕉国产精品偷在线观看不卡
|
亚洲欧美激情视频在线观看一区二区三区
|
欧美影院精品一区
|
一本到12不卡视频在线dvd
|
久久人91精品久久久久久不卡
|
欧美日韩国产成人在线免费
|
久久精品视频导航
|
欧美精品乱人伦久久久久久
|
欧美激情按摩
|
欧美性一二三区
|
久久精品一区二区三区中文字幕
|
女主播福利一区
|
欧美在线播放视频
|
蜜桃视频一区
|
亚洲一区三区视频在线观看
|
亚洲视频日本
|
欧美不卡福利
|
亚洲午夜高清视频
|
亚洲大片一区二区三区
|
午夜精品剧场
|
中文欧美在线视频
|
国产欧美一区二区色老头
|