C# 编译过程的两大特点

C#编译过程开始前要安装好.NET Framwork SDK环境,一般安装了vs.net工具的 都已经可以了,我们这里使用vs2005:在图中 可以看到我们进入vs2005的命令行窗体

c#编译过程

    首先,我们用文本文件建一个.cs的文件 其实在C#编译过程中这个扩展名是可以自己定的,另不用.cs也是可以的,建一个文件命名为:SimpleProgram.cs 输入下面的代码

 
 
  1. usingSystem;
  2. publicclassSimpleProgram
  3. {
  4. staticvoidMain()
  5. {
  6. Console.WriteLine(“Hello”);
  7. Console.ReadLine();
  8. }
  9. }

    保存,注意一下大小写,然后在命令行窗口里输入:csc SimpleProgram.cs,当然我们要首先进入文件所在目录 如果编译通过,在同一个文件夹里会出现一个SimpleProgram.exe,运行 就可以看到一个控制台程序 打印出Hello.

接着我们讲编译多个源文件

    编译多个源文件有几种方面:1.把所有的源文件编译成一个exe文件 2.把一些文件编译成dll,一些编译成exe 然后作为一个应用程序一起使用。

    先说第一个方法:做两个.cs文件

Program2.cs

 
 
  1. usingSystem
  2. publicclassProgram2
  3. {
  4. staticvoidMain()
  5. {
  6. Personp=newPerson(“dotLive”);
  7. Console.WriteLine(“Ourperson’
  8. snameis“+p.Name);
  9. }
  10. }

Person.cs

 
 
  1. usingSystem;
  2. publicclassPerson
  3. {
  4. privatestringname;
  5. publicPerson(strings)
  6. {
  7. name=s;
  8. }
  9. publicstringName
  10. {
  11. get{
  12. returnname;
  13. }
  14. set
  15. {
  16. name=value;
  17. }
  18. }
  19. }

    保存,命令行窗口中进入文件目录 输入:csc Program2.cs Person.cs   这个时候会在目录里生成一个exe文件,文件的名称跟第一个.cs的文件名相同,如果.cs文件很多的话 还有一个简单的写法:csc *.cs 就可以把当前目录里的所有.cs文件进行编译。

    现在说一下第二种方法,还是使用上面两个.cs文件

    首先输入 csc /t:library Person.cs命令 这时候会生成一个Person.dll文件,然后第二步输入命令 csc Program2.cs /r:Person.dll 这样就可以生成一个引用Person.dll的exe文件Program2.exe文件。

    这里出现了两个参数 /t 和 /r

    /t 是指定编译生成dll还是exe,在第一种方法中的命令csc *.cs 其实是一个简写,完整的写法是csc /t:exe *.cs,由于/t:exe是默认的选项可以不写, 还要说一句 这里的exe文件都是控制台应用程序(其他的以后再说)

    /r 的作用可以看成是引用了一个dll文件,格式可以写成csc program.cs /r:1.dll;2.dll;3.dll

    挂接多个dll,每个dll之间用分号隔开。

    接着我们再讲一个参数 /out 这个是给可执行文件命名的 比如:csc /out:MyApp.exe Program2.cs Person.cs 这样就可以生成一个叫做MyApp.exe的可执行文件。

    在C#编译过程中如果有多个.cs文件中存在Main函数 要怎么办?

    首先我们在Person.cs文件的Person类里添加一个Main函数

 
 
  1. usingSystem;
  2. publicclassPerson
  3. {
  4. privatestringname;
  5. publicPerson(strings)
  6. {
  7. name=s;
  8. }
  9. publicstringName
  10. {
  11. get{
  12. returnname;
  13. }
  14. set
  15. {
  16. name=value;
  17. }
  18. }
  19. //新增加一个Main函数
  20. staticvoidMain()
  21. {
  22. Personp=newPerson(“dotLive2”);
  23. Console.WriteLine(“Ourperson’
  24. snameis“+p.Name);
  25. }
  26. }

    这样一来如果按照原来的方法同时将两个文件编译进同一个exe时,便以一定会出错

    这时候我们再引入一个新的参数 /main

    在我们自己决定要使用哪个cs文件里的Main函数时 可以输入命令

    csc Program2.cs Person.cs /main Program2

    就是制定了以Program2里的Main函数为程序入口点了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值