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

loop_in_codes

低調(diào)做技術(shù)__歡迎移步我的獨(dú)立博客 codemaro.com 微博 kevinlynx

強(qiáng)大的bcb

早就聽(tīng)說(shuō)bcb(borland c++ builder)是一個(gè)強(qiáng)大的RAD開(kāi)發(fā)工具,也早就聽(tīng)說(shuō)曾經(jīng)的borland搞出的編譯器堪稱經(jīng)典。

恰好最近在做一個(gè)GUI工具,想在界面開(kāi)發(fā)上盡量快一點(diǎn)。每一次用上MFC都讓我覺(jué)得渾身難受,總有些常用的

界面功能它就是沒(méi)有。在接口實(shí)現(xiàn)上,MFC基本上就只是封裝了WIN API而已。想想世界上還有什么強(qiáng)大的GUI庫(kù),

找了一下,其實(shí)不管GUI庫(kù)封裝的怎么樣,我更多地還是需要一個(gè)工具,能夠快速地堆積出界面。

 

于是,在網(wǎng)上下載了被國(guó)人精簡(jiǎn)了的bcb2009。然后,噩夢(mèng)開(kāi)始了。首先,我需要把邏輯層代碼(也就是實(shí)現(xiàn)具體

功能的那一層)移植到BCB下。然后得到了很多和語(yǔ)法相關(guān)的編譯錯(cuò)誤:

 

1.
E2397: Template argument cannot have static or local linkage

這個(gè)錯(cuò)誤發(fā)生于:

void func()
{

    struct Info

    {

        

    };

   std::queue<Info> abc;
}

它的意思是,模板參數(shù)必須是全局鏈接的,總之它不允許std::queue的參數(shù)是一個(gè)在函數(shù)內(nèi)部臨時(shí)定義

的類型(誰(shuí)來(lái)告訴我這是C++標(biāo)準(zhǔn))。

 

2.

E2357 Reference initialized with 'FileLoader::RawData', needs lvalue of type 'FileLoader::RawData'

這個(gè)錯(cuò)誤發(fā)生于:

FileLoader::RawData FileLoader::GetRawData() const;

FileLoader::RawData &raw = loader.GetRawData(); //不能用引用

很久沒(méi)看C++書(shū),所以,誰(shuí)又來(lái)告訴我C++標(biāo)準(zhǔn)里,這里到底能不能用引用?

 

3.

E2515 Cannot explicitly specialize a member of a generic template class

這個(gè)錯(cuò)誤發(fā)生的情景更復(fù)雜些:

template <typename _Tp>

class Test
{

   template <typename _U>

   class Other;

   template <>

   class Other<void>

   {

   };
};

意思是說(shuō),我不能在一個(gè)模板類里特化成員模板類。誰(shuí)又來(lái)告訴我標(biāo)準(zhǔn)規(guī)定的是什么?

 

4.

void func( Obj &a )
{
}

func( Obj() );這個(gè)也被視為錯(cuò)誤。必須得在調(diào)用func之前自己定義個(gè)臨時(shí)變量。

 

5.

我曾經(jīng)留下了關(guān)于宏遞歸的一些代碼,被用在我寫(xiě)的lua-binder和lua-caller中自動(dòng)生成代碼。這下好了,

BCB開(kāi)始警告我,我的這些宏不能工作了。它和MSVC在某些事情上分歧可真是大:

#define PARAM( n ) ,typename P##n //注意這個(gè)宏包含一個(gè)逗號(hào)

#define CHR( x, y ) CHR1( x, y )

#define CHR1( x, y ) x##y

#define BCB_ERROR( a, b ) CHR( a, b )

BCB_ERROR( 1, PARAM( 1 ) ) 當(dāng)這樣使用宏時(shí),基于我在GNU C上看到的關(guān)于宏的規(guī)則,會(huì)先展開(kāi)

PARAM(1),于是得到BCB_ERROR( 1, ,typename P2 )。然后,BCB認(rèn)為PARAM(1)展開(kāi)的逗號(hào)需要參與

BCB_ERROR的展開(kāi)了。于是,我的整個(gè)宏庫(kù)無(wú)法工作了。

關(guān)于這個(gè)問(wèn)題,我直接用MSVC寫(xiě)了個(gè)生成器,讓MSVC替我生成各種參數(shù)的lua-binder和lua-caller,然后

寫(xiě)成外部頭文件,最后直接在BCB里包含了這些頭文件。從而使我的lua-binder和lua-caller可以繼續(xù)使用。

 

然后,我的1W多行代碼終于在BCB下50多個(gè)WARNINGS的提示下編譯成功了。懷揣著興奮的心情,想自己終

于可以rapid開(kāi)發(fā)界面了。創(chuàng)建了個(gè)VCL FORM APPLICATION,噩夢(mèng)又開(kāi)始了:

 

1.

BCB莫名其妙地在我編譯一個(gè)CPP文件時(shí)給出如下提示:

F1004 Internal compiler error at 0x59b4ea8 with base 0x5980000

看起來(lái)像是BCB的編譯器給崩潰了。囧。google了一下,發(fā)現(xiàn)不是我人品問(wèn)題,很多人遇到相同的問(wèn)題。

別人給出的解決方案是:restart your bcb。從昨天晚上到現(xiàn)在為止,這個(gè)錯(cuò)誤發(fā)生了好幾次。

 

2.

new std::ofstream();會(huì)讓程序崩潰,往不該寫(xiě)的地方寫(xiě)了東西。我就奇怪了,你BCB自己帶的C++IO實(shí)現(xiàn),

難道還有BUG?再次google,還真發(fā)現(xiàn)是BCB自己的BUG,并且在幾個(gè)版本之前就存在這個(gè)BUG。那個(gè)天真

的老外還說(shuō)希望在BCB2009下能被修復(fù)。修改方案如下:

1)xlocale文件里把這句話注釋了:*(size_t *)&table_size = 1 << CHAR_BIT;

2)xlocale里把成員_Id_cnt訪問(wèn)屬性改為public,然后在自己的文件里定義一次。

 

3.

程序終于可以運(yùn)行了。但是BCB的IDE環(huán)境總是不那么貼心。我移動(dòng)了幾個(gè)窗口改成我習(xí)慣的樣子,但是一重啟

居然又恢復(fù)成default(難道是因?yàn)楸I版)。它的智能提示似乎總是跟著鼠標(biāo)指針,有時(shí)候指向某個(gè)符號(hào),鼠標(biāo)

就顯示忙。為了提示某個(gè)類的成員,某個(gè)函數(shù)的原型,BCB偶爾都會(huì)卡一下。其實(shí)我不介意我的編輯器沒(méi)有這

些提示功能,在MSVC下我也從不用VA來(lái)幫我寫(xiě)代碼。我甚至不厭其煩地在VIM下敲代碼切窗口去看函數(shù)原型,

但是,你他媽作為一個(gè)IDE就得像個(gè)IDE的樣子,要不,你干脆關(guān)掉所有功能,別給我卡就行了。

 

這個(gè)時(shí)候我開(kāi)始懷疑選擇BCB會(huì)不會(huì)是一個(gè)錯(cuò)誤的開(kāi)始,或者說(shuō)在使用某個(gè)東西時(shí),總會(huì)帶著使用其他同類東西

的感覺(jué)甚至偏見(jiàn)去看待這個(gè)新事物。但是,在我想堅(jiān)持繼續(xù)使用BCB時(shí),我一compile,它又提示我:

F1004 Internal compiler error at 0x59b4ea8 with base 0x5980000

posted on 2009-08-15 11:17 Kevin Lynx 閱讀(5813) 評(píng)論(17)  編輯 收藏 引用 所屬分類: 通用編程

評(píng)論

# re: 強(qiáng)大的bcb 2009-08-15 11:27 移動(dòng)12530彩鈴

很好啊~不錯(cuò)  回復(fù)  更多評(píng)論   

# re: 強(qiáng)大的bcb[未登錄](méi) 2009-08-15 12:05 robin

這個(gè)bcb用起確實(shí)想打人  回復(fù)  更多評(píng)論   

# re: 強(qiáng)大的bcb 2009-08-15 12:21

"被國(guó)人精簡(jiǎn)了的bcb2009",活該!
為什么不去官方下載完整的原始版本?真佩服你居然有勇氣使用國(guó)人XX過(guò)的版本.  回復(fù)  更多評(píng)論   

# re: 強(qiáng)大的bcb 2009-08-15 12:22

再補(bǔ)充一下, 無(wú)知者無(wú)畏啊.
照樓豬你這么說(shuō)的, CodeGear還做什么開(kāi)工具, 回家種地去得了. 真是幼稚.  回復(fù)  更多評(píng)論   

# re: 強(qiáng)大的bcb 2009-08-15 12:50 OwnWaterloo

2和4都是符合標(biāo)準(zhǔn)的, 引用只能綁定到左值, 只有const引用才可以綁定到臨時(shí)對(duì)象。
FileLoader::RawData FileLoader::GetRawData() const;
const FileLoader::RawData& r = loader.GetRawData();
// 估計(jì)不是所希望的, 應(yīng)該這樣才對(duì):
const FileLoader::RawData v = loader.GetRawData();


void func( Obj &a )
func( Obj() ); // error in ISO C++

void func(const Obj& a);
func( Obj() ); // ok


1. 我只記函數(shù)模板中, 局部類可以使用模板參數(shù)。
反過(guò)來(lái), 還真不記得了……
連同3, 這種使用了生僻模板技術(shù)的代碼, 編寫(xiě)的時(shí)候就應(yīng)該注意按標(biāo)與各編譯器的支持程度的差異。  回復(fù)  更多評(píng)論   

# re: 強(qiáng)大的bcb 2009-08-15 14:02 Kevin Lynx

@OwnWaterloo
3Q
@艸
你就解釋下我遇到的那些“BUG”是怎么回事就行了,就事論事。或者你可以告訴我,new std::ofstream在你的BCB上沒(méi)問(wèn)題。你的程序編譯時(shí)不會(huì)出現(xiàn)F1004 Internal compiler error。
  回復(fù)  更多評(píng)論   

# re: 強(qiáng)大的bcb[未登錄](méi) 2009-08-15 16:19 欲三更

那些關(guān)于模板的標(biāo)準(zhǔn)問(wèn)題我也不知道,但是那些關(guān)于引用的,是符合標(biāo)準(zhǔn)的。現(xiàn)行的標(biāo)準(zhǔn)(非c++09)規(guī)定右值只能綁定到const引用上。

編譯器崩潰是bcb的bug,并且沒(méi)有解決方案,我找過(guò)很久,根本沒(méi)有。

關(guān)于那個(gè)我根本看不懂的宏,更不知道了。。。

總的來(lái)說(shuō),像你這種情況,我建議你用BCB制作界面,把功能代碼全用MSVC搞成dll。  回復(fù)  更多評(píng)論   

# re: 強(qiáng)大的bcb 2009-08-15 17:56 WindyWinter

用盜版就夾起尾巴來(lái)做人。  回復(fù)  更多評(píng)論   

# re: 強(qiáng)大的bcb 2009-08-15 18:07 小笨象

老實(shí)說(shuō),我用這么久,除了IDE可能有一些BUG之外,就沒(méi)一下子遇到這么多問(wèn)題,可能你用的模板太多了吧。我是用最基本的方式來(lái)解決問(wèn)題的。
模板是不會(huì)的。。。。。
第3點(diǎn),這個(gè)是可以在選項(xiàng)中關(guān)掉的。BCB中的這個(gè)功能,是最被世人所罵的。
但是在2009的時(shí)候,已經(jīng)很好了,可能還是你用的版本的問(wèn)題吧。總之,不要用所謂的精簡(jiǎn)版本就沒(méi)錯(cuò)。
  回復(fù)  更多評(píng)論   

# re: 強(qiáng)大的bcb[未登錄](méi) 2009-08-15 20:49 missdeer

我從大學(xué)里開(kāi)始用BCB,用了六年,之后因?yàn)楣ぷ餍枰_(kāi)始用VC(MFC),之后就再也不想用BCB了。用VC很省事省心,遇到了問(wèn)題,求助渠道寬廣得多,資料也是豐富得多。  回復(fù)  更多評(píng)論   

# re: 強(qiáng)大的bcb 2009-08-15 22:33 CY

BCB里不敢用那些復(fù)雜的模板,即時(shí)提示經(jīng)常好卡,編譯出錯(cuò)時(shí)就提示那么一句,太難debug了。
不過(guò)BCB用來(lái)做為C++的界面編程入門(mén)還是很好的,比較容易提起學(xué)習(xí)的興趣,個(gè)人感覺(jué)。  回復(fù)  更多評(píng)論   

# re: 強(qiáng)大的bcb 2009-08-16 00:30 放屁阿狗

bcb我從1.0用到6.0,還是3.0,4.0比較讓我滿意點(diǎn),之后就開(kāi)始混亂了,編譯速度很慢,跟delphi無(wú)法比,現(xiàn)在又搞出部門(mén)獨(dú)立了,產(chǎn)品越做越糟糕,所以干脆不用了,還是用回vc和wxwidgets
建議使用qt把  回復(fù)  更多評(píng)論   

# re: 強(qiáng)大的bcb 2009-08-16 13:11 遠(yuǎn)古毛利人

低調(diào)做技術(shù)!用慣一種工具自然會(huì)不習(xí)慣另一種。  回復(fù)  更多評(píng)論   

# re: 強(qiáng)大的bcb 2009-08-18 22:26 f

我也遇到過(guò)在vc下好好的代碼拿到bcb下運(yùn)行會(huì)破壞內(nèi)存 。  回復(fù)  更多評(píng)論   

# re: 強(qiáng)大的bcb 2009-10-09 14:31 starwing

A local type, a type with no linkage, an unnamed type or a type compounded from any of these types shall not be used as a template-argument for a template type-parameter.

摘自14.3.1.2 ISO C++03
  回復(fù)  更多評(píng)論   

# re: 強(qiáng)大的bcb 2010-02-27 20:04 楊楊

工具. 我之前也困擾了許久.. 后來(lái)結(jié)連用了WX. 和QT.. 感覺(jué)還不錯(cuò).   回復(fù)  更多評(píng)論   

# re: 強(qiáng)大的bcb 2011-07-01 10:41 backup

建議樓主用gcc編譯以下你的代碼試試,看看什么效果?
  回復(fù)  更多評(píng)論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲视屏在线播放| 国产精品成人一区二区艾草| 亚洲日本电影在线| 尤物在线观看一区| 极品尤物av久久免费看| 蜜臀久久99精品久久久久久9| 在线成人av网站| 亚洲人成人99网站| 亚洲图片欧洲图片av| 亚洲欧美日韩第一区| 久久激情视频久久| 欧美高清视频| 亚洲婷婷综合久久一本伊一区| 在线视频欧美日韩| 久久国产高清| 欧美了一区在线观看| 国产精品视频yy9099| 狠狠色综合色区| 99精品热6080yy久久| 国产精品视频成人| 伊人春色精品| 亚洲欧美日韩精品久久奇米色影视| 久久精品官网| 亚洲免费福利视频| 欧美一区午夜视频在线观看| 香蕉成人啪国产精品视频综合网| 国产一区二区激情| 99国产精品视频免费观看| 亚洲免费精品| 欧美日韩高清在线观看| 国产精品午夜电影| 亚洲日本欧美| 久久福利视频导航| 亚洲乱码一区二区| 麻豆精品一区二区综合av| 国产日本欧美视频| 中文在线一区| 亚洲国产精品精华液网站| 一区二区三区日韩欧美精品| 欧美激情第六页| 新狼窝色av性久久久久久| 欧美日韩一区二区在线播放| 亚洲高清视频一区| 久久国产一二区| 一区二区三区四区精品| 亚洲成人在线免费| 亚洲一区二区三区午夜| 亚洲激情视频| 久久综合伊人77777蜜臀| 国产精品一区二区三区久久| 99人久久精品视频最新地址| 亚洲大片一区二区三区| 久久亚洲综合色一区二区三区| 国产欧美亚洲精品| 性欧美1819sex性高清| 一区二区欧美在线| 欧美视频在线观看 亚洲欧| 99精品国产热久久91蜜凸| 亚洲视屏在线播放| 在线一区二区三区四区| 夜夜狂射影院欧美极品| 欧美日本韩国一区| 亚洲天堂av在线免费观看| 一本久道久久综合婷婷鲸鱼| 欧美日韩p片| 亚洲午夜av在线| 在线观看三级视频欧美| 极品中文字幕一区| 牛牛精品成人免费视频| 久久国产精品一区二区三区四区| 国产偷国产偷亚洲高清97cao| 久久成人免费网| 欧美在线观看网址综合| 国内精品视频久久| 欧美岛国在线观看| 欧美日本免费一区二区三区| 亚洲嫩草精品久久| 久久er精品视频| 亚洲日本成人网| 亚洲性视频网站| 国产一区二区三区奇米久涩| 一区二区在线观看视频| 欧美激情aⅴ一区二区三区| 欧美日韩国语| 久久精品国产69国产精品亚洲| 久久精品成人欧美大片古装| 欧美成人一区二区三区| 国产精品99免费看| 乱人伦精品视频在线观看| 久久这里只有| 99视频精品免费观看| 亚洲在线观看| 伊人成人开心激情综合网| 亚洲黄色大片| 国产欧美一区二区精品婷婷| 欧美www视频| 国产精品久久久久久久一区探花| 久久激情五月丁香伊人| 欧美黑人国产人伦爽爽爽| 欧美一区2区视频在线观看 | 亚洲经典三级| 国产精品va在线播放| 一区二区三区在线高清| 最新成人av在线| 国产日韩精品入口| 亚洲欧洲在线播放| 国模精品一区二区三区色天香| 亚洲人成在线观看一区二区| 国产又爽又黄的激情精品视频 | 夜夜爽www精品| 国内精品久久久久影院色| 亚洲乱码国产乱码精品精可以看 | 国产亚洲精品自拍| 亚洲午夜日本在线观看| 国产精品sss| 亚洲大胆在线| 在线播放精品| 欧美在线日韩| 性久久久久久| 国产精品久久二区| 亚洲国产视频a| 影音先锋日韩有码| 久久久精品国产免费观看同学| 欧美日韩亚洲高清| 亚洲激情在线| 91久久精品国产91久久| 久久视频在线看| 久久影院午夜论| 国模私拍视频一区| 国产伦精品一区二区三| 欧美福利精品| 玉米视频成人免费看| 久久xxxx精品视频| 欧美在线观看一区二区三区| 国产精品二区二区三区| 一本一本久久a久久精品综合妖精| 日韩午夜在线播放| 欧美人与禽性xxxxx杂性| 最新日韩中文字幕| 亚洲免费久久| 欧美日韩一区二区精品| 一区二区三区欧美在线| 亚洲欧美制服中文字幕| 国产精品亚洲一区| 欧美在线免费视屏| 欧美成人国产一区二区| 麻豆91精品91久久久的内涵| 久久综合九九| 美日韩精品免费观看视频| 国产一区二区三区四区五区美女| 亚洲一区www| 欧美一进一出视频| 国产综合色产在线精品| 伊人久久男人天堂| 亚洲一区黄色| 久久亚洲风情| 亚洲精品欧美| 欧美午夜片在线观看| 亚洲欧美日韩第一区| 久久一二三四| 亚洲免费高清视频| 国产精品稀缺呦系列在线| 久久激情五月激情| 亚洲国产清纯| 午夜精品久久久久| 一区二区在线视频播放| 欧美精品亚洲二区| 午夜精彩视频在线观看不卡| 欧美~级网站不卡| 亚洲色图制服丝袜| 黄色成人精品网站| 亚洲视频免费观看| 玖玖玖免费嫩草在线影院一区| 日韩小视频在线观看| 国产欧美日韩综合一区在线观看| 久久综合五月| 亚洲一区二区三区欧美 | 一区二区三区蜜桃网| 午夜精品国产更新| 久久综合九色| 亚洲天堂成人在线观看| 欧美电影免费观看网站| 亚洲欧美日韩一区在线| 狠狠色丁香久久婷婷综合丁香 | 一区二区三区视频在线看| 国产视频久久久久久久| 欧美精品一区二区三区很污很色的 | 欧美国产在线视频| 午夜精品成人在线视频| 亚洲人成毛片在线播放女女| 国产亚洲a∨片在线观看| 欧美日韩一区二区三区在线看| 久久久久久久综合色一本| 亚洲综合第一页| 亚洲美女在线视频| 欧美精品一区二区蜜臀亚洲| 亚洲国产精品激情在线观看| 久久久精品国产免大香伊| 亚洲在线免费观看| 夜夜精品视频一区二区|