字符長串中短串逆序輸出
摘要: 閱讀全文posted @ 2010-09-28 10:14 sduzgz 閱讀(320) | 評論 (0) | 編輯 收藏
2010年9月28日 #
2010年9月25日 #
2010年9月16日 #
posted @ 2010-09-16 14:22 sduzgz 閱讀(516) | 評論 (0) | 編輯 收藏
2010年9月1日 #
問題:用Visual studio 2008編輯C++程序,按Ctrl+F5,出現(xiàn)下列錯誤: fatal error C1083: 無法打開預(yù)編譯頭文件:“Debug/UGFace.pch”: No such file or directory 解決辦法:打開stdafx.cpp源文件,然后編譯一次,待編譯通過后再對程序執(zhí)行Ctrl+F7的操作。
剛研究C++語言,那知道,照著書上的例子編寫第一個程序就出錯了: fatal error C1010: unexpected end of file while looking for precompiled header directive 根據(jù)提示,我改變了預(yù)處理命令的應(yīng)用,甚至我注釋了#include stdafx.h這個頭文件命令,結(jié)果當然是大錯特錯,錯上加錯。編寫第一個程序就搞成這個樣子,實在是有點郁悶……于是我搜索了這一錯誤,看到如下一篇文章: 1、用VC.NET編輯程序,按Ctrl+F7,出現(xiàn)下列錯誤: fatal error C1083: 無法打開預(yù)編譯頭文件:“Debug/UGFace.pch”: No such file or directory 解決方法:修改:項目->屬性->C/C++ ->預(yù)編譯頭->不使用預(yù)編譯頭 即可。 2、先打開一個以前做了一下的工程,編譯通過,能運行。我就稍微修改了一下代碼(只是修 改一個參數(shù)使寫入INI文件的整數(shù)由0變?yōu)?0),這時編譯通不過了,提示頭文件“stdafx.h”編譯錯誤(具體錯誤提示忘記了),錯誤位置指向應(yīng)用 程序類的源文件的語句“#include "stdafx.h"”。不包含這個文件是不行的,左看右看沒找出個原因來,甚至把代碼改回原來的樣子,還是不行。到網(wǎng)上一查,發(fā)現(xiàn)這么一段話:
來到我的VC源代碼目錄,我注意到每個Project每個Project下面的DEBUG文件夾都特別大,而且一個擴展名為 .pch的文件占去了絕大部分,我刪掉之好像對程序編譯運行沒有什么影響.于是抱著對.pch文件的好奇,我在網(wǎng)上搜到了我疑惑之處的解答.這就是 VC++6.0給我們帶來的:預(yù)編譯頭文件.預(yù)編譯頭文件(一般擴展名為.PCH),是把一個工程中較穩(wěn)定的代碼預(yù)先編譯好放在一個文件(.PCH)里. 這些預(yù)先編譯好的代碼可以是任何的C/C++代碼--甚至可以是inline函數(shù),只是它們在整個工程中是較為穩(wěn)定的,即在工程開發(fā)過程中不會經(jīng)常被修改 的代碼. 為什么需要預(yù)編譯頭文件? 一言以蔽之:提高編譯速度.一般地,編譯器以文件為單位編譯,如果修改了一工程中的一個文件則所有文件都要重新編譯,包括頭文件里的所有東西 (eg.Macro宏,Preprocessor預(yù)處理),而VC程序中,這些頭文件中所包括的東西往往是非常大的,編譯之將占很長的時間.但它們又不常 被修改,是較穩(wěn)定的,為單獨的一個小文件而重新編譯整個工程的所有文件導致編譯效率下降,因此引入了.PCH文件. 如何使用預(yù)編譯頭文件以提高編譯速度? 要使用預(yù)編譯頭文件,必須指定一個頭文件(.H),它包含我們不會經(jīng)常修改的代碼和其他的頭文件,然后用這個頭文件(.H)來生成一個預(yù)編譯頭文件 (.PCH)VC默認的頭文件就是StdAfx.h,因為頭文件是不能編譯的,所以我們還需要一個.CPP文件來作橋梁,VC默認的文件為 StdAfx.cpp,這個文件里只有一句代碼就是:#include "StdAfx.h".接下來要用它生成.PCH文件,涉及到幾個重要的預(yù)編譯指令:/Yu,/Yc,/Yx,/Fp.簡單地說,/Yc是用來生 成.PCH文件的編譯開關(guān).在Project->setting->C/C++的Category里的Precompiled Header,然后在左邊的樹形視圖中選擇用來編譯生成.PCH文件的.CPP文件(默認即StdAfx.cpp)你就可以看到/Yc這個開關(guān),它表示這 個文件編譯了以后是否生成.PCH文件(可能/Yc的c表示create)./Fp指令指定生成的.PCH文件的名字及路徑(可能/Fp的p代表 path)./Yu的u即use使用,工程中只要包括了.H文件的文件都會有這個/Yu指令.如果選擇自動Automatic...的話則原來為/Yc的 地方就換成了/Yx指令.如果選擇自動,則每次編譯時編譯器會看以前有沒有生成過.PCH文件,有則不現(xiàn)生成否則就再次編譯產(chǎn)生.PCH文件. 注意:
照這么說,我這種情況只要重新將“StdAfx.cpp”編譯一下就可以了,一試,馬上能編譯運行了。心里不知道有多高興,因為以前碰到過幾次這樣的問題都不知道怎么解決,只好重新創(chuàng)建一個相同的工程。 |
posted @ 2010-09-01 10:12 sduzgz 閱讀(955) | 評論 (1) | 編輯 收藏
posted @ 2010-09-01 09:54 sduzgz 閱讀(312) | 評論 (0) | 編輯 收藏
2010年8月30日 #
posted @ 2010-08-30 09:35 sduzgz 閱讀(326) | 評論 (0) | 編輯 收藏