e*********6 发帖数: 3453 | 1 int main(){
vector a(10, 5);
a[11] = 100;
}
这个程序,苹果自带编译器居然给不出正确的结果来。
应该是vector越界,runtime error,但是苹果的g++照样能用给出结果来。
真是给苹果跪了。 |
j******o 发帖数: 4219 | |
q***n 发帖数: 3594 | 3 “苹果的g++”
lol
【在 e*********6 的大作中提到】 : int main(){ : vector a(10, 5); : a[11] = 100; : } : 这个程序,苹果自带编译器居然给不出正确的结果来。 : 应该是vector越界,runtime error,但是苹果的g++照样能用给出结果来。 : 真是给苹果跪了。
|
e*********6 发帖数: 3453 | 4 苹果的g++是clang++,但是问题是g++通常都是只GNU的g++,如果苹果用g++这个名字,
不管后台怎么样,但是behavior应该和GNU的g++一样啊。
【在 q***n 的大作中提到】 : “苹果的g++” : lol
|
Q**g 发帖数: 183 | 5 Undefined behavior. 怎么搞都行。符合标准。有啥好惊呆的呢
【在 e*********6 的大作中提到】 : int main(){ : vector a(10, 5); : a[11] = 100; : } : 这个程序,苹果自带编译器居然给不出正确的结果来。 : 应该是vector越界,runtime error,但是苹果的g++照样能用给出结果来。 : 真是给苹果跪了。
|
d*********8 发帖数: 2192 | 6 苹果早就不用g++了 有自己的编译器
g++就是gnu的c++编译器
别再闹笑话了
【在 e*********6 的大作中提到】 : 苹果的g++是clang++,但是问题是g++通常都是只GNU的g++,如果苹果用g++这个名字, : 不管后台怎么样,但是behavior应该和GNU的g++一样啊。
|
e*********6 发帖数: 3453 | 7 mac terminal下的命令就是g++,哪怕后台调用的是clang,你打g++ xxcpp就是能编译
,很令人误解
【在 d*********8 的大作中提到】 : 苹果早就不用g++了 有自己的编译器 : g++就是gnu的c++编译器 : 别再闹笑话了
|
e*********6 发帖数: 3453 | 8 mac terminal下的命令就是g++,哪怕后台调用的是clang,你打g++ xxcpp就是能编译
,很令人误解
【在 d*********8 的大作中提到】 : 苹果早就不用g++了 有自己的编译器 : g++就是gnu的c++编译器 : 别再闹笑话了
|
d*********8 发帖数: 2192 | 9 以前是用的 现在也就是保留了一个soft link之类的向下兼容而已
你敲个 type g++
which g++
再ls一下就知道了
没准还留着cc c++这些link呢
想用g++ 装个macports之类的就可以了
【在 e*********6 的大作中提到】 : mac terminal下的命令就是g++,哪怕后台调用的是clang,你打g++ xxcpp就是能编译 : ,很令人误解
|
e*********6 发帖数: 3453 | 10 g++ --version就能看到,我不是惊呆了编译器本身,而是惊呆了苹果的特立独行
【在 d*********8 的大作中提到】 : 以前是用的 现在也就是保留了一个soft link之类的向下兼容而已 : 你敲个 type g++ : which g++ : 再ls一下就知道了 : 没准还留着cc c++这些link呢 : 想用g++ 装个macports之类的就可以了
|
|
|
d*********8 发帖数: 2192 | 11 你用过objc就很容易理解苹果为啥这样做了 呵呵
【在 e*********6 的大作中提到】 : g++ --version就能看到,我不是惊呆了编译器本身,而是惊呆了苹果的特立独行
|
e*********6 发帖数: 3453 | 12 int main(){
vector a(10, 5);
a[11] = 100;
}
这个程序,苹果自带编译器居然给不出正确的结果来。
应该是vector越界,runtime error,但是苹果的g++照样能用给出结果来。
真是给苹果跪了。
update 苹果这样做的确没有违反标准。好比标准是红灯行绿灯停,但是没规定红灯右
转怎么办。大家通行惯例,好比gnu,都是当做stop sign处理,唯独苹果是直接转 |
j******o 发帖数: 4219 | |
q***n 发帖数: 3594 | 14 “苹果的g++”
lol
【在 e*********6 的大作中提到】 : int main(){ : vector a(10, 5); : a[11] = 100; : } : 这个程序,苹果自带编译器居然给不出正确的结果来。 : 应该是vector越界,runtime error,但是苹果的g++照样能用给出结果来。 : 真是给苹果跪了。 : update 苹果这样做的确没有违反标准。好比标准是红灯行绿灯停,但是没规定红灯右 : 转怎么办。大家通行惯例,好比gnu,都是当做stop sign处理,唯独苹果是直接转
|
e*********6 发帖数: 3453 | 15 苹果的g++是clang++,但是问题是g++通常都是只GNU的g++,如果苹果用g++这个名字,
不管后台怎么样,但是behavior应该和GNU的g++一样啊。
【在 q***n 的大作中提到】 : “苹果的g++” : lol
|
Q**g 发帖数: 183 | 16 Undefined behavior. 怎么搞都行。符合标准。有啥好惊呆的呢
【在 e*********6 的大作中提到】 : int main(){ : vector a(10, 5); : a[11] = 100; : } : 这个程序,苹果自带编译器居然给不出正确的结果来。 : 应该是vector越界,runtime error,但是苹果的g++照样能用给出结果来。 : 真是给苹果跪了。 : update 苹果这样做的确没有违反标准。好比标准是红灯行绿灯停,但是没规定红灯右 : 转怎么办。大家通行惯例,好比gnu,都是当做stop sign处理,唯独苹果是直接转
|
d*********8 发帖数: 2192 | 17 苹果早就不用g++了 有自己的编译器
g++就是gnu的c++编译器
别再闹笑话了
【在 e*********6 的大作中提到】 : 苹果的g++是clang++,但是问题是g++通常都是只GNU的g++,如果苹果用g++这个名字, : 不管后台怎么样,但是behavior应该和GNU的g++一样啊。
|
e*********6 发帖数: 3453 | 18 mac terminal下的命令就是g++,哪怕后台调用的是clang,你打g++ xxcpp就是能编译
,很令人误解
【在 d*********8 的大作中提到】 : 苹果早就不用g++了 有自己的编译器 : g++就是gnu的c++编译器 : 别再闹笑话了
|
e*********6 发帖数: 3453 | 19 mac terminal下的命令就是g++,哪怕后台调用的是clang,你打g++ xxcpp就是能编译
,很令人误解
【在 d*********8 的大作中提到】 : 苹果早就不用g++了 有自己的编译器 : g++就是gnu的c++编译器 : 别再闹笑话了
|
d*********8 发帖数: 2192 | 20 以前是用的 现在也就是保留了一个soft link之类的向下兼容而已
你敲个 type g++
which g++
再ls一下就知道了
没准还留着cc c++这些link呢
想用g++ 装个macports之类的就可以了
【在 e*********6 的大作中提到】 : mac terminal下的命令就是g++,哪怕后台调用的是clang,你打g++ xxcpp就是能编译 : ,很令人误解
|
|
|
e*********6 发帖数: 3453 | 21 g++ --version就能看到,我不是惊呆了编译器本身,而是惊呆了苹果的特立独行
【在 d*********8 的大作中提到】 : 以前是用的 现在也就是保留了一个soft link之类的向下兼容而已 : 你敲个 type g++ : which g++ : 再ls一下就知道了 : 没准还留着cc c++这些link呢 : 想用g++ 装个macports之类的就可以了
|
d*********8 发帖数: 2192 | 22 你用过objc就很容易理解苹果为啥这样做了 呵呵
【在 e*********6 的大作中提到】 : g++ --version就能看到,我不是惊呆了编译器本身,而是惊呆了苹果的特立独行
|
i****k 发帖数: 668 | 23 首先这个程序是你自己瞎写的,编译都过不去的
其次gnu和apple的编译器都给出了正确结果,gnu也根本不知道越界了,不同之处只是
gnu在析构的时候crash了。
我看不出来这俩有啥不同呀
【在 e*********6 的大作中提到】 : int main(){ : vector a(10, 5); : a[11] = 100; : } : 这个程序,苹果自带编译器居然给不出正确的结果来。 : 应该是vector越界,runtime error,但是苹果的g++照样能用给出结果来。 : 真是给苹果跪了。 : update 苹果这样做的确没有违反标准。好比标准是红灯行绿灯停,但是没规定红灯右 : 转怎么办。大家通行惯例,好比gnu,都是当做stop sign处理,唯独苹果是直接转
|
j******g 发帖数: 1098 | 24 一个标准没定义的玩意,bsd为啥要跟GNU做的一样?
【在 e*********6 的大作中提到】 : 苹果的g++是clang++,但是问题是g++通常都是只GNU的g++,如果苹果用g++这个名字, : 不管后台怎么样,但是behavior应该和GNU的g++一样啊。
|