嵌入式开发之C++基础学习笔记1--综合比较HelloWorld示例

选择C++的理由:

1)C++语言是由C语言扩充而来。它是一门混合型的语言,既支持传统的结构化程序设计,又支持面向对象的程序设计,这使得C++很是流行。它在编程中支持面向对象。所以,它比C更适合人们的思考方式,而且比C要安全、可靠、有效。可是它并不像Java那样全面实现类的使用,这使得它很灵活,可以适应多种场合的须要。

2)C++是编译语言,性能良好,效率更高。它不像Java、PHP、ASP等语言,须要在运行时转换为机器码,或者读一条语句执行一条。它直接被编译为机器可识别的机器码。

3)C++编写的程序独立性好。只要C++编译时产生的机器码不依赖外部的动态连接库,C++就能够在不须要安装额外程序的状况下,移动到运行一样操做系统的其余机器和微处理器上。而移动Java程序时须要先安装Java运行期库。这是C++语言成功流行的一个重要缘由。

4)C++语言应用极为普遍。尤为在底层编程和系统级编程上更是C++的传统优点应用。在数据库和多媒体方面,C++又以其卓越的稳定性而赢得了荣誉。


与C编写代码不一样,C++关于HelloWorld这么一个简单程序有不少变化

第一个例子:

jellonwu @jintao :~/Desktop$ vim test1.cpp
#include <iostream>
using namespace std;
int main()
{
        cout<<"Hello world!"<<endl;
}


jellonwu @jintao :~/Desktop$ g++ test1.cpp -o test1
jellonwu @jintao :~/Desktop$ ./test1
Hello world!

第二个例子:

jellonwu @jintao :~/Desktop$ vim test2.cpp
/*第一部分*/
//这是一个演示程序,它从命令行读入一个整数,而后加 1 再输出
/*第二部分*/
#include <iostream>
using namespace std;
/*第三部分*/
int main()
{
int x;
cout<<"输入整数:";
cin>>x;
x=x+1;
cout<<"x=x+1="<<x<<endl;
return 0;
}
jellonwu @jintao :~/Desktop$ g++ test2.cpp -o test2
jellonwu @jintao :~/Desktop$ ./test2
输入整数:12
x=x+1=13


C++程序通常包含三部分:
1)第一部分:注释部分
2)第二部分:预处理部分
既在编译前要处理的工做。这里是以#include 说明的头文件包
含代码#include <iostream>,它指示编译器在预处理时,将文件 iostream 中的代码嵌入到
该代码指示的地方。其中#include 是编译指令。头文件 iostream 中声明了程序须要的输入
输出操做的信息。
3)第三部分:主要部分

例子三:

#include <iostream>
using namespace std;
int main()
{
cout<<"Hello world!HAHA"<<endl;
int x;
int y;
int z;
cout << "输入第 1 个数:";
cin >> x;
cout << "输入第 2 个数:";
cin >> y;
cout << "输入第 3 个数:";
cin >> z;
cout << z << endl;
cout << y << endl;
cout << x << endl;
return 0;
}

总结

C++与C的HelloWorld程序的几点不一样: linux

1)stdio.h 是 C 语言的输入输出支持头文件,iostream.h是C++的输入输出头文件。
2)printf 语句是 C 语言中的输出语句,C++中的输出语句则使用 cout 流
关于控制端输入,C语言中是scanf(),C++中是cin>>
3)关于main函数,C语言中main()函数可为void或者int类型
在C++中g++编译器要求main必须为int类型,由于 ISO C++ 不容许声明无类型的‘main’
有些编译器并不要求 main 函数必定返回值,例如 Visual C++
4)关于头文件导入
C导入:#include <stdio.h>
C++导入:#include <iostream>
         using namespace std;
注意C++导入的这两条必须同时存在,不然系统会提示 cin 和 cout 找不到。
5)关于文件名,C源文件名.c,C++源文件名.cpp
5)关于编译器,C语言经常使用gcc,而C++语言经常使用g++,这些命令都在linux自带,与gcc用法基本同样 【g++ 源文件 -o 执行文件】

关于gcc和g++

gcc and g++分别是GNU的c & c++编译器
gcc/g++在执行编译工做的时候,总共须要4步
  ⒈预处理,生成.i的文件[预处理器cpp]
  ⒉将预处理后的文件转换成汇编语言,生成文件.s[编译器egcs]
  ⒊由汇编变为目标代码(机器代码)生成.o的文件[汇编器as]
  ⒋链接目标代码,生成可执行程序[连接器ld]


C++中的常见保留字

_asm abstract bool break case catch while char class const continue default delete do double else enum explicit extern false float for friend goto if inline int long namespace new operator private protected public struct class register return short signed sizeof static switch template this throw true try typedef union unsigned using virtual void volatile 保留字是系统预留的符号,这些符号已经被赋予特定的意义。因此程序员只能直接使 用它们而不能修改其定义。例如,保留字 int 和 float 分别被用来表示整型数据类型和浮点型 特别注意: You cannot have two main functions in the same project. Put them in separate projects or rename one of the functions and call it from the other main function. You can never have more than one main() function in your project since it is the entrypoint, no matter what the parameter list is like. 在一个C++项目里面有且只能有一个main()方法,这是强制规定,不然编译报错:multiple definition of `main'
相关文章
相关标签/搜索