zoukankan      html  css  js  c++  java
  • 一起谈.NET技术,.net其实也可以不拖控件的...... 狼人:

      随着时代的进步,说.net就是拖拖控件的人越来越少了,作为一个抱有"就是喜欢拖控件"想法的人,我还是不得不研究一下完全没有IDE的情况下怎么生存。

      国内的大部分无知而浅薄的".net程序员",完全是被横行的盗版IDE惯坏了。VS的确提供了一条生成和组织程序的捷径,但是它并没有把正路堵死。

      这里我就来说说如何像编写linux程序那样编写.net程序

      俗话说巧妇难为无米之炊,即使我们想要像Linux程序员那样写程序,首先我们还是要下载一套最新版SDK

    最新版 Microsoft Windows SDK for Windows 7 and .NET Framework 4

      然后我们需要建立一个编写程序的命令行环境,编辑一个bat文件

    PATH=%PATH%;C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
    PATH=%PATH%;C:\WINDOWS\Microsoft.NET\Framework\v3.5
    PATH=%PATH%;C:\Program Files\Vim\vim72
    CScript /H:CScript
    cmd /K

      .net和SDK的版本号大家自己按自己的实际情况改改就行了

      前三句是设置环境变量,没什么好说

      CScript /H:CScript 这一句是将windows脚本宿主调成命令行状态。

      cmd /K是让bat文件结束之后不退出命令行

      现在我们运行这个bat文件,就得到了一个编写.net程序的命令行环境。

      在这个命令行窗口里面输入csc(这是C#编译器),可以看到你使用的.net版本信息。

      接下来可以开始写程序了,为了演示build,我们把一个hello world分成两个文件。

      你可以用你喜欢的文本编辑工具,一般都用记事本什么的

      如果要追求linux的感觉,可以装个vim for windows

      如果喜欢追求传统怀念Turbo C,试试直接在命令行输入 edit

      helloworld.cs

    using System;
    class Program
    {
        
    static void Main(string[] args)
        {
            Text t
    =new Text();
            t.text
    ="Hello world";
            Console.WriteLine(t.text);
        }
    }

    Text.cs

    using System;
    class Text
    {
        
    public string text;
    }

      写好后输入

      csc helloworld.cs Text.cs

      然后helloworld.exe就被编译出来了,

      这也就是VS在背后帮你做的事情了。

      不过事情到这里还没完,linux素以它强大的build脚本能力著称,makefile更是每一个linux下C/C++程序员的必修课,那windows呢?

      于是我们的makefile.js粉末登场了:

    var data={
        sources:[
    "Helloworld.cs","Text.cs"]
    }

    var voice = new ActiveXObject("SAPI.SpVoice");

    WScript.Echo(
    "Build begin");
    voice.Speak(
    "Building");

    (
    new ActiveXObject("WScript.Shell")).run("csc.exe "+data.sources.join(" "));

    WScript.Echo(
    "Build finished");
    voice.Speak(
    "Build finished");

      这是一个非常简单的例子,不过它很好地说明了如何利用windows脚本来编写makefile

      因为ide过于发达,windows脚本的强大能力似乎少有人挖掘。

      熟悉web的同学都了解JS的灵活性和表达能力,如何设计makefile各人有各人的审美观,也因项目结构各有不同,我就不再多讲了。

      这里面还有一点小花头,var voice = new ActiveXObject("SAPI.SpVoice");

      这个地方利用了一个微软的朗读组件,在绝大多数windows系统上都可以使用。

      在大型系统的构件过程中,语音提示还是蛮有用的,这一点就比linux shell强了。

      windows附带有几千个不同用途的ActiveX组件,你可以利用它们来做各种有趣的事情。

      BTW building那一声很像小时候玩的命令与征服 

  • 相关阅读:
    Binary Tree Zigzag Level Order Traversal
    Binary Tree Level Order Traversal
    Symmetric Tree
    Best Time to Buy and Sell Stock II
    Best Time to Buy and Sell Stock
    Triangle
    Populating Next Right Pointers in Each Node II
    Pascal's Triangle II
    Pascal's Triangle
    Populating Next Right Pointers in Each Node
  • 原文地址:https://www.cnblogs.com/waw/p/2158723.html
Copyright © 2011-2022 走看看