相关疑难解决方法(0)

在每种语言中编译时,C和C++中有效的代码是否会产生不同的行为?

C和C++有许多不同之处,并非所有有效的C代码都是有效的C++代码.
("有效"是指具有已定义行为的标准代码,即不是特定于实现/未定义/等.)

在使用每种语言的标准编译器编译时,是否有任何一种在C和C++中都有效的代码会产生不同的行为?

为了使它成为一个合理/有用的比较(我试图学习一些实用的东西,而不是试图在问题中找到明显的漏洞),让我们假设:

  • 没有任何预处理器相关(这意味着没有hacks #ifdef __cplusplus,pragma等)
  • 任何实现定义在两种语言中都是相同的(例如数字限制等)
  • 我们正在比较每个标准的合理最新版本(例如,比如C++ 98和C90或更高版本)
    如果版本很重要,那么请提及每个版本的哪些版本产生不同的行为.

c c++

653
推荐指数
16
解决办法
4万
查看次数

C,C99,ANSI C和GNU C有什么区别?

我已经开始编写关于codechef的编程实践,并且对C和C99之间区别感到困惑.C在这里意味着什么?是C89吗?检查此提交底部的语言.它包含C和C99.

我在互联网上发现了一个名为GNU C的东西.对于linux/unix系统有不同的C吗?这些是否符合ANSI的C标准?我也在一些地方读过"C99严格".这是什么?

是否还有其他不同的C标准?有没有叫做C 4.3.2的东西,还是当前使用的gcc版本?

编辑:

这个,这个,这有帮助.我会搜索更多并编辑未回答的内容.

我不是一个编程新手.我知道C语言是什么.我知道ANSI有不同的C标准,如C89,C99和C11.

c gcc c99 c89 ansi-c

115
推荐指数
4
解决办法
7万
查看次数

C11的__STDC_VERSION__值是多少?

我知道编译器__STDC__用来表示编译器是标准C,从那里,您可以__STDC_VERSION__用来确定您正在使用的标准级别.

我也知道C90没有价值,C90修正案1 199401L和C99有199901L.

最新的C1x草案我简单地说明了它201ymmL,我认为它在最终标准中的价值不那么"模糊".

我的猜测是,201112L自那时起C11被批准,但我想确定.

我以为我可以尝试使用,gcc -std=c1xgcc我正在运行的版本还不支持.

有谁知道实际价值是多少?

c macros iso c11

30
推荐指数
1
解决办法
1万
查看次数


标签 统计

c ×4

c++ ×2

ansi-c ×1

c11 ×1

c89 ×1

c99 ×1

compiler-specific ×1

gcc ×1

iso ×1

macros ×1