linux下c++编程初探

出于工作的需要以及未来技术发展的趋势,我开始了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文件的书写
一条定义目标文件,一条定义执行文件(即命令行)
命令行 段首必须使用<Tab>,不能使用空格或其他,否则编译器无法识别 !!!!!!!!慎记
过程如下
      1)键入ls 查看当前目录文件



    2)执行命令$ make


    missing separator.终于理解了,遗漏分隔符即<Tab>键(困惑了我好久好久,书上只讲了怎么书写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 !

作者: Dangerous_1   发布时间: 2011-03-20

我也是装了vmware然后我用虚拟机装小红帽。。装完后里面全部都是空的。。为什么呢?求解下~

作者: z19955   发布时间: 2011-03-20