今日日志

python教程自学平台

共 4756字,需浏览 10分钟

 · 2023-08-29

今天一早,打开电脑,像往常一样,把所有东西都更新一下,突然,看到驱动可以更新了,激动死了,BIOS固件,可以更新了。

补充知识点:

BIOS是英文“Basic Input/Output System”的缩写,中文意为“基本输入输出系统”。它是计算机系统中的一种固化软件,位于计算机主板上的一个芯片(或者存储在可重新编程的闪存芯片中)。BIOS提供了计算机启动时所需的最基本的硬件初始化和自检功能,以及与操作系统交互的接口。

BIOS的主要功能包括:

启动过程管理:负责在计算机开机时进行硬件初始化和自检,加载操作系统到内存中,并将控制权转交给操作系统。

硬件 配置管理: 管理计算机系统中各种硬件设备的配置信息,如硬盘、内存、显示器等,以便操作系统能够正确地访问和使用这些硬件设备。

CMOS设置管理:保存计算机的基本设置信息,如日期、时间、启动顺序等。这些设置可以由用户进行修改,并在下次启动时生效。

提供低级服务:提供一些基本的输入输出功能,如键盘输入、显示输出和磁盘读写等。

尽管现代计算机中已经出现了更先进的固件,如UEFI(Unified Extensible Firmware Interface),但BIOS仍然被广泛应用于许多传统的个人电脑和服务器系统中。

于是直接更新,又一看需要连接电源适配器,我心中暗喜, 开始更新!

更新了一会儿,打开电脑,突然发现,指纹和人脸都可以用了!!!

无比兴奋,因为这两个东西坏了好长时间了,我修了n次也没修好,但是我是知道这两个东西是因为版本问题,所以我也知道终有一天,一个稳定的,高版本会出现,并解决所有问题,但是有一说一,没想到这么快,真的超级开心

不禁暗喜,幸亏没听那个垃圾华为售后维修的建议,他说要重装系统,装个屁啊,就是个版本问题至于吗,我上次网络找不到,也是这样,仅仅是因为系统更新后有些程序软件之间不兼容,去了前两个地方,都说要重装系统,还是所谓的联想专业维修处,我不想重装,到第三个地方,人家直接就给我修好了,说是删除了不兼容的一个更新的程序,就完了。在此劝告,某些修电脑的,修不好就说要重装系统,技术不行就直说,不要找理由!

今天开头很开心。接着干正事。

突发奇想,想写个bat程序啥的玩玩,之前很想搞的,老是忘,开工!

思路:先写个batch.txt文本文件,再改成bat文件,随便看了两眼bat程序语法,直接开搞,

在桌面新建一个test.txt文件,

      
        D:\35895\Desktop>copy con test.txt
      
      
        @echo off
      
      
        echo Hello,World!
      
      
        pause
      
      
        ^Z
      
      
        已复制        1 个文件。
      
      
        D:\35895\Desktop>ren test.txt test.bat
      
      
        D:\35895\Desktop>test.bat
      
      
        Hello,World!
      
      
        请按任意键继续. . .
      
      
        D:\35895\Desktop>
      
      
        
          


a756851d004f35192c58622674460276.webp

b7876c248d42fcdaba68d568b8e655ca.webp


下面简要解释一下test.bat文件:

"@echo off" 表示关闭命令回显,即不在执行每条命令前显示该命令。

"echo Hello, World!" 用于输出一行文本,即打印"Hello, World!"。

"pause" 命令用于暂停脚本的执行,直到用户按下任意键。

完毕!

突然又突发奇想,sh文件,bat文件既然可以先写个文本文件再改后缀,那exe文件可不可以呢?

我新建了一个文本文件,随便乱编了一些东西,保存为exe文件,接下来激动人心的时候到了,双击,运行

结果是

aada6696b7b6ca423f5a70063f0f5f8f.webp

果然,不是自己乱编就行的,388389f60936bf659598c19d7e4ab213.webp388389f60936bf659598c19d7e4ab213.webp388389f60936bf659598c19d7e4ab213.webp

上网上搜搜,有了一个方法:

可以先写一个c程序,再编译一下不就就行了?豁然开朗,又感觉C白学了0fcc0c5fc642c09aacc3bd027b383e3e.webp0fcc0c5fc642c09aacc3bd027b383e3e.webp0fcc0c5fc642c09aacc3bd027b383e3e.webp

f5f9811507f0cfcd63d6adade9cf4544.webp

再编译,

      
        P:\Programs\foo>gcc hello.c -o hello.exe
      
      
        
          
P:\Programs\foo>hello.exe
Hello!

可以运行,接着copy到桌面看看

      
        P:\Programs\foo>copy hello.exe D:/35895/Desktop/
      
      
        
          
命令语法不正确。

what?

再试一次,

      
        P:\Programs\foo>copy hello.exe D:/35895/Desktop/
      
      
        
          
命令语法不正确。

还是不行。 咋了呀?

我一搜,发现

在Windows系统中,路径使用反斜杠(\)作为分隔符。

这我知道啊,但是windows中路径用斜杠也可以啊,我cd是都是用的斜杠啊,没问题啊,不过,我还是抱着试试的心态试了一下,

      
        P:\Programs\foo>copy hello.exe D:\35895\Desktop\
      
      
        
          
已复制 1 个文件。

这,0fcc0c5fc642c09aacc3bd027b383e3e.webp0fcc0c5fc642c09aacc3bd027b383e3e.webp0fcc0c5fc642c09aacc3bd027b383e3e.webp 居然好了?

我。。。好吧,你是对的。

具体原因,我也不清楚。先不管了。

b738660647fb1e3722872ed947b25d0f.webp

接着,在桌面双击hello.exe文件,本来还以为就好了,该结束了呢。

意想不到的是,这个窗口,闪现了一下,就是眼前闪了一个黑东西,很快就过去了。

what???

我镇定下来,冷静分析,这种情况我并不是第一次见了,反而很熟悉,这好像写爬虫时Chrome浏览器的突然一跳,但这跟爬虫有啥关系?排除。

我又试了几次,都是这样,这时我发现右下角的搜狗输入法出现了一个黑色的错误叉子,难道是打开时不能用中文输入法,用了程序就会崩溃?

我改成英文的,并把exe文件先改成txt文件,再查看,

天哪,全是乱码:

u噧竸   唞媹?   1覅?暵閔H?y  鑔  1繦兡(脙xt咾D媭?   1褽吚暵?D  f.?     H冹8H??  L?蝆  H?蟐  H?衈  ? ?╚  H?  H塂$ H??  D?鑝  怘兡8?€    AUATUWVSH侅?   1拦

   H峊$ H壸驢獺??  D?E吷吋  eH?%0   H??  1鞨媝L?媝  ?H9??  硅  A訦夎餒?H吚u釮??  1韹凐?  ?吚剄  ?隴     ?凐?  呿?  H??  H? H吚tE1篮   1?需$

看来不是输入法的问题。

我又注意到那个搜狗输入法的黑色的错误叉一跳一跳的,难道是想弹窗,被拦截了?

我想起华为电脑有管理弹窗的功能,于是打开华为电脑管家,电脑优化,弹窗拦截,

我一看,全是拦的酷狗音乐,没有别的啊?

不禁陷入了僵局。此处为静止画面。。。

突然灵光乍现,有没有可能是没有错呢?就是程序运行得快,完了就自动关闭了呢?

可以加一个system("pause")看看,说干就干!

修改了一下程序

      
        
          #include <stdio.h>
        
      
      
        
          
int main() {
printf("Hello2!");
system("pause");
return 0;
}

编译,结果却是

      
        warning: implicit declaration of functionsystem’ [-Wimplicit-function-declaration],
      
      
        
          


不过到这里我已经不慌了,这就是一个warning,又不是error,但是抱着学习的态度,还是要搞懂的,上C站一搜,发现这是因为在编译过程中没有静态导入或者动态加载相关的dll文件引起无法直接编译。可以通过导入相应的库文件(#include<stdlib.h>)消除该警告:

现在程序为:

3884e587bf4b79adedc5848994f01a4c.webp

重新运行一下,这次终于成功了!

641ce1d36f6bcc902674809e3a136c86.webp

这就是今天的流水账,记完了。。。码字真的好难啊c6d3bf202c8db90609bdf35553a8582d.webpc6d3bf202c8db90609bdf35553a8582d.webpc6d3bf202c8db90609bdf35553a8582d.webp,你觉得你是不是应不应该点个赞呢?b97fbffc2d30e273c8c57e223434b29d.webpb97fbffc2d30e273c8c57e223434b29d.webpb97fbffc2d30e273c8c57e223434b29d.webp

浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报