网站颜色编号,网站的备案编号,哪个网站可以查到个人名下公司,win10电脑做网站一、配置编译器环境变量
1.下载mingw64 MinGW 的全称是#xff1a;Minimalist GNU on Windows #xff0c;MinGW 就是 GCC 的 Windows 版本 。 MinGW-w64 与 MinGW 的区别在于 MinGW 只能编译生成32位可执行程序#xff0c;而 MinGW-w64 则可以编译生成 64位 或 32位 可执行…一、配置编译器环境变量
1.下载mingw64 MinGW 的全称是Minimalist GNU on Windows MinGW 就是 GCC 的 Windows 版本 。 MinGW-w64 与 MinGW 的区别在于 MinGW 只能编译生成32位可执行程序而 MinGW-w64 则可以编译生成 64位 或 32位 可执行程序。 MinGW-w64是2005年为了将ObjectiveC程序移植到64位Windows问题由OneVision Software根据 净室设计原则 ReactOS是一个逆向工程Windows而净室实现的开源操作系统而独立开发。 下载链接https://sourceforge.net/projects/mingw-w64/files/
解压mingw64即MinGW-w64压缩包放到合适的位置找到文件夹内的一个叫bin的文件夹复制该文件夹地址右键文件夹地址找到复制地址 2.编辑环境变量
进入“设置”在设置中搜索“环境变量”点击进入“编辑系统的环境变量” 点击“环境变量”进入后选择“Path”双击进入点击“新建”将bin的路径粘贴进去保存 3.测试配置结果
最后测试环境配置是否成功Win键R打开运行窗口输入cmd回车在命令行窗口输入gcc -v -E -x c -如果运行结果如下即配置成功。 二、编译
样例代码test02.c
#includestdio.h
int sum2(int a,int b)
{return ab;
}
int sum1(int a,int b)
{return sum2(a,b);
}
int main()
{int x1;int y2;sum1(x,y);return 0;
}输入下面指令同Linux系统唯一的不同在于.out可执行文件换成了.exe可执行文件: .out文件通常与Unix和Linux相关是在这些操作系统下编译后的可执行文件扩展名。它们不包含特定于操作系统的元数据因为Unix/Linux环境不需要额外的元数据来识别可执行文件。相对地.exe文件是Windows系统中的可执行文件扩展名表示这些文件包含程序代码和数据可以在Windows计算机中直接执行。 gcc test02.c -o test02.exe
这里注意如果后续需要执行文件Linux系统下是./test02而Windows系统下是.\test02
三、gdb查看反汇编代码
然后输入下面指令进行gdb调试可以使用 -q更加简洁 gdb -q 是GDBGNU调试器的一个启动选项。当使用此选项启动GDB时它会在安静模式下运行不会在启动时显示版权说明或广告式的说明信息。这有助于在调试过程中减少不必要的输出使调试界面更加简洁。 gdb -q test02 输入下面指令反汇编名为main的函数。命令会显示出main函数的机器码指令以及对应的汇编指令
disassemble main 包括sum1函数和sum2函数也都可以查看 同样的在vscode中调试查看方法也是一样但是得预先配置好C语言环境包括c_cpp_properties.json、launch.json、tasks.json等文件 四、总结
最后总结一下Windows系统下查看C语言文件反汇编和Linux的相同点和不同点 相同点 编译命令无论是在Windows还是Linux使用GCC编译源代码的基本命令是相似的。例如编译一个名为main.c的C语言源文件到可执行文件通常使用gcc main.c -o main这样的命令。 GDB基本调试命令GDB在Windows和Linux环境下都提供了一套相似的调试命令集如start、next、step、print、break、run等用于控制程序的执行流程、查看变量值、设置断点等。 disassemble命令在GDB中使用disassemble命令来查看函数的反汇编代码是通用的不论是在Windows还是Linux环境下。 不同点 环境配置在Windows下可能需要安装额外的工具或包来支持GCC和GDB的使用如MinGW或Cygwin。而在Linux下GCC和GDB通常是预装的或者可以通过包管理器轻松安装。 路径分隔符Windows使用反斜杠\作为路径分隔符而Linux使用正斜杠/。因此在指定源文件或可执行文件的路径时需要注意使用正确的分隔符。 终端界面与功能Windows的命令行界面CMD和Linux的终端如bash在功能和外观上有所不同。Linux的终端通常提供了更强大的文本处理能力和更丰富的命令行工具集。 可执行文件格式虽然GCC在Windows和Linux下都可以生成可执行文件但文件的格式是不同的。Windows下通常是.exe文件而Linux下是没有扩展名的可执行文件。 特定于平台的命令和选项虽然GCC和GDB的基本命令集在Windows和Linux下是相似的但可能存在一些特定于平台的命令或选项。这些命令或选项可能针对特定操作系统的特性或限制进行设计。