在Linux上利用mingw-w64生成exe文件

一、概要

1、elf与exe

在Linux上用gcc直接编译出来的可执行文件是elf格式的,在Windows上是不能运行的

Windows上可执行文件的格式是exe

利用mingw-w64可以在Linux上生成exe格式的可执行文件,将该exe文件拷贝到Windows上就可以运行

2、程序要留给用户查看计算结果的时间

Windows中,在桌面双击运行程序,程序运行结束之后会立刻退出,导致用户来不及查看计算结果

代码最后等待输入END然后回车才结束,就是为了应对这种情况。在用户主动结束之前,程序会等待输入,这样就给用户留下了查看计算结果的时间。

二、自己写的代码

1、代码描述

该代码的功能是计算从棋盘左上角到右下角的路线的条数,只允许向右走和向下走

输入的两个数表示棋盘的大小,围棋的棋盘是19X19的,对应到该程序的输入是18  18

2、代码

#include<stdio.h>
int fun(int, int);
int main() {
    int n, m;
    scanf("%d %d", &n, &m);
    printf("%d\n", fun(n, m));
    printf("Input END and press Enter key to finish program!\n");
    scanf("%d", &n);
    return 0;
}
int fun(int n, int m) {
    if (n == 0 || m == 0) {
        return 1;
    }
    return fun(n - 1, m) + fun(n, m - 1);
}

三、安装mingw-w64

sudo  apt-get  install  mingw-w64

四、生成elf和exe

gcc  hh.c

生成elf格式的可执行文件a.out

x86_64-w64-mingw32-gcc  -static  hh.c   -o  QiPan.exe

生成exe格式的可执行文件QiPan.exe

./a.out

直接运行elf格式的可执行文件,此处用18  18作为测试用例,记住运算结果,和后面Windows上的运算结果进行对比

将exe格式的可执行文件QiPan.exe拷贝到Windows上

五、在Windows上运行

1、桌面双击运行

2、在终端中打开然后运行

3、在命令行中运行

按下Windows+R,然后输入cmd并回车,就进入了命令行界面

注意:在这里运行程序的时候,不需要在前面加./   ,直接输入QiPan.exe,然后回车即可

### Windows 10 睡眠模式下风扇持续运转的原因 在Windows 10操作系统中,当设备处于睡眠状态时,理论上大部分硬件组件应进入低功耗模式以减少能耗并降低噪音。然而,在某些情况下,即使计算机已切换到睡眠模式,风扇仍可能保持高速旋转的状态。这种情况通常由以下几个因素引起: - **电源管理设置不当**:如果系统的电源选项配置不正确,可能导致部分硬件未能完全关闭或维持高功率运行[^1]。 - **驱动程序冲突或更新不足**:陈旧或错误安装的显卡或其他关键部件的驱动程序也可能引发此类现象[^2]。 - **后台活动进程过多**:即便是在休眠期间,如果有应用程序未被妥善终止或者存在系统服务继续执行任务,则会促使CPU负载增加从而带动散热装置工作加剧。 ### 解决方法概述 针对上述提到的各种可能性,可以采取如下措施来尝试解决问题: #### 调整电源计划参数 通过修改高级电源设定中的具体条目,比如调整硬盘关闭时间、PCI Express链接状态电源管理以及处理器性能控制等方面的内容,有助于改善这一状况。操作路径为:“控制面板 -> 硬件和声音 -> 电力选项”,随后点击所选方案旁侧的“更改计划设置”按钮,并进一步选择“更改高级电源设置”。 ```plaintext 注意: 修改前建议记录当前配置以便必要时候恢复原状。 ``` #### 更新相关驱动至最新版本 访问制造商官网下载最新的图形适配器以及其他重要外设对应的官方认证版驱动软件包进行重装替换原有文件夹内的内容物;同时也可以利用Device Manager内置功能自动在线查找可用升级项完成相应流程。 另外值得注意的是对于BIOS固件同样需要关注是否有新补丁发布可供应用因为其内部包含了大量关于如何处理待机唤醒机制的信息直接影响整体表现效果。 #### 检查是否存在异常活跃的服务或程序 借助Task Manager工具查看哪些项目仍在消耗资源占用率较高的情况之下考虑禁用不必要的启动项或是卸载可疑第三方插件以此减轻负担达到预期目的. 最后重启机器验证改动后的实际成效确认是否已经彻底消除之前遇到过的困扰情形.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值