Welcome to TonyHo's Blog

Simple's More

《C++程序设计原理与实践》粗读--chapter0-2

 

先废话:请跳过.

缘起

最初的时候,是大二看到图书馆外文馆里面有一个本英文版的 Principles and Practice Using C++,可是那个英文影印版书好小的,前段时间看到图书馆自科管来了中文版的,于是干脆买了一本<<C++程序设计原理与实践>>.考完试了,开始看书.

 

大二的时候买过一本英文版的C ++primer,看了一个学期,始终认为那本书不适合当作初学者的入门书籍,细节过多,当作参考书还是不错的.或者说是自己不会使用那本书,因为自己不懂得如何去实践.后来因为写上位机,用到MFC,那之前看过孙鑫的那个视频,只是记得,我直接将MFC当作一个库一个Class来用,将C++当作C语言来用—就是像结构体一样的方式来理解:将数据封装到Class中这样子完成不同class的数据和操作分别独立,但是那些C++中的继承多态以及后面的STL都用的极少,虽然在那个学期开了课.当我单纯的将C plus plus中封装用结构体,以及自己对大一点的Project中代码和数据分类的且互不影响的理解,孙鑫的视频看了几遍,依然让我不是很明白MFC的机制,老师给我讲了一节课的消息机制可是我依然觉得MFC好似雾里云里,后来借了把脉VC++来看,然后还是觉得自己始终不是很理解,因为简单的窗口重绘我都有一定的问题.  可是这些不影响我写那个上位机, 我居然觉得MFC用起来”很简单”似的—因为我写那个上位机只花了很短的时间.

一切的一切都说明:显然我连C++的门都没有摸到,前段时间看到图书馆来了一本<<我的第一本C++书>>,瞄了几眼借回来了,觉得配合三本书看应该不错.

 

  还记得高焕堂的那本<<UML+OOPC嵌入式C语言开发精讲>>第二页即是自己用C来封装实现Class.可我还是没有去细看和分析.想着自己C语言都不怎么懂就去看C++是不对的,因为大二看到<<C专家编程>>里面最后一章的题目:你懂得C,C++不在话下.好霸气啊,可惜我只看到了题目,人家内容里面这句话是用问号结尾的.在匆匆忙忙中一不小心居然大四第一个学期结束了,终于有一点点时间来看看了.刚好,<<C专家编程>><<C与指针>> <<C陷阱与缺陷>>以及最初大一看的<<Cprimer plus>>都在求职的压力下,看了第二遍.在大三第二次看μCOSII源码的时候一下子豁然开朗了,从模块化到层次化,再到系统化,这一路走来感觉是应该的.然后自己写了简单的调度内核后显得更为清晰了,是时候学C++了,因为现在学C++我不会再总是心里想着:我C语言都没有想好就学C++. 虽然C语言和C++是不同的语言.

 

某学长对我说:在我看来,C++比C语言简单,当你一路走过去的时候就知道了. 这话显然不能让我不相信:C++的书大部分远比C语言的厚得多,那么今天就开始的学习C++,等学了一段时间后再看看他说的是不是真的.

 

 

废话结束.

 

 

Chapter0 & 1:

          不得不说,大师写书非常有人文关怀

 

Chapter 2: Hello World.

       1. 内容学习以及问题:

        ①我们开始的时候真的明白了编译和链接这些东西了吗?

        ②注意区分过编译错误,链接错误,运行错误吗?

            {

                ③回头想一下<<C专家编程>>里面的第六章,关于段的那章,一个程序link后得到Object文件是如何储存的? 这边说明的有<<C与指针>>的最后一章:运行是环境.

                ④再想一下,arm-linux-gcc编译链接后,再copy后得到.bin文件是如何安排的呢? 

                ⑤什么是运行地址什么是加载地址?它们分别是完成什么功能呢?哪些指令是完成与运行地址相关的定位呢?

                     对于后面两个问题参看:

                                  <<深入浅出嵌入式底层软件开发>> Page88  以及<<专家编程>>的相关章节.

              }

   

        2.编译运行环境搭配::

          ①不管windows或者是Linux,IDE均可选择Qt,codeblock或者codelite. 需要做的是将作者提供的std_lib_facilities.h这个文件放入编译器的inclulde文件夹中.eg:


     同样的用Visual Studio 也是一样的.我们也可以直接放在源代码的文件夹里面即可.


注意包含的方法即符号这里用的是<>而不是" ",可以用" "来替代这个.



posted on 2011-12-30 13:26  TonyHo  阅读(299)  评论(0编辑  收藏  举报

导航