日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Parse Too complex in xxxx.cpp --------source insight

發(fā)布時(shí)間:2024/2/28 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Parse Too complex in xxxx.cpp --------source insight 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


Source Insight,某些文件出現(xiàn)“parse too complex”,如何解決?


查看網(wǎng)上的解決方案都是

? ? SI的一個(gè)很有用的功能是可以列出所有的函數(shù)名和變量名,然而在Source Insight的工程中,偶爾會(huì)遇到那么一兩個(gè)文件,里面的函數(shù)名和變量名無法解析,提示“parse too complex”。難道這段程序真的復(fù)雜到SI都不認(rèn)識(shí)了嗎?非也。這其中的罪魁禍?zhǔn)拙褪菞l件預(yù)編譯指令。

??? 在一個(gè)Source Insight工程中,它里面所有的沒有確定數(shù)值的宏都被認(rèn)為是有效的,那么對(duì)于類似#ifdef...#else...#endif這樣的分支結(jié)構(gòu),如果在#ifdef和#else這兩個(gè)分支分別寫一個(gè)大括號(hào){,而在#endif之后寫上大括號(hào)的另一半},而這些大括號(hào)又都是有效的話,后果顯而易見:由于左半邊大括號(hào)多了一個(gè),括號(hào)不配對(duì),導(dǎo)致所有后邊的代碼被看作是該括號(hào)內(nèi)部的內(nèi)容,直到文件結(jié)束。。

??? 示例代碼:

??? #ifdef COMPLEX

??? {

??? #else

??? {

??? #endif

??? }

??? 解決辦法:在Options->Preferences->Languages->Conditional Parsing的設(shè)置處,在Project Specific Conditions中設(shè)置該宏為true、false還是忽略。當(dāng)設(shè)置宏COMPLEX為true或false之后,上面示例的兩個(gè)左大括號(hào)就只有一個(gè)有效,代碼可以被正確解析了。


但是我試了下,根本沒有解決我的問題


后來發(fā)現(xiàn)是初始化列表長度的問題,如果初始化類別的行數(shù)超過50行,就會(huì)出現(xiàn)上述問題,

sdk_buyout_code_strategy::sdk_buyout_code_strategy(): str_pos_id(""), str_combine_id(""), str_<img alt="生氣" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/mad.gif" />(""), str_ad_codetype_id(""), str_code(""), n_win_price(""), str<img alt="微笑" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/smile.gif" />(""), str_token(""), str_win_price(""), s_exchange_rate(""), str_en_win_price(""), str_tid(""), str_creative_id(""), str_ask_price(""), str_<img alt="害羞" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/shy.gif" />(""), str_tem_en_extend(""), str_ext_data(""), str_flu_provide_type(""), str_book_id(""), str_click_url(""), str_native_title(""), str_<img alt="吐舌頭" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/tongue.gif" />(""), str_native_mainimage(""), str_native_iconimage(""), str_run_src(""), str_run_width(""), str_run_height(""), str_<img alt="奮斗" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/struggle.gif" />(""), str_winnotice_url(""), str_imp_url(""), p_materials_new(NULL), p_material(NULL), str_<img alt="偷笑" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/titter.gif" />(""), str_last_impurl_base64(""), str_last_impurl_escape(""), str_last_impurllist_json(""), bk_obj(NULL), str_monitor_url(""), str_<img alt="大笑" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif" />(""), str_last_clkurl_base64(""), str_last_clkurllist_json(""), str_last_clkurl_escape(""), str_<img alt="難過" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/sad.gif" />(""), fea_db(NULL), b_is_rtb(false), str_<img alt="委屈" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/wronged.gif" />(""), n_platform(0), ad_types_id(0), str_refresh_time("")<span style="color:#ff0000;">, str_last_reqTrackerurl(""), str_pos_width(""), str_pos_height("")</span> {regist_replace_str(); }

把初始化列表的行數(shù)控制在50行以內(nèi),這個(gè)問題就會(huì)解決


這應(yīng)該是source insight 本身的bug


總結(jié)

以上是生活随笔為你收集整理的Parse Too complex in xxxx.cpp --------source insight的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。