// youbu老师.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
//
//#include <iostream>
//
//int main()
//{
// std::cout << "Hello World!\n";
//}
//
运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
调试程序: F5 或调试 >“开始调试”菜单
// 入门使用技巧:
// 1. 使用解决方案资源管理器窗口添加/管理文件
// 2. 使用团队资源管理器窗口连接到源代码管理
// 3. 使用输出窗口查看生成输出和其他消息
// 4. 使用错误列表窗口查看错误
// 5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目
// 6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件
//#include <stdio.h> // #:关键标识符,表示引入头文件:include:引入头文件关键字
// // stdio.h :系统标准输入,输出库对应的头文件,是给 printf 函数服务的,
// // <> :是使用系统库函数, "" : 用户自定义库函数,
//int main(void) //int : 函数返回值是整形数据,main :函数名,程序唯一的入口,必须有,且只有一次, void :调用函数无需传参
//
//{ // { : 函数体的起始位置
// printf("hello world!\n"); // 将“hello world”写到屏幕上, \n: 回车换行。
// system("pause"); // 调用 syatem 函数,实现暂停功能
// // system 执行系统命令
// return 0; //返回当前函数调用 --- 退出程序 0 要跟 main 函数的返回值一一对应,
//} // : 函数体的结束位置
// 解决程序运行时一闪而过,
// 第一张方式在 return 0,printf 后面加上 system 如第27行
// 1、27行加system("pause");pause 是暂停的意思
// 第二种方式是点开解决方案资源管理器,文件(项目),右键属性,链接器,系统,子系统,右边,往下拉,控制台,应用,在确定,
// gcc 编译 4 步骤 1、预处理 -e xxx.i 预处理文件
// gcc -E xxx.c -o xxx.i
// (1) 头文件展开。 --- 不检查语法错误,可以展开任意文件
// (2) 宏定义替换 --- 将宏名替换为宏值
// (3) 替换注释 --- 变成空行
// (4) 展开条件编译 --- 根据条件来展开指令
// 2、编译 -s xxx.s 汇编文件
// (1) 逐行检查语法错误,【重点】 --- 整个编译4步中最耗时的过程
// (2) 将 C 程序翻译成 汇编指令,得到 .s 汇编文件
//
// 3、汇编 -c xxx.o 目标文件
// gcc - c hello.s -o hello.o
// (1) 翻译 : 将汇编指令翻译成对应的 二进制编码
// 4、链接 无 xxx.exe 可执行文件
// (1) 数据段合并
// (2) 数据地址回填
// (3) 库引入
//#include <stdio.h>
#include <hello.i>
//#define PI 3.14 //定义常量 宏定义
我是一个单行注释君
//int main(void)
//{
// printf("hello world\n");
//#ifdef PI
// printf("----------------------666\n");
//#endif
//
//
// /*我是一个多行注释君
// */
// printf("%d\n", PI); //%d 表示匹配一个整数的意思
// return 0;
//}
#include <stdio.h>
int main(void) // 入口函数
{
定义整型变量 a,b,c;
//int a; // int 变量类型 + a 变量名 =变量定义
//int b;
//int c;
//c = a + b;
//__asm; // 汇编的一个函数调用
//{
// mov a, 3; // 3的值放在 a 对应内存的位置,
// mov b, 4; // 4的值放在 b 对应的内存位置,
// mov eax, a //把 a 内存的值放在 eax 寄存器,
// add eax, b; // eax 和 b 相加,结果放在 eax add :表示加的意思
// mov c, eax; // eax 的值放在 c 中
// printf("%d\n", c); // 把 c 的值输出,
//}
int a = 3; //定义 整型变量 a, 赋初值 3
int b = 5; // 定义整型变量 b, 赋初值 5
int c; // 定义整型变量 c, 无初值
c = a + b; // a + b, 将结果 赋值给 c.
printf("%d\n", c); // %d :格式匹配符, 匹配整型数据,
printf("c = %d\n", c);
return 0;
}