OJ中G++和C++的區(qū)別
首先更正一個(gè)概念,C++是一門計(jì)算機(jī)編程語言,G++不是語言,是一款編譯器中編譯C++程序的命令而已。
那么他們之間的區(qū)別是什么?
在提交題目中的語言選項(xiàng)里,G++和C++都代表編譯的方式。準(zhǔn)確地說,選擇C++的話,意味著你將使用的是最標(biāo)準(zhǔn)的編譯方式,也就是ANSI C++編譯。如果你使用的是G++的話,意味著你將使用GNU項(xiàng)目中最平凡適用人群最多的編譯器(其實(shí)也就是我們熟悉的Code::Blocks的自帶的編譯器,Windows環(huán)境里一般是MinGW下的gcc,Linux中的gcc和前者基本是一個(gè)東西)進(jìn)行編譯。類似的還有選擇C和GCC,前者是標(biāo)準(zhǔn)C編譯器編譯,后者同樣是用gcc來編譯。
oj 中G++和C++區(qū)別
1、輸出double類型時(shí),如果采用G++提交,scanf采用%lf,prinf采用%f,否則會報(bào)錯(cuò)
2、使用GCC/G++的提醒:
對于64位整數(shù), long long int 和 __int64 都是支持并且等價(jià)的.但是在讀和寫的時(shí)候只支持scanf("%I64d", ...)和printf("%I64d", ...).不支持"%lld"是因?yàn)镸inGW下的GCC和G++使用的msvcrt.dll動態(tài)鏈接庫并不支持C99標(biāo)準(zhǔn). (杭電OJ G++支持"%lld")
根據(jù)ISO C++標(biāo)準(zhǔn),在G++下,main函數(shù)的返回值必須是int,否則將會導(dǎo)致Compile Error(編譯錯(cuò)誤)的判答
3、G++/GCC使用scanf、printf時(shí)注意引用<stdio.h>,只引用<iostream>不識別 (杭電OJ G++不需要<stdio.h>)
補(bǔ)充:
__int64與long long 都是在32位平臺開始使用的64位整數(shù)的數(shù)據(jù)類型,在存儲方式和使用方式上沒有區(qū)別。
兩者的區(qū)別在于,它們命名的發(fā)起人不同,支持的平臺不同。long long這個(gè)數(shù)據(jù)類型,是UNIX平臺發(fā)起并支持的,而__int64是微軟從win95(VC6)開始發(fā)起并支持的,在老的windows開發(fā)平臺下(如VC6),不識別long long,而老的UNIX,也不識別_int64。當(dāng)然,現(xiàn)在比較新的平臺,兩種數(shù)據(jù)格式和相關(guān)的定義、函數(shù)都可以兼容了。
同樣,作為64位整數(shù)的printf輸出格式定義,也是一樣,微軟使用的是%i64d,而UNIX使用的是%lld以及%llu(無符號64位)等形式。
實(shí)際上,無論哪一種,在實(shí)際效果上沒有不同,只是因?yàn)槎x者和使用環(huán)境造成的支持或不支持的問題。
而ACM中,編譯識別系統(tǒng)偏向更多的支持微軟系統(tǒng)的定義,因此應(yīng)該使用__int64和%i64d
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
Qt中利用QTextBrowser控件設(shè)計(jì)日志窗口
本文主要介紹了Qt中利用QTextBrowser控件設(shè)計(jì)日志窗口,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06c/c++?Error:?redefinition?of?'xxx'的問題及解決方法
兩個(gè)類/文件同時(shí)引用定義ReplyInfo的頭文件,會造成頭文件中定義重復(fù)定義,本文給大家分享c/c++?Error:?redefinition?of?‘xxx’?的問題及解決方法,感興趣的朋友一起看看吧2023-08-08一文掌握C++ const與constexpr及區(qū)別
C++ 11標(biāo)準(zhǔn)中,const 用于為修飾的變量添加“只讀”屬性而 constexpr關(guān)鍵字則用于指明其后是一個(gè)常量,編譯器在編譯程序時(shí)可以順帶將其結(jié)果計(jì)算出來,而無需等到程序運(yùn)行階段,這樣的優(yōu)化極大地提高了程序的執(zhí)行效率,本文重點(diǎn)介紹C++ const與constexpr區(qū)別介紹,一起看看吧2024-02-02解析C++編程中的選擇結(jié)構(gòu)和switch語句的用法
這篇文章主要介紹了解析C++編程中的選擇結(jié)構(gòu)和switch語句的用法,是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-09-09C語言小項(xiàng)目計(jì)時(shí)器的實(shí)現(xiàn)思路(倒計(jì)時(shí)+報(bào)警提示)
這篇文章主要介紹了C語言小項(xiàng)目計(jì)時(shí)器(倒計(jì)時(shí)+報(bào)警提示)的實(shí)現(xiàn)思路,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11使用VS2022開發(fā)在線遠(yuǎn)程編譯部署的C++程序(圖文詳解)
這篇文章主要介紹了使用VS2022開發(fā)可以在線遠(yuǎn)程編譯部署的C++程序,本文分步驟通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12