开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
dev-C++
小弟有自学c语言&c++,目前两种语言都算能基本操作
小弟在这有个问题
书本上写c语言不支援物件导向和运算子多载,只有c++支援
那为什么我用c 写一些物件class的东西 以及 运算子operator的程式
能够正常执行呢?
作者:
kwpn (ITSST)
2015-05-06 20:38:00因为你用的编译器是c++?
可是我都是用c打,class也有物件功能耶...上面逗点请无视
作者:
BlazarArc (Midnight Sun)
2015-05-06 20:50:00你打class就不是c了啊...你的档案被当作c++在编译
作者:
suhorng ( )
2015-05-06 20:53:00把副档名从 .cpp/.cc 改成 .c 试试
那请问一下,我的程式内有printf/scanf,出来的档案是cpp.所以这样也是被当作c++编译吗?
作者:
zelkova (*〞︶〝*)
2015-05-06 21:30:00你在编译的时候 观察编译器纪录就会发现差别不同类型的编译器 gcc只能编c语言 g++可以编c语言跟c++
作者:
descent (“雄辩是银,沉默是金”)
2015-05-06 21:34:00你要先搞清楚你用的是 c 还是 c++ 编译器最好的方式就是自己下编译指令
作者:
suhorng ( )
2015-05-06 21:39:00gcc 也能编 .cpp 就是......好好 link 函式库就好有 printf,scanf 没有差别, .cpp 就是 C++
作者:
zelkova (*〞︶〝*)
2015-05-06 22:03:00那这样? 不另外链结任何函式库 gcc只能编c g++可编c跟c++
我记得默认用gcc是可以编C++,但是吃不到library
作者: yvb 2015-05-06 22:23:00
int main(){class X{public:int x;}x={0};return x.x;}附档名若为 .c, gcc 编不过... , 若为 .cc 就可以 :P也许可试着用 gcc -v ... 和 g++ -v ... 看看有些什么差别?
作者:
zelkova (*〞︶〝*)
2015-05-06 22:37:00作者:
suhorng ( )
2015-05-06 22:42:00这篇讲的就是 compiler 会看副档名不是内容, 我误会了吗?
作者:
zelkova (*〞︶〝*)
2015-05-06 22:48:00喔对讲反了 所以gcc编.cpp会自动判断不用link函式库?
作者:
suhorng ( )
2015-05-07 03:31:00我也不确定 不过猜测是本来就没 link C++, 是 g++ 才会主动去 link
gcc好像可以加参数来达到g++一样的目的,但有点麻烦
作者: yvb 2015-05-07 21:47:00
要 link libstdc++: gcc test.cpp -o test -lstdc++
作者:
zelkova (*〞︶〝*)
2015-05-07 21:58:00y大编 .cc 有link吗? 我以为你没link编成功连结那篇文章给我的意思也是这样(?
作者: yvb 2015-05-07 22:15:00
前面那个例子,只用c++语法class,完全没用到std,当然不用link.
作者:
zelkova (*〞︶〝*)
2015-05-07 23:32:00谢谢y大 用gcc编class成功我以为它会偷偷去叫g++来做 进而编成功 看起来不是这样不过要用c++函式库 还是要link