C 跨平台嗎?

2022-10-09 01:12:11 字數 484 閱讀 1392

理論上c#和.net 程式是跨平台的,c#作為一種程式語言,早在2023年就成為iso的標準之一。但是有很多實際問題。

1. 微軟官方並沒有提供除windows(包括windows mobile)以外的其他系統,如linux,蘋果,unix,等等的framework。而不像sun公司開發windows,linux以及手機版等多個版本jre(j**a run enviroment). 就是說c#和j**a語言理論上都是針對各自的虛擬機器開發的,而虛擬機器(微軟的虛擬機器叫.net framework, sun的虛擬機器叫jre)不是跨平台的,目前,除windows外,還沒有其他作業系統上有穩定版本的.net framework環境,提供給.net 程式來執行。linux上的mono專案只實現了.net framework 1.1的規範,遠遠落後於windows平台。

2. 許多dot net 開發者處於某種需要,如功能性和效率性,呼叫了windows作業系統的api函式,而這些函式的名稱不是跨平台的。

C 實現跨平台

要建立乙個c 跨平台的應用,亦難也易。難在什麼?所謂應用,自是實際應用,牽涉面很廣。一般來說,至少有如下幾個方面需要我們考慮 0.語言及基礎庫 1.作業系統相關的 2.網路 3.資料庫 4.介面 其它自然還有很多,如xml,加解密等等,這裡先討論前面列出的幾項。眾所周知,不同的作業系統即時是相同的函...

C預處理跨平台

include 不同的平台下引入不同的標頭檔案 if win32 識別windows平台 include elif linux 識別linux平台 include endif intmain 要開發乙個c語言程式,讓它暫停 5 秒以後再輸出內容,並且要求跨平台,在 windows 和 linux 下...

C 跨平台開發心得小結

linux程式設計與windows程式設計的差異之處 1.檔案與目錄的大小寫以及路徑分隔符的差別 windows下不區分大小寫,路徑分隔符一般使用 linux下區分大小寫,路徑分隔符使用 2.itoa 函式在linux下並不存在 所以使用類似sprintf 之類的函式是個不錯的替代。為什麼說是類似函...