红联Linux门户
Linux帮助

linux下c++编程初探

发布时间:2011-03-20 17:02:01来源:红联作者:Dangerous_1
出于工作的需要以及未来技术发展的趋势,我开始了linux下c++编程之旅!
(一)linux菜鸟起飞
偶然间从同学那里了解到VMware虚拟机下可以安装操作系统,实现一个主机,多个虚拟机共存的方式并且不会损坏硬盘数据。于是,兴奋的拷贝来在电脑上安装好linux操作系统。整个过程并非一帆风顺,由于本人的老爷机光驱有问题,只能将软盘的数据转化为iso镜像文件,才能够在虚拟机中成功安装。
a.系统的切换
linux区别于windows,就是其能够在命令行模式下工作。而windows是基于GUI界面的用户操作。比如说,你从A地到达B地,通过汽车这个交通工具有两种方式可以到达。一是,通过司机驾车,你充当乘客,不考虑如何驾驶汽车只需说明目的地即可,而windows就好比是载车的司机,只负责将你送到目的,而不会让你驾驶汽车。二是,司机将车钥匙给你,你自己驾车前往目的地,你必须学会如何驾驶汽车才行,而linux就是这个平台,你必须通过各种命令完成你想要的操作已达到某种实现。
进入linux操作系统是一个友好的gui图形界面,先按住 Alt+Ctrl+空格,然后松开空格键,再按F2就切换到文本行界面,在当前界面使用Alt+F7又可以切换到GUI 图形界面。(书本上找不到这个操作,摸索了很久,在一个论坛中的帖子看到,激动ing\(???)/)
b.基本命令的熟悉
在文本行界面,全都通过命令实现,经过两天学习,大致能够实现基本的操作(还有待熟悉)。。。。。
(二)初探C++编程(涅?丛生)
经历过windows中GUI良好的界面之后,在linux命令行下进行C++程序的编写,编译,连接,执行刚开始举步维艰啊(~~~~(>_<)~~~~ )
a.使用vi编辑器编写源代码
b.用linux系统自带的GNU编译器,调试程序
c.用Makemile文件工具实现源代码的自动编译,连接
遇到的问题及解决方案:
1.makefile文件的书写
一条定义目标文件,一条定义执行文件(即命令行)
命令行 段首必须使用,不能使用空格或其他,否则编译器无法识别 !!!!!!!!慎记
过程如下
1)键入ls 查看当前目录文件



2)执行命令$ make


missing separator.终于理解了,遗漏分隔符即键(困惑了我好久好久,书上只讲了怎么书写makefile的格式,完全没涉及实战操作的注意事项,幸得网页论坛高手前辈的遗迹,才解决,激动不已(*^__^*) 嘻嘻……
命令行下$ vi makefile进行修改,再次执行make,得到结果如下


可以看到makefile文件书写正确,只是源代码中出现错误:
undefined reference to ‘ Hello::sayHello()' 没有定义参数,经过一番挣扎发现hello.cpp中定义sayHello()函数时没有限定作用域(哎,悲剧啊,以后要小心语法的错误)返回继续修改够再次执行make得到如下结果

O(∩_∩)O哈哈~终于编译连接成功,键入ls命令查看

可以看到,经过编译连接生成了hello可执行文件(在linux下执行文件后缀名省略(好像为*.out),在windows下为@.exe,这是二者的不同。

下面运行一下。键入命令: $ ./hello



整个过程,终于实现。基本上掌握了在linux下编译,连接程序的方法。希再接再厉!!!!

后记:书写是一种思考的习惯,对学习和工作都异常重要,希望把每天所学,所思能够以学习日记的方式展现出来。Nothing can take the place of persistenc !
文章评论

共有 143 条评论

  1. shuihun 于 2012-04-08 19:50:39发表:

    赶紧不错。。。

  2. _Anonymous 于 2012-04-08 16:47:18发表:

    在Linux下用C还是有点过渡 的

  3. youxiaersrt 于 2012-03-12 09:17:39发表:

    支持

  4. zyzhang12 于 2012-03-07 03:11:25发表:

    刚装ubuntu 不久

  5. kjl9f4bg50 于 2012-03-02 00:05:17发表:

    启动游戏之前,

  6. chly64 于 2011-11-23 21:24:00发表:

    谢谢楼主

  7. chly64 于 2011-11-23 21:23:58发表:

    谢谢楼主

  8. chly64 于 2011-11-23 21:23:56发表:

    谢谢楼主

  9. wei556675 于 2011-11-23 20:16:33发表:

    嘻嘻。。。不幸装上了 的。。。。

  10. mpc2010 于 2011-11-23 16:25:12发表:

    初学中~~

  11. crossbitter 于 2011-09-23 18:59:17发表:

    新手

  12. 小鹿乱撞 于 2011-09-23 17:33:52发表:

    ):o:s我也是菜鸟……

  13. 狂乱星辰 于 2011-09-22 19:58:43发表:

    引用:
    Alt+Ctrl+空格,然后松开空格键,再按F2就切换到文本行界面,在当前界面使用Alt+F7又可以切换到GUI 图形界面


    闻所未闻啊

  14. xueyuan0709 于 2011-09-19 15:54:46发表:

    开始学习。

  15. 辛昕 于 2011-08-17 21:46:26发表:

    我跟LZ经历非常相似
    也是VMware虚拟机下,不过我还是ARM的硬件体系

  16. cumt续 于 2011-08-17 16:23:44发表:

    好东西齐分享

  17. list_sK 于 2011-08-07 11:22:58发表:

    感谢楼主

  18. jackman 于 2011-08-07 10:43:25发表:

    支持楼主,大家共同进步。share your knowledge with the world!

  19. hawkerxh 于 2011-08-06 23:56:55发表:

    为下载捞分,顶楼主。

  20. wq413732076 于 2011-08-05 18:54:11发表:

    感谢楼主分享 我要学linux

  21. wzzfeitian 于 2011-08-05 08:32:17发表:

    学习了,虽然用了Linux不短时间,但还没在上面写过程序

  22. wq413732076 于 2011-08-04 21:13:04发表:

    感谢楼主分享!我要学linux

  23. wq413732076 于 2011-08-02 20:55:00发表:

    谢谢楼主分享经验

  24. erlengzhi2 于 2011-08-02 06:31:53发表:

    感谢LZ分享经理

  25. zndx2006 于 2011-08-01 20:50:37发表:

    好难啊,有点想退了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  26. arrow18 于 2011-07-19 23:41:20发表:

    弱弱的问一句,要写好shell脚本c语言得好到什么程度?

  27. gupanzhong 于 2011-07-19 20:51:55发表:

    学习学习。

  28. enly 于 2011-07-19 14:07:15发表:

    谢谢楼主分享经验,学习了

  29. hloves1988 于 2011-07-11 11:04:00发表:

    ding

  30. wei9011205132 于 2011-07-07 14:31:19发表:

    顶起

  31. flyfeng1 于 2011-07-06 22:30:45发表:

    支持楼主

  32. dakongyi 于 2011-07-06 22:08:33发表:

    学习学习了!!!!!!!!!!!!

  33. lixupeng 于 2011-07-02 08:27:27发表:

    学习试试!!!

  34. Girls 于 2011-06-30 18:22:40发表:

    学习学习

  35. kobetubage1987 于 2011-06-30 13:32:49发表:

    顶,支持……

  36. 200881438 于 2011-06-25 23:56:26发表:

    不错,我现在正在学习呢

  37. cainiao1 于 2011-06-21 19:39:03发表:

    新手!学习

  38. 397778823 于 2011-06-20 21:16:32发表:

    路过

  39. wbw 于 2011-06-20 20:57:56发表:

    好深奥啊{:3_111:}
    好深奥啊{:3_111:}

  40. 王志业 于 2011-06-20 16:19:32发表:

    1# Dangerous_1

    linux自带的就有C++开发软件吗?