学习
实践
活动
工具
TVP
写文章

托管代码与非托管代码

托管代码是一microsoft的中间语言(IL),他主要的作用是在.NET   FRAMEWORK的公共语言运行库(CLR)执行代码前去编译源代码,也就是说托管代码充当着翻译的作用,源代码在运行时分为两个阶段 :       1.源代码编译为托管代码,(所以源代码可以有很多种,如VB,C#,J#)       2.托管代码编译为microsoft的平台专用语言。       这些服务帮助提供独立于平台和语言的、统一的托管代码应用程序行为。       Visual Basic .NET和C#只能产生托管代码。如果你用这类语言写程序,那么所产生的代码就是托管代码。 3、托管代码可享受CLR提供的服务(如安全检测、垃圾回收等),不需要自己完成这些操作;           非托管代码需要自己提供安全检测、垃圾回收等操作。       托管代码就意味着托管数据? 随.NET库,微软还附带了一个工具,可以事先将.NET程序所有的IL代码都编译成本地代码并保存在缓存区中,这样一来,这个程序就跟c++编译的一模一样了,没有任何区别,运行时也可以脱离JIT了(这里不要混淆了

64830

C#托管代码和非托管代码

含义 托管/非托管是微软的.net framework中特有的概念。 非托管代码:也叫本地(native)代码托管代码:是由公共语言运行库(CLR)执行的代码,而不是由操作系统直接执行。 程序实际上是被“托管”在公共语言运行库中。随着程序集的运行,公共语言运行库会持续地提供各种服 务,例如内存管理、安全管理、线程管理等等。和托管资源/非托管资源不同,不要弄混。 托管代码的优点 1.跨平台。 有关内存管理(内存申请,内存释放,垃圾回收之类的)全部都是.net的CLR来管理 2.更加安全,不会出现诸如内存泄露之类的问题 托管代码的缺点 1.对程序的性能也产生一定的影响。 CLR首次加载程序集代码时,JIT将IL编译成本地代码时,会对其进行代码优化,这类似与非托管C++编译器的后端所做的事情.这可能也会花费加多的时间生成优化代码。 2.不能直接读取内存,不够灵活

7430
  • 广告
    关闭

    腾讯云精选爆品盛惠抢购

    腾讯云精选爆款云服务器限时体验20元起,云数据库19.9元/年起,还有更多热门云产品满足您的上云需求

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    git 代码托管操作

    安装git工具 https://git-scm.com/downloads 第一次提交步骤过程 建立仓库:如"scripts" ? config --global user.email "admin@attacker.club" # 配置个人信息 git config -l # 查看信息 git init # 在当前目录新建一个Git代码库 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件 git commit -m "更新文件" # 提交更新到本地仓库 git push # 提交代码到远程仓库 pull失败执行git pull origin master --allow-unrelated-histories git push -u origin master #上传代码到远程库(输入

    34130

    代码托管平台上的代码片段功能

    代码片段是一种可分享的小项目,可用于分享开发经验、展示组件和 API 的使用、复现开发问题等等。本次介绍 Code China 上的代码片段创建、以链接形式分享、代码片段下载。 代码片段创建 首先需要点击如下所示的新建代码片段,然后复制和粘贴你的代码内容。 这里小编已经创建完两个代码片段了,如下所示,分别命名为 mnist_classification、 fashion_mnist_classification,两者都是用于解决图像分类问题。 链接形式分享 创建完代码片段之后,还可以把代码分享给需要的人,如下所示,选择以链接的形式分享。 代码片段下载 如果在 Code China 上创建完代码片段之后,想要下载了,该怎么办 ? 到此为止,分别介绍了,代码片段创建、链接形式分享、代码片段下载三个模块,更多功能等待大家来 Code China 探索。

    14600

    常用的Git代码托管服务

    常用的Git代码托管服务 前面我们已经知道了Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢? 我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。 gitHub( 地址:https://github.com/ )是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名gitHub 码云(地址: https://gitee.com / )是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快 GitLab (地址: https://about.gitlab.com/ )是一个用于仓库管理系统的开源项目, 使用Git作为代码管理工具,并在此基础上搭建起来的web服务 在码云注册账号 要想使用码云的相关服务,需要注册账号(地址: https://gitee.com/signup ) 登录码云并创建Git

    10040

    代码托管到GitHub上

    GitHub是全球最大的代码托管网站,主要是借助Git来进行版本控制的。任何开源软件都可以免费地将代码提交到GitHub上,以零成本的代价进行代码托管

    45740

    代码托管你只知道 GitHub?

    文章目录 1.前言 2.GitHub 3.GitLab 3.BitBucket 4.小结 参考文献 1.前言 对于个人开发者,不可避免的会有代码存储的需求。 你可能对全球最大的同性交友平台 GitHub 并不陌生,它是开源项目最喜欢的托管平台。要想托管代码,如果你只知道 GitHub,那下面这两款你真的应该了解一下。 GitLab BitBucket 下面我们对三个代码托管平台做个评比。 2.GitHub GitHub 当下大红大紫,主要在于其社交性质和拥有众多的开源项目。 但是对于私有仓库来说,个人觉得价格偏贵(屌丝气质暴露)。 而且个人账户下的私有仓库,不能共享给个人所拥有的团队账户,因此如果团队账户需要 私有仓库,则需要另外再为团队账户购买。 适合小团队托管私有项目。 4.小结 GitHub 适合开源项目管理。不缺钱的同学,私有项目也适合统一在 GitHub 管理。 GitLab 和 BitBucket 都很适合私有项目的管理。

    9120

    服务器租用或者服务器托管价格受什么影响?

    像数据中心地理位置、配置服务器价格、网络带宽数量、传输速度、IP地址、服务器类型等等。这些都是企业用户在进行服务器托管或者服务器租用之前,需要进行初步了解的。 在挑选服务器托管或者服务器租用业务之前,企业用户对比数据中心价格不难发现,每家给的价格并不是相同的。甚至有些差异化是很明显的。那么到底是什么原因会导致价格差异过大呢? 国内外大小机房可支持服务器托管、服务器租用业务的机房众多。像北上广深等区域,网络资源丰富,有着得天独厚的优势,因此价格相对较贵。 3.地理位置 数据中心的地理位置,决定了服务器托管、服务器租用的最后价格。同时,我们需要就近选择数据中心进行服务器托管或者服务器租用。 以企业用户在北京为例,进行北京服务器托管或者租用的话,企业用户最好选择北京的数据中心。像三里屯数据中心和燕郊数据中心等等。 根据这篇文章,相信大家都能够对服务器托管和服务器租用价格有一个大致了解了。

    21310

    Github 注册教程,托管自己的代码,静态页,GIt工具安装使用

    gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。 项目上传代码 上传代码有两种方式 通过在线上传 通过Git工具 在线上传 在你的项目首页,有一个“Upload Files” 点击就会调到上次文件页面了 Git工具上传 ##### Git 是一个开源的分布式版本控制系统

    51610

    如何将代码托管到Github

    Github是最火热的源代码管理平台,你可以通过这个平台,将代码托管起来,防止代码丢失,或者将自己的代码展示给世界。 首先要下载Git,请自行在各大应用平台下载。 下载完成后,在你的菜单上下文中就会出现两个选项 这是两种提交代码的不同方式,本节以第二种方式演示。 如果你是初学者,没用过Github,要上传代码的话,就要先创建一个代码库, 按照下图,点击new,新建一个库,下面以我的MyProductions代码库为例。 第一次提交代码,需要将你要提交的目标代码库克隆到本地,找到一个新的文件夹,右键,打开Git Bash Here 初始界面如下: 输入 git clone url,url的获取方式,如下图 ,找到你的目标代码库,然后点击Code,复制粘贴到命令行中 静待克隆完成,克隆完成之后,这个文件夹就是你目标代码库的一个映像,把你要上传的代码复制到此 此处以上传 ASP.NetCore_Project

    11230

    借助GitHub托管你的项目代码

    PS:话说自己注册了GitHub都很久了,却没有怎么去弄,现在系统学习一下,也把自己的学习经历总结下来share给大家,希望大家都能把GitHub用起来,把你的项目代码happy地托管起来! Fork之后,他就可以随心所欲地去改进,但是丝毫不会影响原有项目的代码与结构。    这时我们再次进入GitHub主页,可以看到我们的项目已经有刚刚同步的代码了: ?    参考资料 (1)GitHub-百度百科 (2)手把手教你最简单的开源项目托管 (3)怎么使用GitHub-知乎 (4)廖雪峰-Git教程 (5)杨晓辉-GitHub for Windows使用教程 => Windows下可以使用GitHub for Windows工具进行操作,很方便!

    22431

    代码托管从业者 Git 指南

    代码托管平台分布式、Git 代码托管读写分离、Git 代码托管高可用等工作,所幸学到了一些知识,积累了一些经验,本次分享我的一点经验之谈,希望对即将进入或者已在代码托管行业的朋友有所帮助。 Git 的存储原理 对于代码托管从业人员来说,只了解 Git 的使用并不足以参与代码托管平台服务开发和架构优化等工作,所以了解 Git 的一些原理非常必要。 Git 的传输协议 对于现代版本控制系统而言,传输协议与代码托管平台的关系更为密切,只要支持了该版本控制系统的传输协议才意味着平台支持这个版本控制系统,要支持 Git,代码托管平台也就需要了解 Git 代码托管平台伸缩性 大型代码托管平台面临的另一个问题则是系统的伸缩性,在架构上具备良好的伸缩性则意味着平台能做到多大的规模,比如 Gitea/Gogs 这种倾向于单节点的开源代码托管平台要做到大型分布式代码托管平台就麻烦得多 ,而 Gitlab 则更容易搭建分布式可扩展的代码托管平台。

    15430

    代码托管从业者 Git 指南

    本文作者:李博文 - CODING 后端开发工程师 前言 六七年前,我机缘巧合进入了代码托管行业,做过基于 Git 支持 SVN 客户端接入、Git 代码托管平台分布式、Git 代码托管读写分离、Git 代码托管高可用等工作,所幸学到了一些知识,积累了一些经验,本次分享我的一点经验之谈,希望对即将进入或者已在代码托管行业的朋友有所帮助。 Git 的存储原理 对于代码托管从业人员来说,只了解 Git 的使用并不足以参与代码托管平台服务开发和架构优化等工作,所以了解 Git 的一些原理非常必要。 代码托管平台伸缩性 大型代码托管平台面临的另一个问题则是系统的伸缩性,在架构上具备良好的伸缩性则意味着平台能做到多大的规模,比如 Gitea/Gogs 这种倾向于单节点的开源代码托管平台要做到大型分布式代码托管平台就麻烦得多 ,而 GitLab 则更容易搭建分布式可扩展的代码托管平台。

    28030

    六、CLR下的托管代码应用程序与非托管代码程序之间的性能对比

    1、托管程序二次编译的问题,以及微软做的优化 五、CLR加载程序集代码时,JIT编译器对性能的产生的影响中介绍了CLR下托管应用程序的二次编译对性能产生的影响.事实上,在IL编译成本机代码的时候的时候 但是,在微软做了大量的性能优化工作之后,将这些额外的开销保持在最低的限度之内. 2、托管程序的实际性能 事实上,托管程序的性能实际上要比非托管应用程序要好,举个例子,当JIT编译器在运行时将IL代码编译器编译成本机代码的时候 ,编译器对执行环境的认识比非托管编译器更深刻。 如果JIT编译器没有使托管应用程序达到应有的效果,如果需要进一步确认,有两种方法: (1)、.Net Framework SDK提供的NGen.exe工具工具将程序集的所有的IL代码编译成本机代码, 注:NGen.exe对最终执行环境的预设是很保守的,所以,NGen.exe生成的代码不会像JIT编译器生成的代码那样进行高度优化。 (2)、使用ProfileOptimization类 ?

    34740

    国内2大Git代码托管网站

    可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识。GitHub不但是一个代码托管网站,更是一个程序员的SNS社区。GitHub真正迷人的是它的创新能力与Geek精神,这些都是无法模仿的。 在GitHub出现后,国内也出现了大量的代码托管网站,国内外有的代码托管网站也都开始引入GitHub的某些元素。 京东代码托管平台 作为京东电商云生态的重要一环,京东云汇中的代码托管平台(https://code.jd.com/) 2013年7月份起全面对外开放,用户只要拥有京东账号即可使用的代码托管服务。 此外,为了支持国内程序员开源社区建设,目前平台对每个项目均提供免费的1G存储空间,并设置了“代码一键迁移”功能,用户可以方便的从其他GIT代码托管平台转移其项目到京东代码库。 京东云汇中开放的免费代码托管平台实现了基于Git的开发任务分包管理、代码在线和离线编辑、编码助手、代码版本管理等全程的代码管理服务 CSDN代码托管平台 2013年6月28日推出代码托管与社交编程平台“

    1K80

    扫码关注腾讯云开发者

    领取腾讯云代金券