當前位置:首頁 » 編程軟體 » gnu編程

gnu編程

發布時間: 2023-03-25 02:37:48

『壹』 GNU編程風格有什麼優點

首先,編程風格並不同於其他的style,目的並不是形成自己獨樹一幟的風格,而是為了讓你的程序易讀高彎空,有利於團隊合作鬧老以及別人幫你改錯。 風格是通用的 c語言和C++語言的編程風格 (Java見下) 第一章:縮進格式 Tab是8個字元,於是縮進也是8個字戚瞎符

『貳』 gcc執行共享文件的文件為什麼說許可權不夠

gcc執行共享頌宏文件的文件許可權不夠是代碼不能直接執行造成的。GCC(明櫻野GNUCompilerCollection,GNU編譯器套件)是由GNU開發的編程語言編譯器。GNU編譯器套件包括C、C++、Objective-C、Fortran、Java、Ada和Go語言前端,也包括激喊了這些語言的庫(如libstdc++,libgcj等。

『叄』 C/C++/linux/編程/開源方面的問題:Mozilla和GNU的區別

許多混亂就始於你不知道License到底是什麼,到底有什麼含義。當你對你的產品使用License時,並不意味著你放棄了任何權利,你依然對其擁有原著作權。License只是授予他們於特定權利來使用你的產品。

License只是把你的作品釋放到公有領域,或者給各個拷貝賦予許可權。也意味著你放棄了版權收入,別人也沒有義務把你列為原作者或貢獻者。

開放源代碼許可協議更容易為他人作出貢獻,而不必尋求特別的許可。它也可以保護你作為原創者的權利,至少確認了你的貢獻。它還可以保證你的工作不為別人所剽竊。
GNU General Public License

GNU General Public License (GPL)的可能是開源項目最常用的許可證。GPL賦予和保證了開源項目開發者廣泛的權利。基本上,它允許用戶合法復制,分發和修改軟體。 這意味著你可以:

* 復制軟體

復制軟體到自己的伺服器,客戶端的伺服器,你自己的電腦,幾乎任何你想要的地方,而且沒有數量限制。
* 發布軟體

發布你想要的軟體,例如,在你的網站提供下載鏈接,刻成光碟,列印出來等等。
* 收取費用

如果你想在向別人提供軟體時收費,如設置在別人的網站上或者其他用途時。GPL允許你這么做,但是你必須給客戶提供一個GPL副本,告訴他們可以在其他地方得到免費版本。當然最好在此之前,告訴客戶,你為什麼收費。
* 可以任意修改

如果你想添加或刪除功能,沒問題。如果想在其他項目中使用部分代碼,也是可以的,但是唯一的限制是此項目也必須按GPL發布。

商業軟體不能使用GPL協議的代碼。
GNU Lesser General Public License

還有另一個GNU License:GNU Lesser General Public License (LGPL)。比起GPL它授予的許可權較少。一般來說,LGPL比較適合連接到非GPL或者非開源文件的庫文件。由於GPL的規定,使用到部分GPL代碼的軟體,必須也使用GPL,開發人員不能使用GPL來開發收費軟體或者專有軟體。LGPL則沒有這方面的要求,不要求使用與部分代碼相同的 License。

商業軟體可以使用,但不能修改LGPL協議的代碼。
BSD License

BSD License與其他自由軟體License相比,如GPL,限制更少。但是請注意到BSD License兩種版本之間的差別:New BSD License/Modified BSD License 和Simplified BSD License/FreeBSD License。它們兩者都是於GPL兼容的自由軟體License。

New BSD License (」3-clause license」) 可以用於任何作為版權聲明和保證許可的免責聲明的目的,可以通過無限長的再分發來得以維持,也就是說如果再發布的產品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協 議。它還有一個特殊限制條款,不用特別的許可就是限制使用派生工作的工作者名字,也就是說不可以用開源代碼的作者/機構名字和原來產品的名字做市場推廣。

New BSD License和Simplified BSD License的主要區別是,後者忽略了非認可條款。

商業軟體可以使用,也可以修改使用BSD協議的代碼。
MIT License

MIT是和BSD一樣寬松的許可協議,作者只想保留版權,而無任何其他了限制.也就是說,你必須在你的發行版里包含原許可協議的聲明,無論你是以二進制發布的還是以源代碼發布的。

* 你可以使用,復制和修改軟體
* 你可以免費使用軟體或出售
* 唯一的限制是,它是必須附有MIT授權協議

商業軟體可以使用,也可以修改MIT協議的代碼,甚至可以出售MIT協議的代碼。
Mozilla Public License 1.1 (MPL)

MPL協議允許免費重發布、免費修改,但要求修改後的代碼版權歸軟體的發起者。這種授權維護了商業軟體的利益,,它要求基於這種軟體得修改無償貢獻版權給該軟體。這樣,圍繞該軟體得所有代碼得版權都集中在發起開發人得手中。但MPL是允許修改,無償使用得。MPL軟體對鏈接沒有要求。

商業軟體可以使用,也可以修改MPL協議的代碼,但修改後的代碼版權歸軟體的發起者。
Common Development and Distribution License

CDDL(Common Development and Distribution License,通用開發與銷售許可)開源協議,是MPL(Mozilla Public License)的擴展協議,它允許公共版權使用,無專利費,並提供專利保護,可集成於商業軟體中,允許自行發布許可。

商業軟體可以使用,也可以修改CDDL協議的代碼。
Apache License

Apache Licence是著名的非盈利開源組織Apache採用的協議。該協議和BSD類似,同樣鼓勵代碼共享和尊重原作者的著作權,同樣允許代碼修改,再發布 (作為開源或商業軟體)。需要滿足的條件:

* 需要給代碼的用戶一份Apache License。
* 如果你修改了代碼,需要在被修改的文件中說明。
* 在延伸的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協議,商標,專利聲明和其他原來作者規定需要包含的說明。
* 如果再發布的產品中包含一個Notice文件,則在Notice文件中需要帶有Apache License。你可以在Notice中增加自己的許可,但不可以表現為對Apache License構成更改。

Apache Licence也是對商業應用友好的許可。使用者也可以在需要的時候修改代碼來滿足需要並作為開源或商業產品發布/銷售。

商業軟體可以使用,也可以修改使用Apache協議的代碼。
Eclipse Public License

EPL是一個與CPL相類似的許可證,任何擴展自Eclipse源碼的代碼也必須是開源的。
Creative Commons

Creative Commons(CC)的許可證不太開放源代碼授權,它們通常用於設計項目。 CC許可證有著寬廣的定義,每個定義都會授予一定的權利。它有四個基本部分,可以單獨或者組合使用。下面是部分概述:

* 署名

作者必須是作品的原創者。 除此之外,作品可以修改,分發,復制和以其他方式使用。
* 相同方式共享

工作可以修改,分發等等,但必須在一個許可證下。
* 非商業

可以修改,分發等,但不用於商業目的。 關於什麼是「商業」,說法比較含糊(沒有提供明確的定義),因此您可能需要在自己的項目中澄清這一點。
* 禁止修改

這意味著您可以復制和分發許可工作,但你不能以任何方式修改,或在原有的基礎開發。

商業軟體的使用要遵從CC協議的具體規定,最嚴格的許可證將是「署名,非商業,不能修改」的授權。這意味著你可以自由共享的工作,但不能改變它,你必須把它歸功於原創者。
Common Public License 1.0

Common許可證有一些細節性的規定值得參考:

* 明確了專利授權。一般的開源軟體都明確源代碼的版權人將自己的修改權、復制權等版權權利向公眾許可,但保留署名權,而Common許可證在此基礎上還明確假如源代碼中含有專利權,源代碼專利權人將復制、使用的專有權利向公眾許可。
* 規定可以將源代碼及修改過的源代碼與其他類型的不受本許可證約束的代碼結合,以新產品的形式發布,只要其中經該許可證獲得的源代碼及修改過的源代碼能按該許可證的要求發布即可。
* 細化了該許可證終止的情形,包括發生專利侵權訴訟。
* 明確了一個獨立承擔責任的原則,就是假如按該許可證使用源代碼的使用者將獲得的源代碼應用於商業使用,那麼他就要對在商業應用中出現的由於使用該源代碼程序而產生的侵權訴訟承擔完全責任。這一條規定是比較特殊的,絕大多數開源軟體許可證都不這么要求。

商業軟體可以使用,也可以修改Common協議的代碼,但要承擔代碼產生的侵權責任。

『肆』 學C語言現在最好用的編程軟體

Turbo C就可以的。編輯文本的時候可以用utraledit
至於vc++之類的我是不推薦初學者使用的

『伍』 什麼是GCCGCC有什麼作用

GCC(GNU Compiler Collection,GNU編譯器套件),是由 GNU 開發的編程語言編譯器。它是以GPL許可證所發行的自由軟體,也是 GNU計劃的關鍵部分。

GCC原本作為GNU操作系統的官方編譯器,現已被大多數類Unix操作系統(如Linux、BSD、Mac OS X等)採納為標準的編譯器,GCC同樣適用於微軟的Windows。GCC是自由軟體過程發展中的著名例子,由自由軟體基金會以GPL協議發布。

GCC功能與作用:

1、預處理

命令gcc首先調用cpp進行預處理,在預處理過程中,對源代碼文件中的文件包含(include)、預編譯語句(如宏定義define等)進行分析。

2、編譯

用GCC編譯C/C++代碼時,它會試著用最少的時間完成編譯並且編譯後的代碼易於調試。易於調試意味著編譯後的代碼與源代碼有同樣的執行順序,編譯後的代碼沒有經過優化。

3、連接

當所有的目標文件都生成之後,gcc就調用ld來完成最後的關鍵性工作,這個階段就是連接。在連接階段,所有的目標文件被安排在可執行程序中的恰當的位置,同時,該程序所調用到的庫函數也從各自所在的檔案庫中連到合適的地方。

4、匯編

匯編過程是針對匯編語言的步驟,調用as進行工作,一般來講,.S為後綴的匯編語言源代碼文件和匯編、.s為後綴的匯編語言文件經過預編譯和匯編之後都生成以.o為後綴的目標文件。

(5)gnu編程擴展閱讀:

gcc所遵循的部分約定規則:

1、.c為後綴的文件,C語言源代碼文件。

2、.a為後綴的文件,是由目標文件構成的檔案庫文件。

3、.h為後綴的文件,是程序所包含的頭文件。

4、.i 為後綴的文件,是C源代碼文件且不應該對其執行預處理。

5、.m為後綴的文件,是Objective-C源代碼文件。

6、.o為後綴的文件,是編譯後的目標文件。

7、.s為後綴的文件,是匯編語言源代碼文件。

『陸』 電腦常用的編程軟體有哪些

常用的編程軟體有:Visual studio、WebStrom、PhpStorm、Notepad++、EditPlus、Sublime Text等。

1、Visual studio

Visual studio是一款由美國微軟公司開發的開發工具集,簡稱VS,它包括了整個軟體的生命周期所需要的大部分工具,比如UML工具,代碼管控工具,集成開發環境IDE等等。

2、WebStrom

WebStrom是jetbrains公司旗下的一款JavaScript開發工具,目前被廣大的中國JS開發者譽為"Web前端開發神器","最強大的HTML5編輯器"和"最智能的JavaScript IDE"等。

3、PhpStormPhpStorm是一個專業輕量級且便捷的PHP IDE,旨在提供了用戶效率,可深刻理解用戶的編碼,提供智能的代碼補全,快速導航以及即時錯誤檢查等等強大的功能。

4、Notepad++Notepad++,能夠支持27種編程語言,比如C,C++,Java,C#,XML,HTML,PHP,JavaScript等等,是程序員必備的文本編輯器,比起微軟的記事本,它小巧高效,是個不錯的選擇。

5、EditPlusEditPlus是一款由韓國Sangil Kim出品的小巧而功能強大的可處理文本,HTML和程序語言的Windows編輯器,可以通過設置用戶工具將其作為C,Java,PHP等等語言的一個簡單的IDE

6、Sublime TextSublime Text是一款代碼編輯器,是HTML和散文先進的文本編輯器。具有漂亮的用戶界面以及強大的功能,比如代碼縮略圖,Python插件,代碼段等。

『柒』 常見的C語言編譯器是什麼

目前最流行的C語言編譯器有以下幾種:

1、GNU Compiler Collection 或稱GCC

GCC(GNU Compiler Collection,GNU編譯器套件),是由 GNU 開發的編程語言編譯器。它是以GPL許可證所發行的自由軟體,也是 GNU計劃的關鍵部分。

GCC原本作為GNU操作系統的官方編譯器,現已被大多數類Unix操作系統(如Linux、BSD、Mac OS X等)採納為標準的編譯器,GCC同樣適用於微軟的Windows。GCC是自由軟體過程發展中的著名例子,由自由軟體基金會以GPL協議發布。

2、Microsoft C 或稱 MS C

Microsoft C 是c語言的一種IDE(集成開發環境),常見的還有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,High C,Turbo C等等......

3、Borland Turbo C 或稱 Turbo C

Turbo C是美國Borland公司的產品,Borland公司是一家專門從事軟體開發、研製的大公司。該公司相繼推出了一套 Turbo系列軟體, 如Turbo BASIC, Turbo Pascal, Turbo Prolog, 這些軟體很受用戶歡迎。

(7)gnu編程擴展閱讀:

C編譯的整個過程很復雜,大致可以分為以下四個階段:

1、預處理階段在該階段主要完成對源代碼的預處理工作,主要包括對宏定義指令,頭文件包含指令,預定義指令和特殊字元的處理,如對宏定義的替換以及文件頭中所包含的文件中預定義代碼的替換等,總之這步主要完成一些替換工作,輸出是同源文件含義相同但內容不同的文件。

2、編譯、優化階段編譯就是將第一階段處理得到的文件通過詞法語法分析等轉換為匯編語言。優化包括對中間代碼的優化,如刪除公共表達式,循環優化等;和對目標代碼的生成進行的優化,如如何充分利用機器的寄存器存放有關變數的值,以減少內存訪問次數。

3、匯編階段將匯編語言翻譯成機器指令。

4、鏈接階段鏈接階段的主要工作是將有關的目標文件連接起來,即將在一個文件中引用的符號同該符號在另外一個文件中的定義連接起來,使得所有的目標文件成為一個能夠被操作系統裝入執行的統一整體。

『捌』 gcc安裝哪本書比較好

《gccmanual》。
GCC(GNUCompilerCollection,GNU編譯器套件塵知敬)是由GNU開發的編程語派慎言譯器。GNU編譯器套件包括C、C++、Objective-C、Fortran、Java、Ada和Go語言猛叢前端,也包括了這些語言的庫(如libstdc++,libgcj等。)GCC的初衷是為GNU操作系統專門編寫的一款編譯器。

『玖』 gcc是什麼

GCC是一個用於linux系統下編程的編譯器
是一個用於編程開發的自由編譯器。最初,GCC只是一個C語言編譯器,它是GNU C Compiler 的英文縮寫。隨著眾多自由開發者的加入和GCC自身的發展,如今的GCC已經是一個包含眾多語言的編譯器了。其中包括 C,C++,Ada,Object C和Java等。所以,GCC也由原來的GNU C Compiler變為GNU Compiler Collection。也就是 GNU編譯器家族的意思。當然,如今的GCC藉助於它的特性,具有了交叉編譯器的功能,即在一個平台下編譯另一個平台的代碼。

『拾』 gcc只能編譯不能寫代碼嗎

不是。如果你用VC寫的是標準的C++代碼就可以用GCC編譯,斗昌否則不行。GCC是好唯由空襪扒GNU開發的編程語言編譯器。

熱點內容
ftp命令批量下載文件 發布:2025-07-18 11:58:45 瀏覽:742
nba2k17文件夾 發布:2025-07-18 11:48:53 瀏覽:869
朔源碼是什麼 發布:2025-07-18 11:44:33 瀏覽:773
迷你世界解壓劇場 發布:2025-07-18 11:43:48 瀏覽:153
linux安裝opencv 發布:2025-07-18 11:42:10 瀏覽:445
編程游戲的軟體有哪些 發布:2025-07-18 11:41:34 瀏覽:956
c程序設計語言電子書 發布:2025-07-18 11:35:58 瀏覽:642
lightning耳機如何在安卓手機上用 發布:2025-07-18 11:21:47 瀏覽:174
妄想山海新宿怎麼配置好 發布:2025-07-18 11:07:43 瀏覽:615
androidsaxxml解析xml 發布:2025-07-18 10:57:58 瀏覽:386