精华内容
下载资源
问答
  • Windows 10是用什么语言写的?有多少行代码

    万次阅读 多人点赞 2019-04-23 08:36:00
    Windows内核主要是C写的, 有500多G。作者:Axel Rietschin编译:码农翻身这是微软的内核工程师 Axel Rietschin在Quora的一个回...
        

    Windows内核主要是C写的,   有500多G。

    作者:Axel Rietschin

    编译:码农翻身

    这是微软的内核工程师 Axel Rietschin在Quora的一个回答。

    Windows 10 的code base 和Windows 8.x , 7 , Vista , XP , 2000 和Windows NT的code base 是相同的,当然是演化过来的,其中的每一代都进行了重大的重构,增加了大量的新功能,提升了性能和对硬件,安全的支持,并且保持了高度的向后兼容性。

    (码农翻身注:考虑到Windows的众多版本和海量应用,这是一个很了不起的成就, 也是一个很大的包袱。)

    Windows 的大部分内核(ntoskrnl.exe)是用C语言写的,你可以在Github上看到泄露的Windows Research Kernel 代码,自己研究一下,虽然它已经相当过时,非常不完整,但依然能看出一些重要的东西。


    代码库在这里:

    https://github.com/markjandrews/wrk-v1.2

    比如说,我们熟悉的注册表(Registry),在内核中被称为配置管理(configuration manager,简称cm),就在这个目录下:wrk-v1.2/base/ntos/config

    (码农翻身注:Windows Research Kernel是微软为教育目的提供的源代码。高校师生可以修改,编译,以此来学习OS的原理。在Linux大行其道的时候, 不知道有多少高校在用?)

    大部分运行在内核态的代码都是用C语言写的,包括大部分的文件系统, 网络,大部分的驱动, 其中也有一些C++。

    如果往上走进入到用户态,C语言就会变少,C++会逐渐增多。

    大多数人都没有意识到Windows的庞大规模:这是一个真正的史诗般的巨型项目。

    在Windows的代码树中,有源代码,测试代码,还有其他东西(码农翻身注:可能是图标,声音,图片?),文件数超过400万,500多G。

    仅仅是把这个代码树的目录和文件名都浏览一遍,就要花费你一年的时间。这里有50多万个文件夹,其中的代码组成了操作系统工作站和服务器的所有版本,相关工具,开发工具包。

    如果你想把源代码都读一遍,可能要穷尽一生。

    下面是一个截图,描述了Windows源码的统计信息:

    640?wx_fmt=png

    有一次,我有几周的时间没有更新我的Git Branch , 等我回来的时候,我发现它已经落后60,000次提交了!

    你肯定会说一个人不可能阅读完每天的代码提交,更不用说过去三十年积累的代码了。

    如果你看到了Windows 10 "DVD” 并且想知道是什么编程语言创造了光盘上的东西,我猜98%是C和C++, C是大头。

    .NET BCL(Base Class Library) 和其他库&框架主要是用C#写的,他们仅仅是C语言海洋(有一点C++小岛)小水滴而已。它们来自不同的部门(The developer's division), 代码也不是Windows代码树的一部分。

    原文地址:

    https://www.quora.com/Which-programming-language-is-used-for-making-Windows-10


    你可能会喜欢

    我是一个线程

    我是一个Java Class

    CPU阿甘

    面向对象圣经

    TCP/IP之大明邮差

    CPU阿甘

    负载均衡的原理

    一个故事讲完HTTPs

    编程语言的巅峰

    Java:一个帝国的诞生

    JavaScript:一个屌丝的逆袭

    我逛了JDK一条街,发现不少好东西

    640?wx_fmt=jpeg

    展开全文
  • 在一些项目中,会严格限制换符,比如在项目根目录下 .editorconfig 中设置 end_of_line = lf,当你在 Mac 下开发之后,在 Windows 上 clone 代码时, git 会自动将换行变更为系统默认的换行(’\r\n’),而且还是...

    默认的换行符在各操作系统下是不一致的,Windows 是 CRLF(’\r\n’),Mac、Linux是 LF(’\n’)。

    在一些项目中,会严格限制换行符,比如在项目根目录下 .editorconfig 中设置 end_of_line = lf,当你在 Mac 下开发之后,在 Windows 上 clone 代码时, git 会自动将换行变更为系统默认的换行(’\r\n’),而且还是项目级别的。

    原因

    git 会依据平台自动变更文件换行符,这是项目级别的。

    解决办法

    配置 git

    # windows 下是 autocrlf
    
    #提交时转换为LF,检出时转换为CRLF
    git config --global core.autocrlf true
    
    #提交时转换为LF,检出时不转换
    git config --global core.autocrlf input
    
    # 推荐,项目中指定了换行,则在任何平台都只用一种换行 \n
    #提交检出均不转换
    git config --global core.autocrlf false
    
    SafeCRLF
    
    #推荐,拒绝提交包含混合换行符的文件
    git config --global core.safecrlf true
    
    #允许提交包含混合换行符的文件
    git config --global core.safecrlf false
    
    #提交包含混合换行符的文件时给出警告
    git config --global core.safecrlf warn
    

    IDE 设置换行

    Webstorm 中,File -> Settings -> Editor -> Code Style -> Line separator -> Unix and macOS


    关注公众号 止水聊技术,即送技术资料,您的支持是我最大的动力
    lxfriday_xyz

    展开全文
  • 行代码实现windows所有系统的激活

    千次阅读 2021-01-31 13:38:31
    行代码实现windows所有系统的激活 1.在电脑桌面新建【新建文本文档.txt】文档;注意一定要能看到文件的扩展名.txt 2.打开【新建文本文档.txt】文档 3.写入两行代码: slmgr /skms kms.03k.org slmar /ato 4.保存...

    两行代码实现windows所有系统的激活

    1.在电脑桌面新建【新建文本文档.txt】文档;注意一定要能看到文件的扩展名.txt
    2.打开【新建文本文档.txt】文档
    3.写入两行代码:
    slmgr /skms kms.03k.org
    slmar /ato

    4.保存文件
    5.修改文件的扩展名.txt为.bat
    6双击执行或者【管理员运行】这个【新建文本文档.bat】文件.;弹出窗口提示后一直单击【确定】;即可完成windows的系统激活
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 女友半夜加班发自拍 python男友用30行代码发现惊天秘密

    大家好,我是Lex 喜欢欺负超人那个Lex

    女友说今晚加班,还给我发了一张照片?

    我心生怀疑,就用python分析了一下照片,结果发现。。。

    划重点:利用Python读取照片的GPS信息信息

    事情是这样的

    正准备下班的python开发小哥哥

    接到女朋友今晚要加班的电话

    并给他发来一张背景模糊的自拍照

    如下 ↓ ↓ ↓

    敏感的小哥哥心生疑窦,难道会有原谅帽

    然后python撸了一段代码 分析照片

    分析下来 emmm

    拍摄地址居然在 XXX酒店

    小哥哥崩溃之余 大呼上当

    python分析照片

    小哥哥将发给自己的照片原图下载下来

    并使用python写了一个脚本

    读取到了照片拍摄的详细的地址

    详细到了具体的街道和酒店名称

    引入exifread模块

    首先安装python的exifread模块,用于照片分析

    pip install exifread 安装exfriead模块

    PS C:\WINDOWS\system32> pip install exifread
    Collecting exifread
      Downloading ExifRead-2.3.2-py3-none-any.whl (38 kB)
    Installing collected packages: exifread
    Successfully installed exifread-2.3.2
    PS C:\WINDOWS\system32> pip install json

    GPS经纬度信息

    其实我们平时拍摄的照片里,隐藏了大量的私密信息

    包括 拍摄时间、极其精确 具体的GPS信息。

    下面是通过exifread模块,来读取照片内的经纬度信息。

    #读取照片的GPS经纬度信息
    def find_GPS_image(pic_path):
        GPS = {}
        date = ''
        with open(pic_path, 'rb') as f:
            tags = exifread.process_file(f)
            for tag, value in tags.items():
                #纬度
                if re.match('GPS GPSLatitudeRef', tag):
                    GPS['GPSLatitudeRef'] = str(value)
                #经度
                elif re.match('GPS GPSLongitudeRef', tag):
                    GPS['GPSLongitudeRef'] = str(value)
                #海拔
                elif re.match('GPS GPSAltitudeRef', tag):
                    GPS['GPSAltitudeRef'] = str(value)
                elif re.match('GPS GPSLatitude', tag):
                    try:
                        match_result = re.match('\[(\w*),(\w*),(\w.*)/(\w.*)\]', str(value)).groups()
                        GPS['GPSLatitude'] = int(match_result[0]), int(match_result[1]), int(match_result[2])
                    except:
                        deg, min, sec = [x.replace(' ', '') for x in str(value)[1:-1].split(',')]
                        GPS['GPSLatitude'] = latitude_and_longitude_convert_to_decimal_system(deg, min, sec)
                elif re.match('GPS GPSLongitude', tag):
                    try:
                        match_result = re.match('\[(\w*),(\w*),(\w.*)/(\w.*)\]', str(value)).groups()
                        GPS['GPSLongitude'] = int(match_result[0]), int(match_result[1]), int(match_result[2])
                    except:
                        deg, min, sec = [x.replace(' ', '') for x in str(value)[1:-1].split(',')]
                        GPS['GPSLongitude'] = latitude_and_longitude_convert_to_decimal_system(deg, min, sec)
                elif re.match('GPS GPSAltitude', tag):
                    GPS['GPSAltitude'] = str(value)
                elif re.match('.*Date.*', tag):
                    date = str(value)
        return {'GPS_information': GPS, 'date_information': date}

    百度API将GPS转地址

    这里需要使用调用百度API,将GPS经纬度信息转换为具体的地址信息。

    这里,你需要一个调用百度API的ak值,这个可以注册一个百度开发者获得,

    当然,你也可以使用博主的这个ak

    调用之后,就可以将拍摄时间、拍摄详细地址都解析出来。

    def find_address_from_GPS(GPS):
        secret_key = 'zbLsuDDL4CS2U0M4KezOZZbGUY9iWtVf'
        if not GPS['GPS_information']:
            return '该照片无GPS信息'
        #经纬度信息
        lat, lng = GPS['GPS_information']['GPSLatitude'], GPS['GPS_information']['GPSLongitude']
        baidu_map_api = "http://api.map.baidu.com/geocoder/v2/?ak={0}&callback=renderReverse&location={1},{2}s&output=json&pois=0".format(
            secret_key, lat, lng)
        response = requests.get(baidu_map_api)
        #百度API转换成具体的地址
        content = response.text.replace("renderReverse&&renderReverse(", "")[:-1]
        print(content)
        baidu_map_address = json.loads(content)
        #将返回的json信息解析整理出来
        formatted_address = baidu_map_address["result"]["formatted_address"]
        province = baidu_map_address["result"]["addressComponent"]["province"]
        city = baidu_map_address["result"]["addressComponent"]["city"]
        district = baidu_map_address["result"]["addressComponent"]["district"]
        location = baidu_map_address["result"]["sematic_description"]
        return formatted_address,province,city,district,location
    
    if __name__ == '__main__':
        GPS_info = find_GPS_image(pic_path='C:/女友自拍.jpg')
        address = find_address_from_GPS(GPS=GPS_info)
        print("拍摄时间:" + GPS_info.get("date_information"))
        print('照片拍摄:' + str(address))

    Python小哥得到的结果是这样的

    照片拍摄地址:('云南省XXXXXXX县', '云南省', 'XXXX市', 'XXX县', 'XXXX酒店')

    云南弥勒XXXX酒店,这明显不是老王女友工作的地方

    小哥哥搜索了一下,这是一家温泉度假酒店。

    顿时就明白了

    {"status":0,"result":{"location":{"lng":103.41424699999998,"lat":24.410461020097278},
    "formatted_address":"云南省XXXXXXXX县",
    "business":"",
    "addressComponent":{"country":"China",
    "country_code":0,
    "country_code_iso":"CHN",
    "country_code_iso2":"CN",
    "province":"云南省",
    "city":"XXXXX市",
    "city_level":2,"district":XXX县",
    "town":"","town_code":"","adcode":"532526",
    "street_number":"",
    "direction":"","distance":""},
    "sematic_description":"XXXXX酒店",
    "cityCode":107}}
    
    拍摄时间:2021:5:03 20:05:32
    照片拍摄地址:('云南省XXXXXXX县', '云南省', 'XXXX市', 'XXX县', 'XXXXX酒店')

    完整代码

    https://download.csdn.net/download/weixin_42350212/19776215

    推荐阅读

    优质资源

    python实战

    【pygame开发实战开发30例 完整源码】

    【pygame游戏开发专栏,获取完整源码+教程】

    CSDN官方学习推荐

    CSDN出的Python全栈知识图谱,太强了,推荐给大家!↓

    展开全文
  • 今天就让kt来带大家动手实践一下,以便提高大家学习的热情,写一段代码C++代码windows系统上,实现所有进程遍历。 默认大家都已经掌握了一定的C++编程水平,但是掌握度不高也没关系,照着步骤来
  • 行代码激活windows系统

    千次阅读 2021-02-08 21:55:52
    slmgr /skms kms.03k.org slmgr /ato
  • windows cmd 一行代码修改hosts文件内容

    万次阅读 2019-05-25 14:34:50
    windows+R 输入cmd 回车 cd C:\Windows\System32\drivers\etc echo ### >表示覆盖,>>表示追加 #### >hosts echo 127.0.0.1 aa 127.0.0.1 bb>>hosts
  • java 一行代码windows蓝屏

    万次阅读 2018-05-18 22:15:54
    其实呢,这一java代码只是调了Windows的一个命令而已,和在Windows的CMD里执行 shutdown -s -f 命令一样,而这个命令是关机命令,-s是关机 -f是强制关机的参数。 你想定时关机的话,就是  shutdown -s -t 100 ...
  • 微软的Windows系统是伴随我们已久的老朋友了,大多数人都是一代一代Windows的用上来,老用户几乎都形成一个共识,就是微软的系统...那么,微软的Windows系统用了这么久,究竟它有多少行代码呢? Microsoft Window...
  • Windows系统代码

    千次阅读 2009-08-18 15:19:00
    Windows 代码行数Windows 95: 1500万 Windows 98: 1800万 Windows XP: 3500万 Windows Vista: 5000万行Windows Vista的代码行数达到了惊人的5000万,比XP多出了40%。
  • 修改Windows PowerShell默认代码

    千次阅读 2016-10-08 13:55:13
    修改Windows PowerShell默认代码页有时候我们希望修改Windows PowerShell的默认代码页,比如编码控制,不同的代码页下的字体显示也不同,有时候为了更漂亮的代码行显示页会修改默认代码页:修改代码页-临时修改为UTF...
  • 导致每一次提交代码,就算是一行代码,git diff也是整个文件的增删。真是可恶。
  • 这个时候,如何高效的读懂别人代码逻辑,如何从几十万乃至上百万行代码中找到自己需要的逻辑显得尤为重要。  以下笔者结合自己的近来的经验就Windows源码分析做下解读。 一、了解Windows的代码特点  相比于Linux...
  • windows下写linux代码直接编译

    万次阅读 2018-01-15 17:59:16
    大多数人都习惯于在windows下用source insight编辑代码,然后用xftp拷贝到linux下进行编译,如果有小的改动,就直接在linux下用vim进行编辑修改。至于为什么是vim,工作这么多年,还没有一家公司的服务器是带界面的...
  • windows修改默认代码

    千次阅读 2017-02-06 16:19:34
    点运行中的 CMD.EXE 窗口左上角,出现菜单,选“属性”一看,“属性”中的“当前代码页”框框里写着这么一:“437 (OEM - 美国)”,问题关键就是这里。  重新点出菜单,选“默认值”项,发现“默认值”里的...
  • Windows下编写汇编代码

    千次阅读 2015-12-16 11:55:20
    NASM ALINK 汇编代码
  • 不用写一行代码,用MFC向导实现的文本编辑器(类似Windows下的记事本) 源码下载:http://download.csdn.net/detail/gencheng/6647927  这个东西是给懒人准备的,没有写一行代码,只是用应用程序向导(AppWizard)...
  • Windows上的代码管理工具git分享

    千次阅读 2016-01-08 16:14:47
    代码版本管理工具有SVN,以及Git windows 环境下面我们常用的工具其实主要还是靠SVN.但是对于从事Android Framework层开发的人员来说。显然SVN已经不在适用了(我个人觉得)现在大部分的企业都是通过repo+git的方式...
  • 【python实战】女友半夜加班发自拍 python男友用30行代码发现惊天秘密 【python实战】python你TM太皮了——区区30行代码就能记录键盘的一举一动 【python实战】女神相册密码忘记了,我只用Python写了20行代码~~~ ...
  • 看一看Facebook工程师是怎么评价《第一行代码》的

    万次阅读 多人点赞 2019-08-16 07:56:50
    大家好,我是一名Facebook的工程师,同时也是《第一行代码——Android》的忠实读者。 虽然我最近几年是在国外读书和工作的,但是和很多人一样,我也非常喜欢郭霖的博客以及他写的《第一行代码——Android》。 事实...
  • python代码

    万次阅读 多人点赞 2016-10-02 17:40:43
    Life is short, just use Python. 自从08年接触Python,就有爱不释手的感觉,...有趣我孩子的英文名叫andy,也许当初教他写程序的时候,如果先秀一下这行代码,可能就更能激起他对代码的兴趣了。>>> print'\n'.join(['
  • Windows 10 的code base 和Windows 8.x , 7 , Vista , XP , 2000 和Windows NT的code base 是相同的,当然是演化过来的,其中的每一代都进行了重大的重构,增加了大量的新功能,提升了性能和对硬件,安全的支持,...
  • t rsa -C “xx@xx.com” xx@xx.com是注册代码仓库用的Email(我用的是阿里云code),这里的命令可以在你所用的代码仓库里找到,就是在添加sshkey的界面上找如何添加ssh key这个帮助,然后里面会帮你把这命令生成。...
  • 没想到,这个程序员只用了20行代码就拿了冠军

    万次阅读 多人点赞 2019-11-15 10:44:15
    去txt里面找到字体设置一个一个试, 用代码去拉出本地所有的字体,循环出来看效果 下面分别是手动查找和程序查找的代码 接下来的事情就很简单了,我们用代码每次读取每个画面的行数每次输出一屏(我这里一屏是160,...
  • “关于Windows远程桌面远程代码执行漏洞(CVE-2019-0708)” 黑客可利用此漏洞,无需用户验证,在目标系统上执行恶意行为,漏洞影响范围包括Windows 7、WindowsServer 2008、WindowsServer2003、Windows XP,漏洞...
  • 微软最高机密——Windows 98 源代码

    千次阅读 2005-01-18 16:07:00
    /*微软最高机密——Windows 98 源代码 项目:Chicago(tm) 项目发行日期:1998年夏天*/ #include "win31.h" #include "win95.h" #include "evenmore.h" #include "oldstuff.h" #include "billrulz.h" #define INSTALL...
  • 3Python代码实现图像照片抠图和换底色

    千次阅读 多人点赞 2019-10-03 23:01:40
    对于不会PS的小伙伴,抠图是一个难度系数相当高的活儿,某宝照片抠图和证件照换底色均价都是5元RMB,所以今天要介绍的这款神工具,只要 3 行代码 5 秒钟就可以完成高精度抠图,甚至都不用会代码,点两下鼠标就完成了...
  • 如何在Windows下统计代码行数

    千次阅读 2017-08-08 15:48:31
    工具有CLOC 在github上面有https://github.com/AlDanial/cloc#Quick_Start 下载地址 https://sourceforge.net/projects/cloc/files/latest/download?source=files ...直接exe运行就好了

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 625,077
精华内容 250,030
关键字:

windows多少行代码