Ⅰ 5萬行代碼算什麼規模
5萬行代碼算比較大的規模了。
代碼設計的原則包括唯一確定性、標准化和通用性、可擴充性與穩定性、便於識別與記憶、力求短小與格式統一以及容易修改等。源代碼是代碼的分支,某種意義上來說,源代碼相當於代碼。
現代程序語言中,源代碼可以書籍或磁帶形式出現,但最為常用格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼最終目的是將人類可讀文本翻譯成為計算機可執行的二進制指令,這種過程叫編譯,它由通過編譯器完成。
WEB標准化CSS+DIV代碼
CSS+DIV是網站標准(或稱「WEB標准」)中常用的術語之一,通常為了說明與HTML(標准通用標記語言的一個應用)網頁設計語言中的表格(table)定位方式的區別,因為XHTML網站設計標准中,不再使用表格定位技術,而是採用css+div的方式實現各種定位。
層疊樣式表單(外語縮寫CSS)的,它是一種用來表現HTML(標准通用標記語言的一個應用)或XML(標准通用標記語言的一個子集)等文件式樣的計算機語言。
Ⅱ 求C語言編譯器代碼
c語言編譯器源代碼
運行環境:9x/Me/NT/2000/XP/
源碼語言:簡體中文
源碼類型:編程源碼 - VC++源碼
下載地址:http://down2.newasp.net/code/vc/cvery_4136142.rar
或:http://www.newasp.net/code/vc/2445.html
visual c++ 功能強大,不過需要的容量也很大 ,
TC2.0也不錯 很適合初學者 不過不是很標准 下面有它們的下載網站 你自己根據自己的情況,自己選擇吧,我的建議是VC6.0
TC2.0的:
http://218.64.170.103/dload1.html?cid=
http://218.64.170.103/dload1.html?cid=
VC6.0 的:
http://218.64.170.103/dload1.html?cid=
http://218.64.170.103/dload1.html?cid=
-----------------------------------
TC 比較基礎,運行也比較快,但是是DOS界面
win-tc 是tc的windows版本,圖形化界面,很好使用。
VC 適合windows平台。集成開發環境。調試方便。
[
在http://msdn.microsoft.com/visualc/vctoolkit2003/
網站點擊( Download the Visual C++ Toolkit 2003 )
]
GCC 用於Linex,但是也有windows版本。移植性比較好
另外還有c-free,div c等,也可以在windows下使用
Ⅲ 代碼 佔用內存
1.代碼長會多佔內存,但是不會佔多少,可以忽略
2。多餘函數不佔內存,因為它根本沒有被編譯器編譯,也就是說二進制文件裡面根本沒有這個函數的代碼,在運行的時候顯然不可能將不存在的東西調入代碼段。
3.減小內存主要靠控制數據結構,好的數據結構和演算法是根本之道
Ⅳ 編譯器的代碼分析
編譯器分析(compiler analysis)的對象是前端生成並傳遞過來的中間代碼,現代的優化型編譯器(optimizing compiler)常常用好幾種層次的中間代碼來表示程序,高層的中間代碼(high level IR)接近輸入的源程序的格式,與輸入語言相關(language dependent),包含更多的全局性的信息,和源程序的結構;中層的中間代碼(middle level IR)與輸入語言無關,低層的中間代碼(Low level IR)與機器語言類似。 不同的分析,優化發生在最適合的那一層中間代碼上。
常見的編譯分析有函數調用樹(call tree),控制流程圖(Control flow graph),以及在此基礎上的 變數定義-使用,使用-定義鏈(define-use/use-define or u-d/d-u chain),變數別名分析(alias analysis),指針分析(pointer analysis),數據依賴分析(data dependence analysis)等。
程序分析結果是編譯器優化(compiler optimization)和程序變形(compiler transformation)的前提條件。常見的優化和變形有:函數內嵌(inlining),無用代碼刪除(Dead code elimination),標准化循環結構(loop normalization),循環體展開(loop unrolling),循環體合並,分裂(loop fusion,loop fission),數組填充(array padding),等等。 優化和變形的目的是減少代碼的長度,提高內存(memory),緩存(cache)的使用率,減少讀寫磁碟,訪問網路數據的頻率。更高級的優化甚至可以把序列化的代碼(serial code)變成並行運算,多線程的代碼(parallelized,multi-threadedcode)。
機器代碼的生成是優化變型後的中間代碼轉換成機器指令的過程。現代編譯器主要採用生成匯編代碼(assembly code)的策略,而不直接生成二進制的目標代碼(binary object code)。即使在代碼生成階段,高級編譯器仍然要做很多分析,優化,變形的工作。例如如何分配寄存器(register allocatioin),如何選擇合適的機器指令(instruction selection),如何合並幾句代碼成一句等等。
Ⅳ 求在VS或VC平台下可以編譯的開源軟體的源代碼,要一萬行左右的,最好為C或C++,拜託啦~
你看看CodePlex上面有沒有,或者CodeProject上面找找。
SourceForge上估計以開源編譯器通過的為主。
1.TinyXML
2.RapidXml
3.xerces
Ⅵ 來說說看你認為厲害的代碼是什麼樣子呢
幫人寫大作業,用一份mfc的代碼改的。mfc不熟,不過心想大作業的水平能難到哪裡去。
打開來一看,這整齊劃一的代碼風格,規范的命名,優良的文件組織,都讓我深深的愛上了這個作者!此人必是棟梁之才!後來發現,尼瑪這上百個文件,數百個類,幾萬行代碼,就沒有幾句是人寫的,都是mfc生成的!vc6.0 class wizzard不能牛逼更多!!
Ⅶ 10兆的軟體包含多少代碼
軟體大小和代碼無關的。
10M的軟體,可能包含10萬行代碼,也可能只有一行代碼。
軟體代碼
多少,要看
資源文件
佔比,
編譯器
和語言等綜合來判定。
C/C++的語言,一般編譯出來10M大小,如果沒有資源占很多的話,那麼可能包含上百萬行代碼了。
Ⅷ C 語言進階有哪些優秀的代碼可以閱讀
1. Webbench
Webbench是一個在linux下使用的非常簡單的網站壓測工具。它使用fork()模擬多個客戶端同時訪問我們設定的URL,測試網站在壓力下工作的性能,最多可以模擬3萬個並發連接去測試網站的負載能力。Webbench使用C語言編寫, 代碼實在太簡潔,源碼加起來不到600行。參考:八
2. Tinyhttpd
tinyhttpd是一個超輕量型Http Server,使用C語言開發,全部代碼只有502行(包括注釋),附帶一個簡單的Client,可以通過閱讀這段代碼理解一個 Http Server 的本質。參考:六
3. cJSON
cJSON是C語言中的一個JSON編解碼器,非常輕量級,C文件只有500多行,速度也非常理想。
cJSON也存在幾個弱點,雖然功能不是非常強大,但cJSON的小身板和速度是最值得贊賞的。其代碼被非常好地維護著,結構也簡單易懂,可以作為一個非常好的C語言項目進行學習。參考:五
4. CMockery
cmockery是google發布的用於C單元測試的一個輕量級的框架。它很小巧,對其他開源包沒有依賴,對被測試代碼侵入性小。cmockery的源代碼行數不到3K,你閱讀一下will_return和mock的源代碼就一目瞭然了。
主要特點:
免費且開源,google提供技術支持;
輕量級的框架,使測試更加快速簡單;
避免使用復雜的編譯器特性,對老版本的編譯器來講,兼容性好;
並不強制要求待測代碼必須依賴C99標准,這一特性對許多嵌入式系統的開發很有用參考:六
5. Libev
libev是一個開源的事件驅動庫,基於epoll,kqueue等OS提供的基礎設施。其以高效出名,它可以將IO事件,定時器,和信號統一起來,統一放在事件處理這一套框架下處理。基於Reactor模式,效率較高,並且代碼精簡(4.15版本8000多行),是學習事件驅動編程的很好的資源。參考:二
6. Memcached
Memcached 是一個高性能的分布式內存對象緩存系統,用於動態Web應用以減輕資料庫負載。它通過在內存中緩存數據和對象來減少讀取資料庫的次數,從而提供動態資料庫驅動網站的速度。Memcached 基於一個存儲鍵/值對的 hashmap。Memcached-1.4.7的代碼量還是可以接受的,只有10K行左右。參考:八
7. Lua
Lua很棒,Lua是巴西人發明的,這些都令我不爽,但是還不至於臉紅,最多眼紅。
讓我臉紅的是Lua的源代碼,百分之一百的ANSI C,一點都不摻雜。在任何支持ANSI C編譯器的平台上都可以輕松編譯通過。我試過,真是一點廢話都沒有。Lua的代碼數量足夠小,5.1.4僅僅1.5W行,去掉空白行和注釋估計能到1W行。參考:二
8. SQLite
SQLite是一個開源的嵌入式關系資料庫,實現自包容、零配置、支持事務的SQL資料庫引擎。 其特點是高度便攜、使用方便、結構緊湊、高效、可靠。足夠小,大致3萬行C代碼,250K。
9. UNIX v6
UNIX V6 的內核源代碼包括設備驅動程序在內 約有1 萬行,這個數量的源代碼,初學者是能夠充分理解的。有一種說法是一個人所能理解的代碼量上限為1 萬行,UNIX V6的內核源代碼從數量上看正好在這個范圍之內。看到這里,大家是不是也有「如果只有1萬行的話沒准兒我也能學會」的想法呢?
另一方面,最近的操作系統,例如Linux 最新版的內核源代碼據說超過了1000 萬行。就算不是初學者,想完全理解全部代碼基本上也是不可能的。
10. NETBSD
NetBSD是一個免費的,具有高度移植性的 UNIX-like 操作系統,是現行可移植平台最多的操作系統,可以在許多平台上執行,從 64bit alpha 伺服器到手持設備和嵌入式設備。NetBSD計劃的口號是:」Of course it runs NetBSD」。它設計簡潔,代碼規范,擁有眾多先進特性,使得它在業界和學術界廣受好評。由於簡潔的設計和先進的特徵,使得它在生產和研究方面,都有卓越的表現,而且它也有受使用者支持的完整的源代碼。許多程序都可以很容易地通過NetBSD Packages Collection獲得。
11,最值得閱讀學習的 10 個 C 語言開源項目代碼都有參考下載鏈接,如果你學習上需要這些,我有答案鏈接學習 ,把前7題( 參考:數字)組合就找到我了,相信這對於聰明的你不難哦!
Ⅸ java 調用編譯器
根本就不知道你要做什麼,腦子里一片混亂。
eclipse不是編譯器,那個叫集成開發環境(IDE)。
如果你的程序是java程序,直接調用內建的com.sun.tools.javac.*就可以。
如果你要做編譯器,可能還要學個幾年。
---------------------------------------------
你要做的事情我明白了,不過要運行java程序還是比較麻煩的。
這個裡面有些代碼的例子:
http://www.rgagnon.com/javadetails/java-0014.html
不過實際上能夠考慮比較多的情況的代碼大約需要上萬行。我做了好幾年還是沒有完全完成。