国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

OJ中G++和C++的區別

2020-01-26 13:38:30
字體:
來源:轉載
供稿:網友

首先更正一個概念,C++是一門計算機編程語言,G++不是語言,是一款編譯器中編譯C++程序的命令而已。

那么他們之間的區別是什么?

在提交題目中的語言選項里,G++和C++都代表編譯的方式。準確地說,選擇C++的話,意味著你將使用的是最標準的編譯方式,也就是ANSI C++編譯。如果你使用的是G++的話,意味著你將使用GNU項目中最平凡適用人群最多的編譯器(其實也就是我們熟悉的Code::Blocks的自帶的編譯器,Windows環境里一般是MinGW下的gcc,Linux中的gcc和前者基本是一個東西)進行編譯。類似的還有選擇C和GCC,前者是標準C編譯器編譯,后者同樣是用gcc來編譯。

oj 中G++和C++區別

1、輸出double類型時,如果采用G++提交,scanf采用%lf,prinf采用%f,否則會報錯

2、使用GCC/G++的提醒:
對于64位整數, long long int 和 __int64 都是支持并且等價的.但是在讀和寫的時候只支持scanf("%I64d", ...)和printf("%I64d", ...).不支持"%lld"是因為MinGW下的GCC和G++使用的msvcrt.dll動態鏈接庫并不支持C99標準. (杭電OJ G++支持"%lld")
 根據ISO C++標準,在G++下,main函數的返回值必須是int,否則將會導致Compile Error(編譯錯誤)的判答

3、G++/GCC使用scanf、printf時注意引用<stdio.h>,只引用<iostream>不識別 (杭電OJ G++不需要<stdio.h>)

補充:

__int64與long long 都是在32位平臺開始使用的64位整數的數據類型,在存儲方式和使用方式上沒有區別。
 兩者的區別在于,它們命名的發起人不同,支持的平臺不同。long long這個數據類型,是UNIX平臺發起并支持的,而__int64是微軟從win95(VC6)開始發起并支持的,在老的windows開發平臺下(如VC6),不識別long long,而老的UNIX,也不識別_int64。當然,現在比較新的平臺,兩種數據格式和相關的定義、函數都可以兼容了。

 同樣,作為64位整數的printf輸出格式定義,也是一樣,微軟使用的是%i64d,而UNIX使用的是%lld以及%llu(無符號64位)等形式。

 實際上,無論哪一種,在實際效果上沒有不同,只是因為定義者和使用環境造成的支持或不支持的問題。
 而ACM中,編譯識別系統偏向更多的支持微軟系統的定義,因此應該使用__int64和%i64d

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴彦淖尔市| 博客| 贵南县| 普兰店市| 安仁县| 莒南县| 东安县| 根河市| 石柱| 苍溪县| 财经| 通州市| 尼木县| 吉木萨尔县| 綦江县| 阿巴嘎旗| 祁门县| 双桥区| 惠来县| 竹山县| 白朗县| 梧州市| 墨江| 广水市| 平山县| 桂林市| 沙坪坝区| 根河市| 柳河县| 福鼎市| 梁平县| 安康市| 原平市| 和龙市| 安溪县| 庆安县| 崇信县| 商丘市| 多伦县| 合肥市| 永平县|