c語言不同編譯器兼容性問題
⑴ c語言編譯器win10除了vs系列,好麻煩啊,vc6.0win10不兼容,煩的一比
vc6
windows10可以兼容的啊,你網上下個綠色版的,然後在設置兼容性。
⑵ C語言與C++語言能夠共用嗎
可以共用的。具體取決於使用的編譯器。
使用C編譯器:C編譯器是不支持編譯C++代碼的。因為C++有很多C語言標准沒有定義的擴展。所以同時存在純C和C++代碼的話是不能通過C編譯器的編譯的。
使用C++編譯器C++是C語言的擴展延伸,C++設計之初就考慮了完全兼容C語言的。所以純C或是混合C/C++項目都是可以被C++編譯器所支持的。
總的來說,只要使用C++編譯器就不用擔心C/C++混編的問題。

(2)c語言不同編譯器兼容性問題擴展閱讀:
C語言可按照模塊的方式對程序進行編寫,十分有利於程序的調試,且c語言的處理和表現能力都非常的強大,依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建,通過指針類型更可對內存直接定址以及對硬體進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟體。
C++是C語言的繼承,它既可以進行C語言的過程化程序設計,又可以進行以抽象數據類型為特點的基於對象的程序設計,還可以進行以繼承和多態為特點的面向對象的程序設計。
網路-c語言
網路- C++
⑶ gcc與diab編譯器的兼容性問題
不好意思剛看到,不同編譯器編譯的結果不能鏈接到一起,理由主要有以下兩方面:一是不同編譯器可能對變數名做不同處理,主要針對c++,好像沒有什麼編譯器對c語言的變數名改變,舉個例子,假設c++中的變數test_var,用兩種不同編譯器編譯完該結果可能是Diab_test_var和GCC_test_var成為不同的變數,那麼對於連接器來說就是不同的變數怎麼會鏈接到一起是吧。c好像不存在文件名問題,但是c會遇到第二個方面。第二個方面就是不同的編譯器會提供一些內部函數比如*(乘以)這個操作在編譯器里有定義,有具體的代碼來實現,如果編譯器不同實現的函數名不同,不會鏈接到一起。當然還有更復雜的原因,可能我也不太了解。這些是我的理解,可能不全,但是可以肯定的是,不同編譯器編譯的二進制文件不能鏈接到一起使用。
至於你說的BSP是風河提供的會不會不兼容的問題,是這樣的。通常對於BSP中的c語言部分,無所謂兼不兼容,因為c語言要是ANSI標準的話所有的編譯器都會支持。BSP中的匯編部分跟編譯器相關,但也是格式上的問題。一般vxworks提供gcc版的bsp(提供不提供其他編譯器的BSP我不清楚,因為我們用的是gcc),所以應該是兼容的。假如真的不提供,可以按照gcc匯編語法,把BSP中的函數和變數以及偽指令部分更改成符合GCC語法即可,整體的匯編不需要更改,這部分工作很小的應該不難。
我知道的就這些,希望能幫到你。
⑷ C語言兼容編程的問題
伺服器程序跟桌面的應用程序沒什麼太大的區別,伺服器程序運行需要一些服務支持,例如TCP等服務,需要裝Tomcat,或者其他伺服器軟體,然後部署到伺服器。
jpg其實有很多圖像庫支持了,如果你想自己寫可以找得到jpg的格式,wav exe文件我讀取過,也就是普通的一些文件結構而已,獨到結構體就行了。
跨平台編譯,通常需要在不同平台下編譯程序如linux中的GCC MS中的VC,如果是用C的標准庫的話,直接到linux下編譯就行了不需要修改,通常MS的VC比較嚴格,直接到linux是可以的。反過來可能需要改些東西(聲明變數VC一定要放在最前)。需要,64位的編譯器好像是可以編譯成32位的。不行的話可以裝32位的編譯器。
訪問剪貼板在Windows要用Win API,就是好像是Clipboard相關的。
輸入框,按鈕是一些GUI控制項,也是一種窗口。可以用CreateWindow函數創建。CreateWindow就是一個API函數。
能運行在多平台的代碼,肯定不是二進制的,肯定是偽代碼,或者中間代碼。.net java能跨平台運行都是運行在虛擬機中的。
⑸ C語言的編譯器為什麼有許多不同的版本並且在不同的編譯器版本下C語言的語法規則也不盡相同
新的版本都是基於舊的版本升級過來的,以此來改善編譯器的性能、增加對新平台的支持以及提高競爭能力。
不同的編譯器支持的標准語法是一致的(不然沒資格稱C編譯器),但是每個編譯器自身可以添加額外的語法、庫來擴展語言的表達能力,這就是所謂的xx編譯器擴展。使用語言擴展通常能獲得較高的性能和靈活性,但是損失了跨平台性。
不僅僅是編譯器有很多版本,語言本身都有很多版本,目前C語言的版本是C11,下一個版本為C1y。
⑹ 同一台電腦可以同時安裝上兩個C語言編譯器嗎比如vc++6.0與VS
大多數都可以
但你說的這個 除非是有一個是非標準的綠色版
否則很容易出問題
因為嚴格來說 vs是vc的升級
而windows很多軟體都依賴於他們
同時裝兩個 可能會出現兼容問題
但其他的 比如mingw devc tc oc等等 都是可以兼容的。
⑺ 不同的c語言編譯系統差別在哪裡代碼是否 存在兼容性的問題
ANSI
C
一般都可以支持,但也涉及到不同版本的C標準的兼容性問題,比如VC6不支持C99,VS2003,2005,2008,20120等就可以部分支持C99標准;而且很多標准並沒有規定實現,不同的編譯器實現可能不同,比如C標准只規定了short<=int<=long,但並沒有規定位元組數,導致不同的編譯器數據類型的大小各不相同。
非
ANSI
C標準的話,不同的編譯器一般都有不同的實現,需要分別實現。
在移植到不同編譯器的時候這些都要注意處理,比較常規的做法是數據類型和函數等自己根據不同編譯器封裝成一個統一的格式,在程序中使用封裝後的數據類型或函數,而不要使用原生類型,這樣在移植時只需要在封裝的地方根據編譯器的不同進行修改就可以了,不需要再修改源代碼。
⑻ C語言代碼在不同編譯器下運行結果不同,請問原因
可以把fflush(stdin); 刪掉,有時候把這個刪掉就行了。scanf("%c", &ch);換成ch=getchar();應該就行了。
至於兩個編譯器不一樣的情況,這是肯定會有的,畢竟是兩個不同的編譯器。
⑼ .C語言與PASCAL等其他高級語言的編譯器是兼容的,都可完成源程序的編譯功能. 是對嗎
都可以完成編譯 不過只能編譯自己本身的語言
C編譯器只能編譯C
pascal只能編譯pascal
互相並不兼容。
⑽ 用window7進行c語言編程會不會應為兼容問題而出錯
不會,出現兼容性提示時,全部選擇不再提示,然後繼續運行即可
