當前位置:首頁 » 操作系統 » cwindowslinux

cwindowslinux

發布時間: 2024-10-21 03:05:53

A. linux下的c語言編程和windows下的c語言編程有什麼區別

語言本身差別不大。主要主要是和系統交互的時候不同。一個是Linux的POSIX介面,一個是Windows的
Win32
API。
Linux下的介面因為源自UNIX,有很多API明顯是C庫的風格,風格比較老舊。但是Win32
API風格更現代、更高級一些。比如Linux下fork/exec、Windows下
CreateProcess
。而且Windows的API提供很多
圖形界面
的相關功能,比如支持窗口間操作。Linux下需要單獨的
GUI庫
比如GTK+等等。

B. Linux下的C編程和Windows下有什麼區別越詳細越好,謝謝......

Linux 簡單的說跟 Windows 一樣是一種操作系統,只是兩者之間的使用方法和習慣有所區別。具體的區別其實很大,不過已經不是能在這里說清楚的事情了。
對於 C 編程來說,他們最大的區別就是提供給你的系統相關的特性不一樣。這個導致了所謂的移植性問題以及平台特性的問題。形象點的比喻是你可以認為 Linux 和 Windows 都是人。他們都懂一部分英語,但是一個的母語是漢語,一個是德語。你用的英語如果他們剛好都懂,那他們就能很好的幫你做事。如果你說的英語他們不懂,那就只能用他們的母語給他們說。這樣的結果就是你用德語說的 Linux 聽不懂;你用漢語說的 Windows 又聽不懂。所以,如果是簡單的編程,那他們沒有多大區別。如果是復雜的...你就准備翻譯一方的母語成另一方的母語吧。

C. linux c++與windows c++有什麼區別

函數庫的區別linux下的C函數庫和windows下的函數庫系統調用的機制不一樣Glibc包含了主要的C庫。這個庫提供了基本常式,用於分配內存、搜索目錄、打開關閉文件、讀寫文件、字串處理、模式匹配、數學計算等等。所說的機制不一樣不單是指中斷號的問題,中斷號也是通過input參數和output把函數地址和輸出地址定位在寄存器的,那些函數在windows和linux下的實現應該是不一樣的,就拿文件系統來說,ext3和fat32的怎麼可能一樣.還有mm內存管理,都是不一樣的.中斷還是屬於硬體層的,X86上的應該都差不多,但操作系統層的實現就大不相同了。
其他區別:
1、系統平台不一樣
底層開發就涉及到了系統內核的問題,對於linux來說,可以知道裡面是什麼結構,而windows則不然。
2、編譯器環境不一樣
linux採用gcc編譯器,gdb調試工具,和多種可視化的編輯器如 emacs,kedit等等,也有文本的vi/vim,GDB的功能是非常強大的,gcc對標準的支持是相當的好。
3、針對人群不一樣
win下主要還是面向商業化的開發,而絕大多數的編程愛好者則喜歡屬於自己開闊自由的系統下編程,不願意禁錮在windows下(MS)的包圍中
4、發展方向不一樣。
OpenSource的思想已經在linux這片凈土開花找資料方便,源代碼公開,可以體驗開發的樂趣win下,ms逐步把一批開發人員束縛在它自己的系統裡面。
5、版權問題
win下的好多東西都涉及到版權問題,linux的free軟體雖然是開放軟體,不過好多都是免費用於商業化的。

D. 關於C語言在LINUX和WINDOWS下的區別。

如果沒有涉及系統獨有的庫函數或者編程方法(即只用符合ANSI C標準的代碼和方法)就沒有區別

如果涉及到系統編程,二者有所區別,主要是庫函數有所不同,而且文件系統不同、對某些函數的執行方式不同。

\n 為ASCII的0x0a 換行
\r 為ASCII的0x0d 回車
在windows 系統中,當你輸入回車時會自動變成\r\n
在linux下的回車鍵只代表\n
而在windows下的回車鍵表示\r\n
\n為進入下一行,\r為列印頭回到行首上
linux/unix下只用\n,它就表示回車+換行
而windows下,\r只回車不換行的,\n是換行,但在有些編輯中,單獨的\n是不會換行的(如notepad)
一般在程序中,寫\n就可以了,它在linux或windows中都能實現回車+換行的功能(只是在文本文件中,linux只會有0x0a,windows會自動換為0x0d 0x0a)
下面舉個例子: www.2cto.com
#include<stdio.h>
int main()
{
char a[10]="abc\r";
printf(a);
return 0;
}
程序運行時沒有任何輸出。
原因就是 \r 回車 表示列印頭回到該行起始位置,從而覆蓋了abc,所以控制台上就沒有任何輸出啦!

E. Windows、Linux、UNIX、Dos操作系統分別是用什麼語言編寫的

Windows、Linux、UNIX、Dos操作系統的核心代碼大部分是使用C和C++編寫,底層介面用匯編編寫.

以windows為例,根據幾年前微軟在美國公布的內容,WINDOWS本身屬於微內核系統,WINDOWS98總共大概不到10萬行代碼,而WINDOWS2000則已經有20餘萬行代碼,其中80%是用C++編寫,其餘部分有C和匯編,底層介面用匯編編寫。

微內核系統從概念上是指「只包括操作系統的基本功能,例如內存管理和進程管理等等」,就連對各個文件系統的支持也不算在內.
所以一個微內核系統的操作系統能夠有20萬行代碼已經很多了。
之所以微軟選擇了C++而不想LINUX一樣選擇C,其根本原因就是WINDOWS操作系統本身是微內核系統,所以擴展性及以後的維護要求非常重要,所以C++的類的概念就能在這里很好的利用,但是畢竟C++的效率不如標准C及匯編,所以在一些明顯以效率為重的地方用的還是標准C及匯編。

編寫完畢後,WINDOWS上的其他用戶態程序(包括所有驅動程序、計算器、游戲等等所有你現在拿滑鼠能夠操作的東西)另行開發,例如:掃雷游戲就是用VB寫的。

F. 到底是選擇linux開發還是windows開發他們到底有什麼區別

可是linux的C開發有什麼不同呢?
回答:Windows上的C開發是什麼呢? 如果你只是在潭浩強書的水平的話,Windows上的開發跟Linux上的C開發沒有什麼不同,因為都是基本的簡單的語言的學習.C語言的學習到什麼平台都一樣.
那麼Windows中的C開發和Linux中C開發有什麼不同.不同是有的.比如.Windows下開發用Windows的庫,Linux下用Linux下的庫.雖然庫不同,但是通一懂百,所以不管是選擇在Windows下C開發.還是Linux下開發.都是學習進步,以後再根據需要學習下對方就可以了.

另外一個不同的地方.Windows上的C開發主要藉助 VS或者VC平台.但是Linux下就有更多的選擇了.當然了很多的人認為Linux那麼多的選擇也不如Windows上的VS強大.
但是也有人認為Linux上的開發很美妙.比如你所說的.

linux開發,一旦畢業,會有公司要麼?
答: 國內在Linux下開發的人還不夠,因為嵌入式的發展很快.不過話說回來,只要你學好了,到時候,你自己的眼界開了.不要說公司要你,也許你自己就開公司了...但是如果你學得不好,就算Windows大行天小,你一樣沒有公司要.

國內的Linux公司這么少,是不是linux程序員只能在Linux下開發,沒有能力在windows下開發?
回答:什麼叫Linux公司? ,國內對於Linux系統相關方面應用是很多的.這是你的了解錯誤..
Linux沒有公司,Linux是一個生態環境.
沒有能力在windows下開發? 這個問題,其實很好回答,你會用Nokia的手機,轉去用三星的手機就不會用了嗎?確實但是比從沒有用過手機的呢?
上面的例子也許不是很恰當,但是說明了一個問題.知識是很具有普遍適當性的.但是只是一些思想.
如果想深入當然還得另花時間.

總結: 山都很高,上到了山頂都可以 一覽眾山小.
PS: 嘗試在Linux下學習編程,會比在單純在Windows下學習編程獲得更多..

G. linux下的c編程和windows下的c編程

C標准都是一樣的,但是不同的操作系統下有不同的系統API調用,也有不同的編譯器!如果只是做簡單的練習,不需要調用系統函數的話,是完全一樣的,但是在WINDOWS下編譯生成的可執行文件在LINUX下是運行不起來的,要在LINUX下運行必須用LINUX下的編譯器,比如GCC,這種編譯器可以找到WINDOWS版本的,但是編譯出來的就在WINDOWS下運行不了!簡單說就是不同操作系統下的可執行文件是不能通用的,因為不同的操作系統有不同的進程結構.

熱點內容
centospython版本 發布:2024-10-21 06:02:34 瀏覽:948
蘋果8手機鎖屏密碼忘了怎麼辦 發布:2024-10-21 06:00:07 瀏覽:589
java冪運算 發布:2024-10-21 05:58:45 瀏覽:5
win7鏡像解壓 發布:2024-10-21 05:57:24 瀏覽:570
c語言中c是什麼意思 發布:2024-10-21 05:57:18 瀏覽:887
農科智庫編譯德國生物技術 發布:2024-10-21 05:55:51 瀏覽:801
如何找回dns伺服器 發布:2024-10-21 05:48:36 瀏覽:366
倒計時腳本 發布:2024-10-21 05:42:13 瀏覽:246
編譯原理廣工試卷 發布:2024-10-21 05:41:07 瀏覽:759
數控編程要點 發布:2024-10-21 05:08:48 瀏覽:292