c#编译执行过程

创建一个简单的控制台程序,源码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace csharpBuildProcess
{
    class Program
    {
        static void Main(string[] args)
        {
            for (int i = 0; i < 100; i++)
            {
                if(i%2==0)
                    Console.WriteLine(i);
            }
            Console.WriteLine("Hello World");
            Console.Read();
        }
    }
}

找到源代码文件的路径,可以看到一个Program.cs文件

在不通过Visual Studio编译的情况下,我们也可以通过.NET编译器和.NET类库来生成exe文件

在C:\Windows\Microsoft.NET\Framework\v4.0.30319可以找到csc.exe(微软.NET FRAMEWORK中的C#编译器),这个时候我们打开C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Visual Studio 2012\Visual Studio Tools打开"VS2012 开发人员命令提示",在DOS下进行手动编译

开启后,进入刚才所创建的控制台程序文件所在路径。我创建的程序在d盘下,直接进入d盘,执行命令

csc.exe /out:Program.exe Program.cs

参数说明

  • csc.exe 为微软.NET FRAMEWORK中的C#编译器
  • /out:Program.exe  编译出的exe
  • Programe.cs 当前创建的控制台程序

执行完成后,再返回看当前控制台程序所存放路径的变化。这时会多生成一个Program.exe文件。当直接双击运行后,依然可以看到刚才代码执行后的效果



根据上文的DEMO,其实执行过程很简单。

即:C#源代码->编译成程序集,IL语言->运行,让CPU进行识别,为了便于读者能更清楚的理解,请参考下图:

时间: 2024-10-13 22:35:27

c#编译执行过程的相关文章

c语言编译执行过程

<h4>认识C编译执行过程</h4>认识C编译执行过程,是C学习的开端.简单说C语言从编码编译到执行要经历一下过程: C源代码编译---->形成目标代码,目标代码是在目标机器上运行的代码.连接---->将目标代码与C函数库相连接,并将源程序所用的库代码与目标代码合并,并形成最终可执行的二进制机器代码(程序).执行----->在特定的机器环境下运行C程序. 如果用一个图 来表示: <a href="http://www.emacsvi.com/wp-

C程序编译执行过程

C程序编译执行过程 认识C编译执行过程,是C学习的开端. 简单说C语言从编码编译到执行要经历一下过程: C源代码 编译---->形成目标代码,目标代码是在目标机器上运行的代码. 连接---->将目标代码与C函数库相连接,并将源程序所用的库代码与目标代码合并,并形成最终可执行的二进制机器代码(程序). 执行----->在特定的机器环境下运行C程序. 如果用一个图 来表示: 以上过程仅仅是个大概,详细的过程相当复杂,下面这篇文章写得很详细,从中受益很多: 原文来自:http://www.vc

angualar入门学习-- 自定义指令 指令编译执行过程

3个阶段: 一.加载阶段 加载angular.js的源码,找到ng-app确定应用边界范围. 二.编译阶段 compile 查找所有指令,保存在一个列表中 对所有指令按优先级(property属性值)排序,根据指令的配置参数(template.transclude等)转换为DOM,使指令初具形态. 三.链接阶段 link 执行合体后的link函数.link一般用来操作DOM.绑定事件监听. 为每条指令运行link函数,即将view和scope链接起来,数据绑定:通过在数据上注册监听器来动态修改s

C语言编译执行的简易流程

C语言的编译执行过程大致分为三个部分: 编译->链接->执行 编译:生成目标代码,目标代码是在目标机器上运行的代码. 连接:将目标代码与C函数库相连接,并将源程序所用的库代码与目标代码合并,并形成最终可执行的二进制机器代码(程序). 执行:在特定的机器环境下运行C程序. 如下图: 常见文件的拓展名 .c是C语言源文件,在编写代码的时候创建 .o是目标文件,在编译成功的时候产生 .out是可执行文件,在链接成功的时候产生 常用命令行指令 编译:cc  –c  xxx.c 链接:cc  xxx.o

jdk环境配置以及java执行过程

下载好jdk,并按照提示一步步安装,最后记下jdk所在的安装位置,这里假设在C:\Program Files (x86)\Java\jdk1.8.0_20 现在开始配置环境变量.鼠标右键点击"计算机",选择属性,点击"高级系统设置",在点击"高级",最后点击"环境变量",进入界面开始配置. 选择"系统变量". 在"系统变量"里点击"新建". 变量名为:JAVA_HOM

JAVA编译和执行过程

Java代码编译是由Java源码编译器来完成,流程图如下所示: Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: Java代码编译和执行的整个过程包含了以下三个重要的机制: Java源码编译机制 类加载机制 类执行机制 Java源码编译机制 Java 源码编译由以下三个过程组成: 分析和输入到符号表 注解处理 语义分析和生成class文件 流程图如下所示: 最后生成的class文件由以下部分组成: 结构信息.包括class文件格式版本号及各部分的数量与大小的信息 元数据.对应于Ja

Linux下C语言执行过程(预处理,编译,汇编,链接,执行)

1.C语言的执行过程包括5个步骤:分别是:预处理,编译,汇编,链接,执行 第一步:编写C源代码,截图如下: 2.预处理,命令为:gcc -E variable.c -o variable.i(这步的作用是文件的展开和宏替换),生成的文件类型是.i类型的. 3.编译:命令为:gcc -S variable.i -o variable.s,这里的.s文件就成了会变语言,截图如下: 4.汇编,命令是:gcc -c variable.s -o variable.o,截图如下: 5,链接:命令:gcc -

反编译C程序为汇编代码,汇编代码执行过程的分析与思考

张韩+ 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 系统:32位Ubuntu14.04 编写C程序:(保存至main.c) int g(int x) {   return x + 3; } int f(int x) {   return g(x); } int main(void) {   return f(8) + 1; } 控制台反编译命令: 得到main.s,其内容如下:

C++ 编译,执行过程 具体解释。

要更深入了解C++, 必需要知道一个程序从開始到结束都干了些什么, 怎么干的. 所以我从C++编译到执行过程,解析下程序是怎么跑的. 首先,初略的说一下之前C++的编译过程.C++编译过程包含预编译->汇编->编译->链接.称为一个可运行文件.(Windows平台下为.exe文件). 预编译主要展开包括的头文件,宏定义等操作.比如一个简单的main程序,编译预编译后,的文件对照. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6