一
c++增加了面向对象机制,对c做了扩充。
工具:
notebook
visual c++ 6.0 太老了,与流行操作系统冲突
vs2015 体积大
code blocks 集成开发工具文本工具mingw 是c/c++的编译器
下载好之后,将mingw的bin目录加入系统变量。
测试:cmd进去,输入 g++ -v
过程:写cpp文件;cmd中输入(一步就可以) g++ -o helloworld helloworld.cpp,会生成一个exe文件;再输入helloworld,就会出现cpp文件的输出内容
编译和执行过程:
编译(预处理,编译,目标文件)
预处理:g++ -o helloworld.ii -E helloworld.cpp 生成.ii文件,包含各种头文件。。
编译:g++ -o helloworld.s -S helloworld.ii 将与处理文件转成汇编文件(机器执行的是汇编文件)
连接:将汇编文件和函数库连接,将.s文件转换成二进制文件(目标文件): g++ -o helloworld.o -c helloworld.s
目标文件和函数库连接生成exe文件: g++ -o helloworld.exe helloworld.o
#include <iostream> /* #开头称为预处理指令 #include不是必须的,但是一旦程序中有该语句,就必须放在程序开始处 将输入输出流文件(input output stream)的内容添加到程序中 iostream 中包含了有关输入输出语句的函数 头文件命名,iostream调用了stdio.h文件(旧版本)。加.h就是老版本 #include<cstdio> 调用c语言头文件,可以在前面加个c去掉.h 也可以 #include<stdio.h> 都一样的 */ using namespace std; /* 使用名称空间std,名称空间是c++特性,用来在编写大型程序时组织源代码 如果不写命名空间std,就需要 std::cout 表示从属关系,std命名空间里的cout函数 名称空间就是家族系列,ig战队,避免名称的重复 也可以using std::cout; */ int main() { cout << "Hello world!" << endl; /* <<插入运算符,表示把字符串插入到输出流,发送到cout打印 endl :endline 是控制符,表示重启一行(\n),相当于回车 cout << "Hello'' <<'' world!" << endl;这样也可以 endl和\n的区别:endl:换行+fflush(stdin)清楚缓存,清空缓存区;\n:只换行 cout:输出对象 */ cout << "英雄:艾希\n"; cout << "伤害:\n" << "护甲:" << endl; return 0; return 0; }