程式碼UTF8之路2:解決VS編譯中的C1071錯誤
繼上一次解決了C4819的警告(點選這裡開啟)之後,繼續之後又遇到編碼問題。
首先是有一個檔案編譯出現錯誤,提示未定義變數,但是該檔案改為GBK編碼後,編譯是正確的,最後通過逐行排除法,發現將某行註釋後增加一個換行可以正確編譯,暫且忽略;
然後,又遇到了這個C1071錯誤,提示“在註釋中遇到意外的檔案結束”,可以確認程式碼是沒有問題,而且改為UTF8編碼之前(用的是GBK編碼)編譯是沒有問題的,上網查詢確認還是編碼的問題,而且在VS2015中的編譯選項可以支援指定原始碼的字符集,因此還和上一篇一樣,在QT的專案檔案中加入特定的編譯選項來解決該問題。
# set source charset QMAKE_CXXFLAGS += -source-charset:utf-8
也可以寫成是這樣的選項,同時指定原始碼字符集和執行字符集未UTF-8。
# set source charset and execution charset
QMAKE_CXXFLAGS += -utf-8
注意:這裡要寫 +=, 而不是直接等於,否則會把原有的其他選項覆蓋掉。
相關推薦
程式碼UTF8之路2:解決VS編譯中的C1071錯誤
繼上一次解決了C4819的警告(點選這裡開啟)之後,繼續之後又遇到編碼問題。首先是有一個檔案編譯出現錯誤,提示未定義變數,但是該檔案改為GBK編碼後,編譯是正確的,最後通過逐行排除法,發現將某行註釋後增加一個換行可以正確編譯,暫且忽略;然後,又遇到了這個C1071錯誤,提示“
《程式設計珠璣》程式碼之路2:騷!陣列不初始化直接訪問不出錯還很秀!!!
作為一隻程式設計師,肯定經常申請空間對吧,申請完的空間我們首先要初始化,然後再進行操作。 好了問題來了,初始化時需要時間的,尤其是申請的空間大了,那初始化將非常耗時。 那我能不能不全部初始化?用哪個初始化哪個呢? 我們知道不初始化的話,記憶體裡面存的東西都是隨機的,用哪個初始化哪個,你怎
《程式設計珠璣》程式碼之路1:學習位操作的神器----點陣圖排序(附解決程式設計師心理問題的門路)
最近由於“閒書”讀太多,不少朋友以為我要轉當產品經理了,故想起來把最近讀的《程式設計珠璣》以及自己編寫的程式碼整理成部落格,用程式碼證明自己的清白。雖然自己比較菜不能和Google和ACM金牌大佬PK技術,作為一隻老年菜雞ACMer,經常一頓操作猛如虎,一看戰績0AC。 但相信對於剛入門的小夥伴
《程式設計珠璣》程式碼之路3:40(2^32)億個不重複數尋找缺失值,字串旋轉,字典的變位詞集合
1:第一題,給一個40億個數的順序32位整數集合,尋找一個缺失數,時空複雜度O(n)。 題目給的是2^32的資料範圍,就是32位數,但事實上換成3位數字道理一樣的,所以就以3位數字(0-7)為例: 比如:0, 1, 2, 3, 4, 6, 7,缺失值是5。 好了接下來寫
數字影象處理成長之路16:QT中問題的解決辦法androiddeployqt.exe"退出,退出程式碼 14
在Window中安裝好QT,簡單的建立了一個android工程,編譯後出現報錯: ***Starting: “D:\programs\qt\5.9.2\android_armv7\bin\androiddeployqt.exe” –input C:/Users
Qt 學習之路 2(40):隱式數據共享
深拷貝和淺拷貝 != 這樣的 pointer map painter pos 轉載 多線程 博客轉載自:https://www.devbean.net/2013/01/qt-study-road-2-implicit-sharing/ Qt 中許多 C++ 類使用了隱式數據
Qt 學習之路 2(42):QListWidget、QTreeWidget 和 QTableWidget
上一章我們瞭解了 model/view 架構的基本概念。現在我們從最簡單的QListWidget、QTreeWidget和QTableWidget三個類開始瞭解最簡單的 model/view 的使用。這部分內容的確很難組織。首先,從最標準的 model/view 開始,往往會糾結於複雜的程式碼;但是
2星|《財務自由之路2》:德國職業寫手作品,每位讀者都在幫助作者實現財務自由,讀者們的情況那就不是作者關心的了
財務自由之路(Ⅱ3年內讓你的個人資產翻一番): 版權頁沒找到原版的任何資訊,亞馬遜英文上搜到的是2003年的一個德文版,書中沒能發現透露寫作時間的線索。 主要內容是一些勵志類雞湯文,個別地方講到理財與投資的具體技巧,作者是德國人,這些技巧對國內讀者恐怕只能用來啟發思路了。 從書中內容推測,作者最擅長
《程式設計珠璣》程式碼之路19:堆的概念和隱式堆實現
堆是用來表示元素集合的一種資料結構,它有兩個性質(大頂堆和小頂堆差異就一個符號,本文不詳細討論): 1:任何節點都小於或等於其子節點的值。 2:最多在最後一層和倒數第二層才有葉節點,而且儘可能靠左側分佈。 以上的性質,使得堆可以實現logn級別的插入和刪除操作,查詢最小值同樣也是logn
《程式設計珠璣》程式碼之路18:用點陣圖和“箱”更快更省空間地儲存和查詢數字
有一個看起來很簡單的問題:如何儲存一波隨機整數,使得查詢和儲存效率儘可能高? 通常的辦法自然是陣列和連結串列,當然如果這麼玩,那部落格就沒必要寫了2333333。 一個32位整數int正常來說有32位,每種語言都有所不同,如果只是儲存和查詢數字的話,其實這是非常浪費的,而且是幾十倍的浪費。
《程式設計珠璣》程式碼之路17:如何產生指定概率的隨機不重複大數
我們都知道,C語言函式庫的隨機函式應用範圍十分有限,RAND_MAX也就2^15那麼大,如果單純的擴充套件範圍,那麼精度自然就是問題了,不僅如此,在RAND_MAX不夠大的情況下,產生小於指定數的精度也是非常受限的。所以本文: 1:會實現一個最大能到2^30,精確的隨機函式。 2:會用不同思
《程式設計珠璣》程式碼之路16:直觀感受為何程式設計師需要學習經典演算法
作為一名老年ACM菜雞,經常見到周圍除了調庫啥也不會的程式設計師,還經常一臉正經的說:“程式設計師就是把人家寫好的東西拿出來呼叫一下,頂多改改嘛。”。emmmm,在這個貓貓狗狗都能養活自己的年代,這麼想確實沒問題 ---- 如果你確定自己不用面臨被淘汰的風險,或者在別的領域能首屈一指。 大家應該
《程式設計珠璣》程式碼之路15:節省空間的常見姿勢
1:地理資訊庫中儲存鄰居的系統 地理資訊庫中的鄰居用一個點(x, y)表示,x和y在[0,199]取值,假設一共有兩千個,那麼可以用一個200*200的二位格子矩陣表示,還可以作成圖形介面,使用者點選那個格子,系統把點選訊號轉化成對應的x和y,就可以直接訪問相應鄰居,如下圖所示,格子為空表示空值
《程式設計珠璣》程式碼之路14:兩個不會演算法也能把效率提升4倍的小套路
現在我們假設要在沒排序的陣列中找一個數: 菜狗也能寫出如下的演算法1: 找到了我就返回位置,否則我就返回-1。 int search1(){ for (int i = 0; i < MAXN; ++i){ if (nums[i] == VALUE){ return i;
《程式設計珠璣》程式碼之路13:陣列如何線上性時間內實現多次區間修改
給一個數組,每次對某個區間增加某個值,如何線上性時間內完成。 比如一個數組,剛開始都是0吧,如下表,第一行是下標: 0 1 2 3 4 5 6 7 0 0
《程式設計珠璣》程式碼之路12:如何用C/C++實現array[-1]並利用它寫出優美的程式碼
我們就以最大子陣列和為例: 最大子段和問題:給一組數,計算最大子段和。 在部落格:最大欄位和的6種解法,解法三中,我們提到了儲存前i項和的操作: cache[i]代表前i-1項之和,因為在c/c++中,cache[-1]會越界,所以如果用cache[i]代表前i項和的話,那麼在用遞推公式
《程式設計珠璣》程式碼之路11:最大子陣列和問題,花式七種解法
給一個一維陣列,有正數也有負數,求最大子陣列和是多少。 這是《程式設計珠璣》第八章探討的一個主要問題,也是平時刷題和各大廠面試的常客。 作為這麼經典的一個問題,要是老生常談,那就沒什麼意義了,這裡為大家帶來七種解法,其中更有一個最優複雜度的線性演算法,博主在各大廠面試的時候,碰到的面試官也非
《程式設計珠璣》程式碼之路10:little定律,一個和生活息息相關的結論
今天,同學聚會,喝了十瓶啤酒,死皮賴臉的要了一個哥們的電腦,保證自己不會吐上邊哈哈。 哈哈,好啦,進入正題: Little定律:系統中物體的平均數量等於物體離開系統的平均速率和物體在系統中平均停留時間的乘積。 和大部分定律一樣,乍眼看去,一點用沒有。 現在給出下面一個場景:一個可以容
《程式設計珠璣》程式碼之路9:請粗略估計,200萬一個值和一個指標的結構體能否存入128MB記憶體。
這個問題是《程式設計珠璣》第七章的一個問題。主要就是說像一個結構體中包含一個int和一個char,加起來是5個位元組,但因為位元組對齊的需要,實際會佔用8位元組。就這麼多麼? 作為經典鉅著,當然不會這麼一點點啦。 看下圖: 這幅圖是告訴我們,一個對齊後sizeof()列大小的結構體
《程式設計珠璣》程式碼之路8:自動化測試
這次的內容會比較輕鬆,一段程式碼寫好了,如何保證它是正確的? 比如就寫好了一個二分查詢吧,確定它正確?手動的話,估計是個正常人10次就哭了。所以如果能自動執行的話,那就很開心了。 為了做到自動化測試,我們需要用到下面語句: assert(i >= 0):在i大於或者等於0的時候正常